mirror of https://github.com/nmlgc/ReC98.git
6111 lines
109 KiB
NASM
6111 lines
109 KiB
NASM
public ___JumpToCatch__
|
||
___JumpToCatch__ proc far
|
||
push si
|
||
push di
|
||
mov sp, bx
|
||
mov bp, cx
|
||
push dx
|
||
push ax
|
||
retf
|
||
___JumpToCatch__ endp
|
||
|
||
pop di
|
||
pop si
|
||
retf
|
||
|
||
|
||
xx_1003C proc far
|
||
|
||
@@arg_0 = dword ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov ax, word ptr [bp+@@arg_0]
|
||
or ax, word ptr [bp+@@arg_0+2]
|
||
jnz short xx_10050
|
||
mov dx, ds
|
||
mov ax, offset aNotype ; "<notype>"
|
||
jmp short xx_1005D
|
||
|
||
xx_10050:
|
||
les bx, [bp+@@arg_0]
|
||
mov dx, word ptr [bp+@@arg_0+2]
|
||
mov ax, word ptr [bp+@@arg_0]
|
||
add ax, es:[bx+4]
|
||
|
||
xx_1005D:
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf
|
||
xx_1003C endp
|
||
|
||
|
||
|
||
xx_10061 proc far
|
||
|
||
@@var_A = word ptr -0Ah
|
||
@@var_8 = dword ptr -8
|
||
@@var_4 = dword ptr -4
|
||
@@arg_0 = dword ptr 6
|
||
@@arg_4 = dword ptr 0Ah
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 0Ah
|
||
push si
|
||
push di
|
||
mov dx, word ptr [bp+@@arg_0+2]
|
||
mov ax, word ptr [bp+@@arg_0]
|
||
cmp dx, word ptr [bp+@@arg_4+2]
|
||
jnz short xx_10079
|
||
cmp ax, word ptr [bp+@@arg_4]
|
||
jz short xx_100F5
|
||
|
||
xx_10079:
|
||
les bx, [bp+@@arg_0]
|
||
mov ax, es:[bx+2]
|
||
les bx, [bp+@@arg_4]
|
||
cmp ax, es:[bx+2]
|
||
jnz short xx_100ED
|
||
les bx, [bp+@@arg_0]
|
||
mov ax, es:[bx]
|
||
les bx, [bp+@@arg_4]
|
||
cmp ax, es:[bx]
|
||
jnz short xx_100ED
|
||
les bx, [bp+@@arg_0]
|
||
mov ax, es:[bx+2]
|
||
les bx, [bp+@@arg_4]
|
||
or ax, es:[bx+2]
|
||
test al, 80h
|
||
jnz short xx_100ED
|
||
les bx, [bp+@@arg_0]
|
||
mov dx, word ptr [bp+@@arg_0+2]
|
||
mov ax, word ptr [bp+@@arg_0]
|
||
add ax, es:[bx+4]
|
||
mov word ptr [bp+@@var_4+2], dx
|
||
mov word ptr [bp+@@var_4], ax
|
||
les bx, [bp+@@arg_4]
|
||
mov dx, word ptr [bp+@@arg_4+2]
|
||
mov ax, word ptr [bp+@@arg_4]
|
||
add ax, es:[bx+4]
|
||
mov word ptr [bp+@@var_8+2], dx
|
||
mov word ptr [bp+@@var_8], ax
|
||
|
||
xx_100CF:
|
||
les bx, [bp+@@var_4]
|
||
mov al, es:[bx]
|
||
cbw
|
||
mov dx, ax
|
||
inc word ptr [bp+@@var_4]
|
||
les bx, [bp+@@var_8]
|
||
mov al, es:[bx]
|
||
cbw
|
||
mov [bp+@@var_A], ax
|
||
inc word ptr [bp+@@var_8]
|
||
cmp dx, [bp+@@var_A]
|
||
jz short xx_100F1
|
||
|
||
xx_100ED:
|
||
xor ax, ax
|
||
jmp short xx_100F8
|
||
|
||
xx_100F1:
|
||
or dx, dx
|
||
jnz short xx_100CF
|
||
|
||
xx_100F5:
|
||
mov ax, 1
|
||
|
||
xx_100F8:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
xx_10061 endp
|
||
|
||
|
||
|
||
xx_100FE proc near
|
||
|
||
@@var_A = dword ptr -0Ah
|
||
@@var_6 = word ptr -6
|
||
@@var_4 = dword ptr -4
|
||
@@arg_0 = dword ptr 4
|
||
@@arg_4 = word ptr 8
|
||
@@arg_6 = word ptr 0Ah
|
||
@@arg_8 = word ptr 0Ch
|
||
@@arg_A = word ptr 0Eh
|
||
@@arg_C = word ptr 10h
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 0Ah
|
||
push si
|
||
push di
|
||
les bx, [bp+@@arg_0]
|
||
mov dx, word ptr [bp+@@arg_0+2]
|
||
mov ax, word ptr [bp+@@arg_0]
|
||
add ax, es:[bx+0Ch]
|
||
mov word ptr [bp+@@var_4+2], dx
|
||
mov word ptr [bp+@@var_4], ax
|
||
|
||
xx_10119:
|
||
les bx, [bp+@@var_4]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_A+2], dx
|
||
mov word ptr [bp+@@var_A], ax
|
||
mov ax, word ptr [bp+@@var_A]
|
||
or ax, word ptr [bp+@@var_A+2]
|
||
jz short xx_101AD
|
||
les bx, [bp+@@var_4]
|
||
test byte ptr es:[bx+6], 8
|
||
jnz short xx_101A6
|
||
cmp [bp+@@arg_C], 0
|
||
jz short xx_10155
|
||
les bx, [bp+@@var_4]
|
||
mov ax, es:[bx+6]
|
||
and ax, 3
|
||
cmp ax, 3
|
||
jnz short xx_10155
|
||
mov ax, 1
|
||
jmp short xx_10157
|
||
|
||
xx_10155:
|
||
xor ax, ax
|
||
|
||
xx_10157:
|
||
mov [bp+@@var_6], ax
|
||
push word ptr [bp+@@var_A+2]
|
||
push word ptr [bp+@@var_A]
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
call xx_10061
|
||
add sp, 8
|
||
or ax, ax
|
||
jz short xx_1017A
|
||
cmp [bp+@@var_6], 0
|
||
jz short xx_1017A
|
||
jmp xx_1023D
|
||
|
||
xx_1017A:
|
||
les bx, [bp+@@var_A]
|
||
test byte ptr es:[bx+8], 4
|
||
jz short xx_101A6
|
||
push [bp+@@var_6]
|
||
push [bp+@@arg_A]
|
||
push [bp+@@arg_8]
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
push word ptr [bp+@@var_A+2]
|
||
push word ptr [bp+@@var_A]
|
||
call xx_100FE
|
||
add sp, 0Eh
|
||
or ax, ax
|
||
jz short xx_101A6
|
||
jmp xx_1023D
|
||
|
||
xx_101A6:
|
||
add word ptr [bp+@@var_4], 8
|
||
jmp xx_10119
|
||
|
||
xx_101AD:
|
||
les bx, [bp+@@arg_0]
|
||
mov dx, word ptr [bp+@@arg_0+2]
|
||
mov ax, word ptr [bp+@@arg_0]
|
||
add ax, es:[bx+0Ah]
|
||
mov word ptr [bp+@@var_4+2], dx
|
||
mov word ptr [bp+@@var_4], ax
|
||
|
||
xx_101C0:
|
||
les bx, [bp+@@var_4]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_A+2], dx
|
||
mov word ptr [bp+@@var_A], ax
|
||
mov ax, word ptr [bp+@@var_A]
|
||
or ax, word ptr [bp+@@var_A+2]
|
||
jz short xx_10249
|
||
cmp [bp+@@arg_C], 0
|
||
jz short xx_101F2
|
||
les bx, [bp+@@var_4]
|
||
mov ax, es:[bx+6]
|
||
and ax, 3
|
||
cmp ax, 3
|
||
jnz short xx_101F2
|
||
mov ax, 1
|
||
jmp short xx_101F4
|
||
|
||
xx_101F2:
|
||
xor ax, ax
|
||
|
||
xx_101F4:
|
||
mov [bp+@@var_6], ax
|
||
push word ptr [bp+@@var_A+2]
|
||
push word ptr [bp+@@var_A]
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
call xx_10061
|
||
add sp, 8
|
||
or ax, ax
|
||
jz short xx_10214
|
||
cmp [bp+@@var_6], 0
|
||
jnz short xx_1023D
|
||
|
||
xx_10214:
|
||
les bx, [bp+@@var_A]
|
||
test byte ptr es:[bx+8], 4
|
||
jz short xx_10242
|
||
push [bp+@@var_6]
|
||
push [bp+@@arg_A]
|
||
push [bp+@@arg_8]
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
push word ptr [bp+@@var_A+2]
|
||
push word ptr [bp+@@var_A]
|
||
call xx_100FE
|
||
add sp, 0Eh
|
||
or ax, ax
|
||
jz short xx_10242
|
||
|
||
xx_1023D:
|
||
mov ax, 1
|
||
jmp short xx_1024B
|
||
|
||
xx_10242:
|
||
add word ptr [bp+@@var_4], 8
|
||
jmp xx_101C0
|
||
|
||
xx_10249:
|
||
xor ax, ax
|
||
|
||
xx_1024B:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retn
|
||
xx_100FE endp
|
||
|
||
|
||
|
||
xx_10251 proc near
|
||
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = dword ptr 4
|
||
@@arg_4 = dword ptr 8
|
||
@@arg_8 = word ptr 0Ch
|
||
@@arg_A = word ptr 0Eh
|
||
@@arg_C = word ptr 10h
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 4
|
||
push si
|
||
push di
|
||
mov cx, [bp+@@arg_8]
|
||
|
||
xx_1025C:
|
||
mov dx, word ptr [bp+@@arg_0+2]
|
||
mov ax, word ptr [bp+@@arg_0]
|
||
cmp dx, word ptr [bp+@@arg_4+2]
|
||
jnz short xx_1026F
|
||
cmp ax, word ptr [bp+@@arg_4]
|
||
jnz short xx_1026F
|
||
jmp xx_10384
|
||
|
||
xx_1026F:
|
||
les bx, [bp+@@arg_0]
|
||
mov ax, es:[bx+2]
|
||
mov [bp+@@var_2], ax
|
||
les bx, [bp+@@arg_4]
|
||
mov ax, es:[bx+2]
|
||
mov [bp+@@var_4], ax
|
||
mov ax, [bp+@@var_2]
|
||
and ax, [bp+@@var_4]
|
||
test al, 10h
|
||
jz short xx_102FF
|
||
and [bp+@@var_2], 3300h
|
||
and [bp+@@var_4], 3300h
|
||
mov ax, [bp+@@var_2]
|
||
cmp ax, [bp+@@var_4]
|
||
jnz short xx_102A2
|
||
jmp xx_10345
|
||
|
||
xx_102A2:
|
||
or cx, cx
|
||
jz short xx_102A9
|
||
jmp xx_103BD
|
||
|
||
xx_102A9:
|
||
mov ax, [bp+@@var_2]
|
||
and ax, 300h
|
||
mov dx, [bp+@@var_4]
|
||
and dx, 300h
|
||
cmp ax, dx
|
||
jz short xx_102DF
|
||
mov ax, [bp+@@var_4]
|
||
and ax, 300h
|
||
not ax
|
||
and ax, [bp+@@var_2]
|
||
test ah, 3
|
||
jz short xx_102CD
|
||
jmp xx_103BD
|
||
|
||
xx_102CD:
|
||
or [bp+@@var_2], 300h
|
||
or [bp+@@var_4], 300h
|
||
mov ax, [bp+@@var_2]
|
||
cmp ax, [bp+@@var_4]
|
||
jz short xx_10345
|
||
|
||
xx_102DF:
|
||
mov ax, [bp+@@var_2]
|
||
or ax, 3000h
|
||
mov dx, [bp+@@var_4]
|
||
or dx, 3000h
|
||
cmp ax, dx
|
||
jz short xx_102F3
|
||
jmp xx_103BD
|
||
|
||
xx_102F3:
|
||
test byte ptr [bp+@@var_2+1], 10h
|
||
jnz short xx_102FC
|
||
jmp xx_103BD
|
||
|
||
xx_102FC:
|
||
jmp xx_10384
|
||
|
||
xx_102FF:
|
||
mov ax, [bp+@@var_2]
|
||
and ax, [bp+@@var_4]
|
||
test ah, 4
|
||
jz short xx_1036D
|
||
les bx, [bp+@@arg_0]
|
||
mov dx, es:[bx+0Ch]
|
||
mov ax, es:[bx+0Ah]
|
||
les bx, [bp+@@arg_4]
|
||
cmp dx, es:[bx+0Ch]
|
||
jnz short xx_10324
|
||
cmp ax, es:[bx+0Ah]
|
||
jz short xx_10345
|
||
|
||
xx_10324:
|
||
or cx, cx
|
||
jz short xx_1032B
|
||
jmp xx_103BD
|
||
|
||
xx_1032B:
|
||
les bx, [bp+@@arg_0]
|
||
mov dx, es:[bx+0Ch]
|
||
mov ax, es:[bx+0Ah]
|
||
les bx, [bp+@@arg_4]
|
||
or ax, es:[bx+0Ah]
|
||
or dx, es:[bx+0Ch]
|
||
or ax, dx
|
||
jnz short xx_103BD
|
||
|
||
xx_10345:
|
||
mov cx, 1
|
||
les bx, [bp+@@arg_0]
|
||
mov dx, es:[bx+8]
|
||
mov ax, es:[bx+6]
|
||
mov word ptr [bp+@@arg_0+2], dx
|
||
mov word ptr [bp+@@arg_0], ax
|
||
les bx, [bp+@@arg_4]
|
||
mov dx, es:[bx+8]
|
||
mov ax, es:[bx+6]
|
||
mov word ptr [bp+@@arg_4+2], dx
|
||
mov word ptr [bp+@@arg_4], ax
|
||
jmp xx_1025C
|
||
|
||
xx_1036D:
|
||
push word ptr [bp+@@arg_4+2]
|
||
push word ptr [bp+@@arg_4]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
call xx_10061
|
||
add sp, 8
|
||
or ax, ax
|
||
jz short xx_10389
|
||
|
||
xx_10384:
|
||
mov ax, 1
|
||
jmp short xx_103BF
|
||
|
||
xx_10389:
|
||
test byte ptr [bp+@@var_2], 2
|
||
jz short xx_103BD
|
||
test byte ptr [bp+@@var_4], 1
|
||
jz short xx_103BD
|
||
les bx, [bp+@@arg_0]
|
||
test byte ptr es:[bx+8], 4
|
||
jz short xx_103BD
|
||
mov ax, 1
|
||
push ax
|
||
push [bp+@@arg_C]
|
||
push [bp+@@arg_A]
|
||
push word ptr [bp+@@arg_4+2]
|
||
push word ptr [bp+@@arg_4]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
call xx_100FE
|
||
add sp, 0Eh
|
||
jmp short xx_103BF
|
||
|
||
xx_103BD:
|
||
xor ax, ax
|
||
|
||
xx_103BF:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retn
|
||
xx_10251 endp
|
||
|
||
|
||
|
||
; int __cdecl __far xx_103C5(size_t size)
|
||
xx_103C5 proc far
|
||
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@size = word ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 4
|
||
push si
|
||
push di
|
||
push [bp+@@size] ; size
|
||
nopcall _malloc
|
||
pop cx
|
||
mov [bp+@@var_2], dx
|
||
mov [bp+@@var_4], ax
|
||
mov ax, [bp+@@var_4]
|
||
or ax, [bp+@@var_2]
|
||
jnz short xx_10415
|
||
cmp [bp+@@size], 80h ; '<27>'
|
||
ja short xx_103F7
|
||
les bx, ss:16h
|
||
test byte ptr es:[bx+4], 1
|
||
jz short xx_103FC
|
||
|
||
xx_103F7:
|
||
nopcall _abort
|
||
|
||
xx_103FC:
|
||
les bx, ss:16h
|
||
or word ptr es:[bx+4], 1
|
||
les bx, ss:16h
|
||
mov dx, es:[bx+22h]
|
||
mov ax, es:[bx+20h]
|
||
jmp short xx_1041B
|
||
|
||
xx_10415:
|
||
mov dx, [bp+@@var_2]
|
||
mov ax, [bp+@@var_4]
|
||
|
||
xx_1041B:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
xx_103C5 endp
|
||
|
||
|
||
|
||
xx_10421 proc far
|
||
|
||
block = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
les bx, ss:16h
|
||
mov dx, es:[bx+22h]
|
||
mov ax, es:[bx+20h]
|
||
cmp dx, [bp+@@arg_2]
|
||
jnz short xx_10449
|
||
cmp ax, [bp+block]
|
||
jnz short xx_10449
|
||
les bx, ss:16h
|
||
and word ptr es:[bx+4], 0FFFEh
|
||
jmp short xx_10456
|
||
|
||
xx_10449:
|
||
push [bp+@@arg_2]
|
||
push [bp+block] ; block
|
||
nopcall _free
|
||
pop cx
|
||
pop cx
|
||
|
||
xx_10456:
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf
|
||
xx_10421 endp
|
||
|
||
|
||
|
||
xx_1045A proc near
|
||
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = dword ptr 4
|
||
@@arg_4 = word ptr 8
|
||
@@arg_6 = word ptr 0Ah
|
||
@@arg_8 = dword ptr 0Ch
|
||
@@arg_C = byte ptr 10h
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 4
|
||
push si
|
||
push di
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
xor ax, ax
|
||
push ax
|
||
push word ptr [bp+@@arg_8+2]
|
||
push word ptr [bp+@@arg_8]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
call xx_10251
|
||
add sp, 0Eh
|
||
or ax, ax
|
||
jz short xx_10484
|
||
jmp xx_10520
|
||
|
||
xx_10484:
|
||
les bx, [bp+@@arg_0]
|
||
mov ax, es:[bx+2]
|
||
mov [bp+@@var_2], ax
|
||
les bx, [bp+@@arg_8]
|
||
mov ax, es:[bx+2]
|
||
mov [bp+@@var_4], ax
|
||
test byte ptr [bp+@@var_4], 20h
|
||
jz short xx_10514
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
mov ax, 1
|
||
push ax
|
||
les bx, [bp+@@arg_8]
|
||
push word ptr es:[bx+8]
|
||
push word ptr es:[bx+6]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
call xx_10251
|
||
add sp, 0Eh
|
||
or ax, ax
|
||
jnz short xx_10520
|
||
les bx, [bp+@@arg_8]
|
||
mov dx, es:[bx+8]
|
||
mov ax, es:[bx+6]
|
||
mov word ptr [bp+@@arg_8+2], dx
|
||
mov word ptr [bp+@@arg_8], ax
|
||
les bx, [bp+@@arg_8]
|
||
mov ax, es:[bx+2]
|
||
mov [bp+@@var_4], ax
|
||
test byte ptr [bp+@@var_4], 10h
|
||
jz short xx_10557
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
xor ax, ax
|
||
push ax
|
||
push word ptr [bp+@@arg_8+2]
|
||
push word ptr [bp+@@arg_8]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
call xx_10251
|
||
add sp, 0Eh
|
||
or ax, ax
|
||
jnz short xx_10520
|
||
mov ax, [bp+@@var_2]
|
||
and ax, 3000h
|
||
mov dx, [bp+@@var_4]
|
||
and dx, 3000h
|
||
cmp ax, dx
|
||
jnz short xx_10557
|
||
|
||
xx_10514:
|
||
test byte ptr [bp+@@var_4], 10h
|
||
jz short xx_10557
|
||
test [bp+@@arg_C], 1
|
||
jz short xx_10525
|
||
|
||
xx_10520:
|
||
mov ax, 1
|
||
jmp short xx_10559
|
||
|
||
xx_10525:
|
||
test byte ptr [bp+@@var_2], 10h
|
||
jz short xx_10557
|
||
test byte ptr [bp+@@var_2+1], 20h
|
||
jz short xx_10537
|
||
test byte ptr [bp+@@var_4+1], 20h
|
||
jz short xx_10557
|
||
|
||
xx_10537:
|
||
test byte ptr [bp+@@var_4], 40h
|
||
jz short xx_10557
|
||
mov ax, [bp+@@var_2]
|
||
and ax, 300h
|
||
mov dx, [bp+@@var_4]
|
||
and dx, 300h
|
||
cmp ax, dx
|
||
jnz short xx_10553
|
||
mov ax, 1
|
||
jmp short xx_10555
|
||
|
||
xx_10553:
|
||
xor ax, ax
|
||
|
||
xx_10555:
|
||
jmp short xx_10559
|
||
|
||
xx_10557:
|
||
xor ax, ax
|
||
|
||
xx_10559:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retn
|
||
xx_1045A endp
|
||
|
||
|
||
|
||
xx_1055F proc near
|
||
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = dword ptr 4
|
||
@@arg_4 = word ptr 8
|
||
@@arg_6 = word ptr 0Ah
|
||
@@arg_8 = dword ptr 0Ch
|
||
@@arg_C = word ptr 10h
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 4
|
||
push si
|
||
push di
|
||
les bx, ss:16h
|
||
mov ax, es:[bx+6]
|
||
mov [bp+@@var_2], ax
|
||
push ds
|
||
mov ds, [bp+@@var_2]
|
||
mov ax, [bp+@@arg_C]
|
||
and ax, 1
|
||
mov [bp+@@var_4], ax
|
||
test byte ptr [bp+@@arg_C], 4
|
||
jz short xx_1058A
|
||
or [bp+@@var_4], 2
|
||
|
||
xx_1058A:
|
||
test byte ptr [bp+@@arg_C], 2
|
||
jz short xx_1059E
|
||
or [bp+@@var_4], 4
|
||
test byte ptr [bp+@@arg_C+1], 1
|
||
jnz short xx_1059E
|
||
or [bp+@@var_4], 20h
|
||
|
||
xx_1059E:
|
||
test byte ptr [bp+@@arg_C], 20h
|
||
jz short xx_105A8
|
||
or [bp+@@var_4], 8
|
||
|
||
xx_105A8:
|
||
test byte ptr [bp+@@arg_C], 80h
|
||
jz short xx_105B2
|
||
or [bp+@@var_4], 10h
|
||
|
||
xx_105B2:
|
||
test byte ptr [bp+@@arg_C+1], 10h
|
||
jnz short xx_105BB
|
||
jmp xx_10740
|
||
|
||
xx_105BB:
|
||
mov bx, [bp+@@var_4]
|
||
cmp bx, 17h
|
||
jbe short xx_105C6
|
||
jmp xx_10846
|
||
|
||
xx_105C6:
|
||
add bx, bx
|
||
jmp cs:xx_1087D[bx]
|
||
|
||
xx_105CD:
|
||
push [bp+@@arg_4]
|
||
xor ax, ax
|
||
push ax
|
||
push word ptr [bp+@@arg_0]
|
||
call word ptr [bp+@@arg_8]
|
||
add sp, 6
|
||
jmp xx_10846
|
||
|
||
xx_105DF:
|
||
push [bp+@@arg_4]
|
||
xor ax, ax
|
||
push ax
|
||
push word ptr [bp+@@arg_0]
|
||
call [bp+@@arg_8]
|
||
add sp, 6
|
||
jmp xx_10846
|
||
|
||
xx_105F1:
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
xor ax, ax
|
||
push ax
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
call word ptr [bp+@@arg_8]
|
||
jmp short xx_10617
|
||
|
||
xx_10605:
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
xor ax, ax
|
||
push ax
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
call [bp+@@arg_8]
|
||
|
||
xx_10617:
|
||
add sp, 0Ah
|
||
jmp xx_10846
|
||
|
||
xx_1061D:
|
||
xor ax, ax
|
||
push ax
|
||
push [bp+@@arg_4]
|
||
push word ptr [bp+@@arg_0]
|
||
call word ptr [bp+@@arg_8]
|
||
jmp xx_10846
|
||
|
||
xx_1062C:
|
||
xor ax, ax
|
||
push ax
|
||
push [bp+@@arg_4]
|
||
push word ptr [bp+@@arg_0]
|
||
call [bp+@@arg_8]
|
||
jmp xx_10846
|
||
|
||
xx_1063B:
|
||
xor ax, ax
|
||
push ax
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
call word ptr [bp+@@arg_8]
|
||
jmp short xx_10661
|
||
|
||
xx_1064F:
|
||
xor ax, ax
|
||
push ax
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
call [bp+@@arg_8]
|
||
|
||
xx_10661:
|
||
jmp xx_10846
|
||
|
||
xx_10664:
|
||
mov dx, word ptr [bp+@@arg_0]
|
||
mov bx, [bp+@@arg_4]
|
||
xor ax, ax
|
||
push bx
|
||
pop bx
|
||
call word ptr [bp+@@arg_8]
|
||
jmp xx_10846
|
||
|
||
xx_10674:
|
||
mov dx, word ptr [bp+@@arg_0]
|
||
mov bx, [bp+@@arg_4]
|
||
xor ax, ax
|
||
|
||
xx_1067C:
|
||
push bx
|
||
pop bx
|
||
call [bp+@@arg_8]
|
||
jmp xx_10846
|
||
|
||
xx_10684:
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
xor ax, ax
|
||
|
||
xx_10692:
|
||
call word ptr [bp+@@arg_8]
|
||
jmp short xx_106A8
|
||
|
||
xx_10697:
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
xor ax, ax
|
||
|
||
xx_106A5:
|
||
call [bp+@@arg_8]
|
||
|
||
xx_106A8:
|
||
jmp xx_10846
|
||
|
||
xx_106AB:
|
||
mov si, word ptr [bp+@@arg_0]
|
||
push [bp+@@arg_4]
|
||
xor ax, ax
|
||
push ax
|
||
call word ptr [bp+@@arg_8]
|
||
jmp short xx_106C5
|
||
|
||
xx_106B9:
|
||
mov si, word ptr [bp+@@arg_0]
|
||
push [bp+@@arg_4]
|
||
xor ax, ax
|
||
push ax
|
||
|
||
xx_106C2:
|
||
call [bp+@@arg_8]
|
||
|
||
xx_106C5:
|
||
pop cx
|
||
pop cx
|
||
jmp xx_10846
|
||
|
||
xx_106CA:
|
||
push ds
|
||
lds si, [bp+@@arg_0]
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
xor ax, ax
|
||
push ax
|
||
call word ptr [bp+@@arg_8]
|
||
add sp, 6
|
||
pop ds
|
||
jmp xx_10846
|
||
|
||
xx_106E1:
|
||
push ds
|
||
lds si, [bp+@@arg_0]
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
xor ax, ax
|
||
push ax
|
||
call [bp+@@arg_8]
|
||
add sp, 6
|
||
pop ds
|
||
jmp xx_10846
|
||
|
||
xx_106F8:
|
||
mov si, word ptr [bp+@@arg_0]
|
||
xor ax, ax
|
||
push ax
|
||
push [bp+@@arg_4]
|
||
|
||
xx_10701:
|
||
call word ptr [bp+@@arg_8]
|
||
jmp short xx_10712
|
||
|
||
xx_10706:
|
||
mov si, word ptr [bp+@@arg_0]
|
||
xor ax, ax
|
||
push ax
|
||
push [bp+@@arg_4]
|
||
|
||
xx_1070F:
|
||
call [bp+@@arg_8]
|
||
|
||
xx_10712:
|
||
jmp xx_10846
|
||
|
||
xx_10715:
|
||
push ds
|
||
lds si, [bp+@@arg_0]
|
||
xor ax, ax
|
||
push ax
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
call word ptr [bp+@@arg_8]
|
||
pop ds
|
||
jmp xx_10846
|
||
|
||
xx_10729:
|
||
push ds
|
||
lds si, [bp+@@arg_0]
|
||
xor ax, ax
|
||
push ax
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
call [bp+@@arg_8]
|
||
pop ds
|
||
jmp xx_10846
|
||
|
||
xx_1073D:
|
||
jmp xx_10846
|
||
|
||
xx_10740:
|
||
mov bx, [bp+@@var_4]
|
||
cmp bx, 17h
|
||
jbe short xx_1074B
|
||
jmp xx_10846
|
||
|
||
xx_1074B:
|
||
add bx, bx
|
||
jmp cs:xx_1084D[bx]
|
||
|
||
xx_10752:
|
||
push [bp+@@arg_4]
|
||
push word ptr [bp+@@arg_0]
|
||
call word ptr [bp+@@arg_8]
|
||
jmp xx_106C5
|
||
|
||
xx_1075E:
|
||
push [bp+@@arg_4]
|
||
push word ptr [bp+@@arg_0]
|
||
jmp xx_106C2
|
||
|
||
xx_10767:
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
call word ptr [bp+@@arg_8]
|
||
jmp short xx_10787
|
||
|
||
xx_10778:
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
call [bp+@@arg_8]
|
||
|
||
xx_10787:
|
||
add sp, 8
|
||
jmp xx_10846
|
||
|
||
xx_1078D:
|
||
push [bp+@@arg_4]
|
||
push word ptr [bp+@@arg_0]
|
||
jmp xx_10701
|
||
|
||
xx_10796:
|
||
push [bp+@@arg_4]
|
||
push word ptr [bp+@@arg_0]
|
||
jmp xx_1070F
|
||
|
||
xx_1079F:
|
||
mov ax, word ptr [bp+@@arg_0]
|
||
mov bx, [bp+@@arg_4]
|
||
push bx
|
||
pop bx
|
||
call word ptr [bp+@@arg_8]
|
||
jmp xx_10846
|
||
|
||
xx_107AD:
|
||
mov ax, word ptr [bp+@@arg_0]
|
||
mov bx, [bp+@@arg_4]
|
||
jmp xx_1067C
|
||
|
||
xx_107B6:
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
jmp xx_10692
|
||
|
||
xx_107C5:
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
jmp xx_106A5
|
||
|
||
xx_107D4:
|
||
mov si, word ptr [bp+@@arg_0]
|
||
push [bp+@@arg_4]
|
||
call word ptr [bp+@@arg_8]
|
||
pop cx
|
||
jmp short xx_10846
|
||
|
||
xx_107E0:
|
||
mov si, word ptr [bp+@@arg_0]
|
||
push [bp+@@arg_4]
|
||
call [bp+@@arg_8]
|
||
pop cx
|
||
jmp short xx_10846
|
||
|
||
xx_107EC:
|
||
push ds
|
||
lds si, [bp+@@arg_0]
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
call word ptr [bp+@@arg_8]
|
||
pop cx
|
||
pop cx
|
||
pop ds
|
||
jmp short xx_10846
|
||
|
||
xx_107FE:
|
||
push ds
|
||
lds si, [bp+@@arg_0]
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
call [bp+@@arg_8]
|
||
pop cx
|
||
pop cx
|
||
pop ds
|
||
jmp short xx_10846
|
||
|
||
xx_10810:
|
||
mov si, word ptr [bp+@@arg_0]
|
||
push [bp+@@arg_4]
|
||
call word ptr [bp+@@arg_8]
|
||
jmp short xx_10846
|
||
|
||
xx_1081B:
|
||
mov si, word ptr [bp+@@arg_0]
|
||
push [bp+@@arg_4]
|
||
call [bp+@@arg_8]
|
||
jmp short xx_10846
|
||
|
||
xx_10826:
|
||
push ds
|
||
lds si, [bp+@@arg_0]
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
call word ptr [bp+@@arg_8]
|
||
pop ds
|
||
jmp short xx_10846
|
||
|
||
xx_10836:
|
||
push ds
|
||
lds si, [bp+@@arg_0]
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
call [bp+@@arg_8]
|
||
pop ds
|
||
jmp short $+2
|
||
|
||
xx_10846:
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retn
|
||
xx_1055F endp
|
||
|
||
xx_1084D dw offset xx_10752
|
||
dw offset xx_1075E
|
||
dw offset xx_10767
|
||
dw offset xx_10778
|
||
dw offset xx_1078D
|
||
dw offset xx_10796
|
||
dw offset xx_107B6
|
||
dw offset xx_107C5
|
||
dw offset xx_1079F
|
||
dw offset xx_107AD
|
||
dw offset xx_107B6
|
||
dw offset xx_107C5
|
||
dw offset xx_10846
|
||
dw offset xx_10846
|
||
dw offset xx_10846
|
||
dw offset xx_10846
|
||
dw offset xx_107D4
|
||
dw offset xx_107E0
|
||
dw offset xx_107EC
|
||
dw offset xx_107FE
|
||
dw offset xx_10810
|
||
dw offset xx_1081B
|
||
dw offset xx_10826
|
||
dw offset xx_10836
|
||
xx_1087D dw offset xx_105CD
|
||
dw offset xx_105DF
|
||
dw offset xx_105F1
|
||
dw offset xx_10605
|
||
dw offset xx_1061D
|
||
dw offset xx_1062C
|
||
dw offset xx_1063B
|
||
dw offset xx_1064F
|
||
dw offset xx_10664
|
||
dw offset xx_10674
|
||
dw offset xx_10684
|
||
dw offset xx_10697
|
||
dw offset xx_1073D
|
||
dw offset xx_1073D
|
||
dw offset xx_1073D
|
||
dw offset xx_1073D
|
||
dw offset xx_106AB
|
||
dw offset xx_106B9
|
||
dw offset xx_106CA
|
||
dw offset xx_106E1
|
||
dw offset xx_106F8
|
||
dw offset xx_10706
|
||
dw offset xx_10715
|
||
dw offset xx_10729
|
||
|
||
|
||
xx_108AD proc near
|
||
|
||
@@var_6 = word ptr -6
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = dword ptr 4
|
||
@@arg_4 = dword ptr 8
|
||
@@arg_8 = word ptr 0Ch
|
||
@@arg_A = word ptr 0Eh
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 6
|
||
push si
|
||
push di
|
||
cmp [bp+@@arg_A], 0
|
||
jz short xx_108C0
|
||
mov ax, 2
|
||
jmp short xx_108C2
|
||
|
||
xx_108C0:
|
||
xor ax, ax
|
||
|
||
xx_108C2:
|
||
mov [bp+@@var_2], ax
|
||
les bx, ss:16h
|
||
mov ax, es:[bx+6]
|
||
mov [bp+@@var_4], ax
|
||
push ds
|
||
mov ds, [bp+@@var_4]
|
||
mov ax, [bp+@@arg_8]
|
||
and ax, 1
|
||
mov [bp+@@var_6], ax
|
||
test byte ptr [bp+@@arg_8], 4
|
||
jz short xx_108E8
|
||
or [bp+@@var_6], 2
|
||
|
||
xx_108E8:
|
||
test byte ptr [bp+@@arg_8], 2
|
||
jz short xx_108FC
|
||
or [bp+@@var_6], 4
|
||
test byte ptr [bp+@@arg_8+1], 1
|
||
jnz short xx_108FC
|
||
or [bp+@@var_6], 20h
|
||
|
||
xx_108FC:
|
||
test byte ptr [bp+@@arg_8], 20h
|
||
jz short xx_10906
|
||
or [bp+@@var_6], 8
|
||
|
||
xx_10906:
|
||
test byte ptr [bp+@@arg_8], 80h
|
||
jz short xx_10910
|
||
or [bp+@@var_6], 10h
|
||
|
||
xx_10910:
|
||
mov bx, [bp+@@var_6]
|
||
cmp bx, 17h
|
||
jbe short xx_1091B
|
||
jmp xx_10A2E
|
||
|
||
xx_1091B:
|
||
add bx, bx
|
||
jmp cs:xx_10A35[bx]
|
||
|
||
xx_10922:
|
||
push [bp+@@var_2]
|
||
push word ptr [bp+@@arg_0]
|
||
call word ptr [bp+@@arg_4]
|
||
pop cx
|
||
pop cx
|
||
jmp xx_10A2E
|
||
|
||
xx_10930:
|
||
push [bp+@@var_2]
|
||
push word ptr [bp+@@arg_0]
|
||
call [bp+@@arg_4]
|
||
pop cx
|
||
pop cx
|
||
jmp xx_10A2E
|
||
|
||
xx_1093E:
|
||
push [bp+@@var_2]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
call word ptr [bp+@@arg_4]
|
||
add sp, 6
|
||
jmp xx_10A2E
|
||
|
||
xx_10950:
|
||
push [bp+@@var_2]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
call [bp+@@arg_4]
|
||
add sp, 6
|
||
jmp xx_10A2E
|
||
|
||
xx_10962:
|
||
push [bp+@@var_2]
|
||
push word ptr [bp+@@arg_0]
|
||
call word ptr [bp+@@arg_4]
|
||
jmp short xx_109C8
|
||
|
||
xx_1096D:
|
||
push [bp+@@var_2]
|
||
push word ptr [bp+@@arg_0]
|
||
jmp short xx_109C5
|
||
|
||
xx_10975:
|
||
push [bp+@@var_2]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
call word ptr [bp+@@arg_4]
|
||
jmp short xx_1098F
|
||
|
||
xx_10983:
|
||
push [bp+@@var_2]
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
call [bp+@@arg_4]
|
||
|
||
xx_1098F:
|
||
jmp xx_10A2E
|
||
|
||
xx_10992:
|
||
mov bx, word ptr [bp+@@arg_0]
|
||
mov ax, [bp+@@var_2]
|
||
push bx
|
||
pop bx
|
||
call word ptr [bp+@@arg_4]
|
||
jmp xx_10A2E
|
||
|
||
xx_109A0:
|
||
mov bx, word ptr [bp+@@arg_0]
|
||
mov ax, [bp+@@var_2]
|
||
push bx
|
||
pop bx
|
||
call [bp+@@arg_4]
|
||
jmp xx_10A2E
|
||
|
||
xx_109AE:
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
mov ax, [bp+@@var_2]
|
||
call word ptr [bp+@@arg_4]
|
||
jmp short xx_109C8
|
||
|
||
xx_109BC:
|
||
push word ptr [bp+@@arg_0+2]
|
||
push word ptr [bp+@@arg_0]
|
||
mov ax, [bp+@@var_2]
|
||
|
||
xx_109C5:
|
||
call [bp+@@arg_4]
|
||
|
||
xx_109C8:
|
||
jmp short xx_10A2E
|
||
|
||
xx_109CA:
|
||
mov si, word ptr [bp+@@arg_0]
|
||
push [bp+@@var_2]
|
||
call word ptr [bp+@@arg_4]
|
||
pop cx
|
||
jmp short xx_10A2E
|
||
|
||
xx_109D6:
|
||
mov si, word ptr [bp+@@arg_0]
|
||
push [bp+@@var_2]
|
||
call [bp+@@arg_4]
|
||
pop cx
|
||
jmp short xx_10A2E
|
||
|
||
xx_109E2:
|
||
push ds
|
||
lds si, [bp+@@arg_0]
|
||
push [bp+@@var_2]
|
||
call word ptr [bp+@@arg_4]
|
||
pop cx
|
||
pop ds
|
||
jmp short xx_10A2E
|
||
|
||
xx_109F0:
|
||
push ds
|
||
lds si, [bp+@@arg_0]
|
||
push [bp+@@var_2]
|
||
call [bp+@@arg_4]
|
||
pop cx
|
||
pop ds
|
||
jmp short xx_10A2E
|
||
|
||
xx_109FE:
|
||
mov si, word ptr [bp+@@arg_0]
|
||
push [bp+@@var_2]
|
||
call word ptr [bp+@@arg_4]
|
||
jmp short xx_10A2E
|
||
|
||
xx_10A09:
|
||
mov si, word ptr [bp+@@arg_0]
|
||
push [bp+@@var_2]
|
||
call [bp+@@arg_4]
|
||
jmp short xx_10A2E
|
||
|
||
xx_10A14:
|
||
push ds
|
||
lds si, [bp+@@arg_0]
|
||
push [bp+@@var_2]
|
||
call word ptr [bp+@@arg_4]
|
||
pop ds
|
||
jmp short xx_10A2E
|
||
|
||
xx_10A21:
|
||
push ds
|
||
lds si, [bp+@@arg_0]
|
||
push [bp+@@var_2]
|
||
call [bp+@@arg_4]
|
||
pop ds
|
||
jmp short $+2
|
||
|
||
xx_10A2E:
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retn
|
||
xx_108AD endp
|
||
|
||
xx_10A35 dw offset xx_10922
|
||
dw offset xx_10930
|
||
dw offset xx_1093E
|
||
dw offset xx_10950
|
||
dw offset xx_10962
|
||
dw offset xx_1096D
|
||
dw offset xx_10975
|
||
dw offset xx_10983
|
||
dw offset xx_10992
|
||
dw offset xx_109A0
|
||
dw offset xx_109AE
|
||
dw offset xx_109BC
|
||
dw offset xx_10A2E
|
||
dw offset xx_10A2E
|
||
dw offset xx_10A2E
|
||
dw offset xx_10A2E
|
||
dw offset xx_109CA
|
||
dw offset xx_109D6
|
||
dw offset xx_109E2
|
||
dw offset xx_109F0
|
||
dw offset xx_109FE
|
||
dw offset xx_10A09
|
||
dw offset xx_10A14
|
||
dw offset xx_10A21
|
||
|
||
|
||
xx_10A65 proc near
|
||
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = word ptr 4
|
||
@@arg_2 = word ptr 6
|
||
@@arg_4 = dword ptr 8
|
||
@@arg_8 = word ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 4
|
||
push si
|
||
push di
|
||
les bx, ss:16h
|
||
mov ax, es:[bx+6]
|
||
mov [bp+@@var_2], ax
|
||
push ds
|
||
mov ds, [bp+@@var_2]
|
||
mov ax, [bp+@@arg_8]
|
||
and ax, 1
|
||
mov [bp+@@var_4], ax
|
||
test byte ptr [bp+@@arg_8], 4
|
||
jz short xx_10A90
|
||
or [bp+@@var_4], 2
|
||
|
||
xx_10A90:
|
||
test byte ptr [bp+@@arg_8], 2
|
||
jz short xx_10A9A
|
||
or [bp+@@var_4], 4
|
||
|
||
xx_10A9A:
|
||
test byte ptr [bp+@@arg_8], 20h
|
||
jz short xx_10AA4
|
||
or [bp+@@var_4], 8
|
||
|
||
xx_10AA4:
|
||
mov bx, [bp+@@var_4]
|
||
cmp bx, 0Bh
|
||
ja short xx_10B17
|
||
add bx, bx
|
||
jmp cs:xx_10B1E[bx]
|
||
|
||
xx_10AB3:
|
||
push [bp+@@arg_0]
|
||
call word ptr [bp+@@arg_4]
|
||
pop cx
|
||
jmp short xx_10B17
|
||
|
||
xx_10ABC:
|
||
push [bp+@@arg_0]
|
||
call [bp+@@arg_4]
|
||
pop cx
|
||
jmp short xx_10B17
|
||
|
||
xx_10AC5:
|
||
push [bp+@@arg_2]
|
||
push [bp+@@arg_0]
|
||
call word ptr [bp+@@arg_4]
|
||
jmp short xx_10AD9
|
||
|
||
xx_10AD0:
|
||
push [bp+@@arg_2]
|
||
push [bp+@@arg_0]
|
||
call [bp+@@arg_4]
|
||
|
||
xx_10AD9:
|
||
pop cx
|
||
pop cx
|
||
jmp short xx_10B17
|
||
|
||
xx_10ADD:
|
||
push [bp+@@arg_0]
|
||
call word ptr [bp+@@arg_4]
|
||
jmp short xx_10AEB
|
||
|
||
xx_10AE5:
|
||
push [bp+@@arg_0]
|
||
call [bp+@@arg_4]
|
||
|
||
xx_10AEB:
|
||
jmp short xx_10B17
|
||
|
||
xx_10AED:
|
||
mov bx, [bp+@@arg_0]
|
||
push bx
|
||
pop bx
|
||
call word ptr [bp+@@arg_4]
|
||
jmp short xx_10B17
|
||
|
||
xx_10AF7:
|
||
mov bx, [bp+@@arg_0]
|
||
push bx
|
||
pop bx
|
||
call [bp+@@arg_4]
|
||
jmp short xx_10B17
|
||
|
||
xx_10B01:
|
||
push [bp+@@arg_2]
|
||
push [bp+@@arg_0]
|
||
call word ptr [bp+@@arg_4]
|
||
jmp short xx_10B15
|
||
|
||
xx_10B0C:
|
||
push [bp+@@arg_2]
|
||
push [bp+@@arg_0]
|
||
call [bp+@@arg_4]
|
||
|
||
xx_10B15:
|
||
jmp short $+2
|
||
|
||
xx_10B17:
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retn
|
||
xx_10A65 endp
|
||
|
||
xx_10B1E dw offset xx_10AB3
|
||
dw offset xx_10ABC
|
||
dw offset xx_10AC5
|
||
dw offset xx_10AD0
|
||
dw offset xx_10ADD
|
||
dw offset xx_10AE5
|
||
dw offset xx_10B01
|
||
dw offset xx_10B0C
|
||
dw offset xx_10AED
|
||
dw offset xx_10AF7
|
||
dw offset xx_10B01
|
||
dw offset xx_10B0C
|
||
xx_10B36 db 4 dup(0)
|
||
dd xx_10DF4
|
||
xx_10B3E db 14h dup(0)
|
||
dd xx_10E4D
|
||
db 10h dup(0)
|
||
xx_10B66 db 4 dup(0), 0E2h, 0FFh, 2 dup(0), 3, 0
|
||
dd xx_10B36
|
||
db 2 dup(0), 4, 3 dup(0), 3, 0
|
||
dd xx_10B3E+10h
|
||
db 2 dup(0), 4, 0
|
||
|
||
|
||
; int __cdecl __far xx_10B84(int, int, size_t n, int, int, int, int, int, int, int, int, int, int, int, int, int)
|
||
xx_10B84 proc far
|
||
|
||
@@var_48 = word ptr -48h
|
||
@@var_46 = word ptr -46h
|
||
@@var_44 = word ptr -44h
|
||
@@var_42 = word ptr -42h
|
||
@@var_40 = word ptr -40h
|
||
@@var_3E = word ptr -3Eh
|
||
@@var_3C = word ptr -3Ch
|
||
@@var_3A = word ptr -3Ah
|
||
@@var_38 = dword ptr -38h
|
||
@@var_34 = dword ptr -34h
|
||
@@src = word ptr -30h
|
||
@@var_2C = word ptr -2Ch
|
||
@@var_2A = word ptr -2Ah
|
||
@@var_28 = word ptr -28h
|
||
@@var_26 = dword ptr -26h
|
||
@@var_22 = dword ptr -22h
|
||
@@var_1E = word ptr -1Eh
|
||
@@var_12 = word ptr -12h
|
||
@@arg_0 = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
n = word ptr 0Ah
|
||
@@arg_6 = word ptr 0Ch
|
||
@@arg_8 = word ptr 0Eh
|
||
@@arg_A = word ptr 10h
|
||
@@arg_C = word ptr 12h
|
||
@@arg_E = word ptr 14h
|
||
@@arg_10 = word ptr 16h
|
||
@@arg_12 = word ptr 18h
|
||
@@arg_14 = word ptr 1Ah
|
||
@@arg_16 = word ptr 1Ch
|
||
@@arg_18 = word ptr 1Eh
|
||
@@arg_1A = word ptr 20h
|
||
@@arg_1C = word ptr 22h
|
||
@@arg_1E = word ptr 24h
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 48h
|
||
push si
|
||
push di
|
||
mov ax, seg xx_10B66
|
||
mov bx, offset xx_10B66
|
||
nopcall ___InitExceptBlocks
|
||
mov dx, [bp+@@arg_2]
|
||
mov ax, [bp+@@arg_0]
|
||
mov word ptr [bp+@@var_22+2], dx
|
||
mov word ptr [bp+@@var_22], ax
|
||
les bx, ss:16h
|
||
mov word ptr es:[bx+6], ds
|
||
mov dx, ss:18h
|
||
mov ax, ss:16h
|
||
add ax, 28h ; '('
|
||
les bx, ss:16h
|
||
mov es:[bx+1Eh], dx
|
||
mov es:[bx+1Ch], ax
|
||
les bx, [bp+@@var_22]
|
||
mov dx, word ptr [bp+@@var_22+2]
|
||
mov ax, word ptr [bp+@@var_22]
|
||
add ax, es:[bx+4]
|
||
mov word ptr [bp+@@var_34+2], dx
|
||
mov word ptr [bp+@@var_34], ax
|
||
les bx, ss:16h
|
||
mov dx, es:[bx+1Eh]
|
||
mov ax, es:[bx+1Ch]
|
||
mov word ptr [bp+@@var_38+2], dx
|
||
mov word ptr [bp+@@var_38], ax
|
||
jmp short xx_10C10
|
||
|
||
xx_10BED:
|
||
les bx, ss:16h
|
||
mov ax, es:[bx+1Ch]
|
||
add ax, 7Fh ; ''
|
||
cmp ax, word ptr [bp+@@var_38]
|
||
jbe short xx_10C0D
|
||
les bx, [bp+@@var_34]
|
||
mov al, es:[bx]
|
||
les bx, [bp+@@var_38]
|
||
mov es:[bx], al
|
||
inc word ptr [bp+@@var_38]
|
||
|
||
xx_10C0D:
|
||
inc word ptr [bp+@@var_34]
|
||
|
||
xx_10C10:
|
||
les bx, [bp+@@var_34]
|
||
cmp byte ptr es:[bx], 0
|
||
jnz short xx_10BED
|
||
les bx, [bp+@@var_38]
|
||
mov byte ptr es:[bx], 0
|
||
les bx, ss:16h
|
||
mov ax, [bp+@@arg_14]
|
||
mov es:[bx+1Ah], ax
|
||
les bx, ss:16h
|
||
mov dx, [bp+@@arg_18]
|
||
mov ax, [bp+@@arg_16]
|
||
mov es:[bx+18h], dx
|
||
mov es:[bx+16h], ax
|
||
mov dx, word ptr [bp+@@var_22+2]
|
||
mov ax, word ptr [bp+@@var_22]
|
||
mov word ptr [bp+@@var_26+2], dx
|
||
mov word ptr [bp+@@var_26], ax
|
||
les bx, [bp+@@var_22]
|
||
mov ax, es:[bx]
|
||
mov [bp+@@var_28], ax
|
||
les bx, [bp+@@var_22]
|
||
mov ax, es:[bx+2]
|
||
mov [bp+@@var_2A], ax
|
||
test byte ptr [bp+@@var_2A], 2
|
||
jz short xx_10C6D
|
||
les bx, [bp+@@var_22]
|
||
mov ax, es:[bx+8]
|
||
jmp short xx_10C6F
|
||
|
||
xx_10C6D:
|
||
xor ax, ax
|
||
|
||
xx_10C6F:
|
||
mov [bp+@@var_2C], ax
|
||
test byte ptr [bp+@@var_2A], 30h
|
||
jz short xx_10C89
|
||
les bx, [bp+@@var_26]
|
||
mov dx, es:[bx+8]
|
||
mov ax, es:[bx+6]
|
||
mov word ptr [bp+@@var_26+2], dx
|
||
mov word ptr [bp+@@var_26], ax
|
||
|
||
xx_10C89:
|
||
mov ax, [bp+@@var_28]
|
||
add ax, 3Ah ; ':'
|
||
push ax ; size
|
||
call xx_103C5
|
||
pop cx
|
||
mov [bp+@@src+2], dx
|
||
mov [bp+@@src], ax
|
||
les bx, ss:16h
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, dword ptr [bp+@@src]
|
||
mov es:[bx+2], dx
|
||
mov es:[bx], ax
|
||
les bx, ss:16h
|
||
mov dx, [bp+@@src+2]
|
||
mov ax, [bp+@@src]
|
||
mov es:[bx+2], dx
|
||
mov es:[bx], ax
|
||
les bx, dword ptr [bp+@@src]
|
||
mov dx, word ptr [bp+@@var_22+2]
|
||
mov ax, word ptr [bp+@@var_22]
|
||
mov es:[bx+6], dx
|
||
mov es:[bx+4], ax
|
||
les bx, dword ptr [bp+@@src]
|
||
mov ax, [bp+@@arg_12]
|
||
mov es:[bx+0Ch], ax
|
||
les bx, dword ptr [bp+@@src]
|
||
mov ax, [bp+@@var_28]
|
||
mov es:[bx+0Eh], ax
|
||
les bx, dword ptr [bp+@@src]
|
||
mov ax, [bp+@@var_2A]
|
||
mov es:[bx+14h], ax
|
||
les bx, dword ptr [bp+@@src]
|
||
mov ax, [bp+@@var_2C]
|
||
mov es:[bx+16h], ax
|
||
les bx, dword ptr [bp+@@src]
|
||
mov dx, word ptr [bp+@@var_26+2]
|
||
mov ax, word ptr [bp+@@var_26]
|
||
mov es:[bx+12h], dx
|
||
mov es:[bx+10h], ax
|
||
les bx, dword ptr [bp+@@src]
|
||
mov dx, [bp+@@arg_A]
|
||
mov ax, [bp+@@arg_8]
|
||
mov es:[bx+0Ah], dx
|
||
mov es:[bx+8], ax
|
||
les bx, dword ptr [bp+@@src]
|
||
mov word ptr es:[bx+24h], 0
|
||
les bx, dword ptr [bp+@@src]
|
||
mov word ptr es:[bx+28h], 0
|
||
mov word ptr es:[bx+26h], 0
|
||
les bx, dword ptr [bp+@@src]
|
||
mov word ptr es:[bx+18h], ds
|
||
les bx, dword ptr [bp+@@src]
|
||
mov word ptr es:[bx+1Ch], seg xx_10421
|
||
mov word ptr es:[bx+1Ah], offset xx_10421
|
||
les bx, dword ptr [bp+@@src]
|
||
mov ax, [bp+@@arg_14]
|
||
mov es:[bx+2Ch], ax
|
||
les bx, dword ptr [bp+@@src]
|
||
mov dx, [bp+@@arg_18]
|
||
mov ax, [bp+@@arg_16]
|
||
mov es:[bx+30h], dx
|
||
mov es:[bx+2Eh], ax
|
||
les bx, dword ptr [bp+@@src]
|
||
mov dx, [bp+@@arg_E]
|
||
mov ax, [bp+@@arg_C]
|
||
mov es:[bx+20h], dx
|
||
mov es:[bx+1Eh], ax
|
||
les bx, dword ptr [bp+@@src]
|
||
mov ax, [bp+@@arg_10]
|
||
mov es:[bx+22h], ax
|
||
les bx, dword ptr [bp+@@src]
|
||
mov byte ptr es:[bx+39h], 0
|
||
les bx, dword ptr [bp+@@src]
|
||
mov byte ptr es:[bx+38h], 1
|
||
push [bp+@@var_28]
|
||
push [bp+@@arg_6]
|
||
push [bp+n] ; n
|
||
mov ax, [bp+@@src]
|
||
add ax, 3Ah ; ':'
|
||
push [bp+@@src+2] ; src
|
||
push ax ; dest
|
||
nopcall _memcpy
|
||
add sp, 0Ah
|
||
test byte ptr [bp+@@var_2C], 1
|
||
jz short xx_10E13
|
||
nopcall @__RefDestructorCount$qv ; __RefDestructorCount(void)
|
||
mov bx, ax
|
||
mov es, dx
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov [bp+@@var_3A], dx
|
||
mov [bp+@@var_3C], ax
|
||
mov [bp+@@var_12], 6
|
||
push [bp+@@arg_10]
|
||
push [bp+@@arg_E]
|
||
push [bp+@@arg_C]
|
||
push [bp+@@arg_6]
|
||
push [bp+n]
|
||
mov ax, [bp+@@src]
|
||
add ax, 3Ah ; ':'
|
||
push [bp+@@src+2]
|
||
push ax
|
||
call xx_1055F
|
||
add sp, 0Eh
|
||
mov [bp+@@var_12], 0
|
||
jmp short xx_10DFE
|
||
|
||
xx_10DF4:
|
||
nopcall ___call_terminate
|
||
nopcall @_CatchCleanup$qv ; _CatchCleanup(void)
|
||
|
||
xx_10DFE:
|
||
nopcall @__RefDestructorCount$qv ; __RefDestructorCount(void)
|
||
mov bx, [bp+@@var_3A]
|
||
mov cx, [bp+@@var_3C]
|
||
mov es, dx
|
||
xchg ax, bx
|
||
mov es:[bx+2], ax
|
||
mov es:[bx], cx
|
||
|
||
xx_10E13:
|
||
cmp [bp+@@arg_1E], 0
|
||
jnz short xx_10E57
|
||
test byte ptr [bp+@@var_2C], 2
|
||
jz short xx_10E57
|
||
mov [bp+@@var_12], 12h
|
||
mov ax, 1
|
||
push ax
|
||
les bx, [bp+@@var_22]
|
||
push word ptr es:[bx+22h]
|
||
les bx, [bp+@@var_22]
|
||
push word ptr es:[bx+20h]
|
||
push word ptr es:[bx+1Eh]
|
||
push [bp+@@arg_6]
|
||
push [bp+n]
|
||
call xx_108AD
|
||
add sp, 0Ch
|
||
mov [bp+@@var_12], 0
|
||
jmp short xx_10E57
|
||
|
||
xx_10E4D:
|
||
nopcall ___call_terminate
|
||
nopcall @_CatchCleanup$qv ; _CatchCleanup(void)
|
||
|
||
xx_10E57:
|
||
les bx, ss:16h
|
||
mov dx, es:[bx+1Eh]
|
||
mov ax, es:[bx+1Ch]
|
||
mov [bp+@@var_46], dx
|
||
mov [bp+@@var_48], ax
|
||
mov dx, [bp+@@arg_1C]
|
||
mov ax, [bp+@@arg_1A]
|
||
mov [bp+@@var_42], dx
|
||
mov [bp+@@var_44], ax
|
||
mov dx, [bp+@@src+2]
|
||
mov ax, [bp+@@src]
|
||
mov [bp+@@var_3E], dx
|
||
mov [bp+@@var_40], ax
|
||
push ss
|
||
lea ax, [bp+@@var_48]
|
||
push ax
|
||
xor ax, ax
|
||
mov dx, 3
|
||
push ax
|
||
push dx
|
||
xor ax, ax
|
||
mov dx, 1
|
||
push ax
|
||
push dx
|
||
mov ax, 0EEFh
|
||
mov dx, 0FACEh
|
||
push ax
|
||
push dx
|
||
nopcall _RaiseException
|
||
add sp, 10h
|
||
push [bp+@@var_1E]
|
||
nopcall ___ExitExceptBlocks
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
xx_10B84 endp
|
||
|
||
|
||
|
||
; int __cdecl __far _ThrowException(int, int, size_t n, int, int, int, int, int, int, int, int, int, int)
|
||
public @_ThrowException$qnvt1t1t1uiuiuinuc
|
||
@_ThrowException$qnvt1t1t1uiuiuinuc proc far
|
||
|
||
@@var_6 = word ptr -6
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
n = word ptr 0Ah
|
||
@@arg_6 = word ptr 0Ch
|
||
@@arg_8 = word ptr 0Eh
|
||
@@arg_A = word ptr 10h
|
||
@@arg_C = word ptr 12h
|
||
@@arg_E = word ptr 14h
|
||
@@arg_10 = word ptr 16h
|
||
@@arg_12 = word ptr 18h
|
||
@@arg_14 = word ptr 1Ah
|
||
@@arg_16 = word ptr 1Ch
|
||
@@arg_18 = word ptr 1Eh
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 6
|
||
push si
|
||
push di
|
||
mov [bp+@@var_6], bp
|
||
mov bx, [bp+@@var_6]
|
||
mov dx, ss:[bx+4]
|
||
mov ax, ss:[bx+2]
|
||
mov [bp+@@var_2], dx
|
||
mov [bp+@@var_4], ax
|
||
xor ax, ax
|
||
push ax ; int
|
||
push [bp+@@var_2] ; int
|
||
push [bp+@@var_4] ; int
|
||
push [bp+@@arg_18] ; int
|
||
push [bp+@@arg_16] ; int
|
||
push [bp+@@arg_14] ; int
|
||
push [bp+@@arg_12] ; int
|
||
push [bp+@@arg_10] ; int
|
||
push [bp+@@arg_E] ; int
|
||
push [bp+@@arg_C] ; int
|
||
push [bp+@@arg_A] ; int
|
||
push [bp+@@arg_8] ; int
|
||
push [bp+@@arg_6] ; int
|
||
push [bp+n] ; n
|
||
push [bp+@@arg_2] ; int
|
||
push [bp+@@arg_0] ; int
|
||
call xx_10B84
|
||
add sp, 20h
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
@_ThrowException$qnvt1t1t1uiuiuinuc endp
|
||
|
||
|
||
|
||
; _ReThrowException(unsigned int, unsigned char *)
|
||
public @_ReThrowException$quinuc
|
||
@_ReThrowException$quinuc proc far
|
||
|
||
@@var_A = word ptr -0Ah
|
||
@@var_8 = word ptr -8
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
@@arg_4 = word ptr 0Ah
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 0Ah
|
||
push si
|
||
push di
|
||
mov [bp+@@var_A], bp
|
||
mov bx, [bp+@@var_A]
|
||
mov dx, ss:[bx+4]
|
||
mov ax, ss:[bx+2]
|
||
mov [bp+@@var_2], dx
|
||
mov [bp+@@var_4], ax
|
||
les bx, ss:16h
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov [bp+@@var_8+2], dx
|
||
mov [bp+@@var_8], ax
|
||
mov ax, [bp+@@var_8]
|
||
or ax, [bp+@@var_8+2]
|
||
jnz short xx_10F47
|
||
nopcall ___call_terminate
|
||
|
||
xx_10F47:
|
||
mov ax, 1
|
||
push ax ; int
|
||
push [bp+@@var_2] ; int
|
||
push [bp+@@var_4] ; int
|
||
push [bp+@@arg_4] ; int
|
||
push [bp+@@arg_2] ; int
|
||
push [bp+@@arg_0] ; int
|
||
les bx, dword ptr [bp+@@var_8]
|
||
push word ptr es:[bx+0Ch] ; int
|
||
les bx, dword ptr [bp+@@var_8]
|
||
push word ptr es:[bx+22h] ; int
|
||
les bx, dword ptr [bp+@@var_8]
|
||
push word ptr es:[bx+20h] ; int
|
||
push word ptr es:[bx+1Eh] ; int
|
||
les bx, dword ptr [bp+@@var_8]
|
||
push word ptr es:[bx+0Ah] ; int
|
||
push word ptr es:[bx+8] ; int
|
||
les bx, dword ptr [bp+@@var_8]
|
||
cmp byte ptr es:[bx+38h], 0
|
||
jz short xx_10F93
|
||
mov dx, [bp+@@var_8+2]
|
||
mov ax, [bp+@@var_8]
|
||
add ax, 3Ah ; ':'
|
||
jmp short xx_10F9C
|
||
|
||
xx_10F93:
|
||
les bx, dword ptr [bp+@@var_8]
|
||
mov ax, es:[bx+36h]
|
||
mov dx, ss
|
||
|
||
xx_10F9C:
|
||
push dx ; int
|
||
push ax ; n
|
||
les bx, dword ptr [bp+@@var_8]
|
||
push word ptr es:[bx+6] ; int
|
||
push word ptr es:[bx+4] ; int
|
||
call xx_10B84
|
||
add sp, 20h
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
@_ReThrowException$quinuc endp
|
||
|
||
|
||
xx_10FB6 proc far
|
||
push si
|
||
push di
|
||
pop di
|
||
pop si
|
||
retf
|
||
xx_10FB6 endp
|
||
|
||
|
||
|
||
xx_10FBB proc far
|
||
|
||
@@var_6 = word ptr -6
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
@@arg_4 = word ptr 0Ah
|
||
@@arg_6 = word ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 6
|
||
push si
|
||
push di
|
||
mov [bp+@@var_4], 0
|
||
mov bx, [bp+@@arg_0]
|
||
test byte ptr ss:[bx+4], 6
|
||
jz short xx_10FD5
|
||
inc [bp+@@var_4]
|
||
|
||
xx_10FD5:
|
||
mov ax, ss:14h
|
||
mov [bp+@@var_2], ax
|
||
call xx_10FB6
|
||
jmp short xx_11023
|
||
|
||
xx_10FE2:
|
||
mov ax, [bp+@@var_2]
|
||
mov [bp+@@var_6], ax
|
||
xor ax, ax
|
||
push ax
|
||
push ax
|
||
push [bp+@@arg_4]
|
||
push [bp+@@arg_2]
|
||
push [bp+@@var_2]
|
||
push ss
|
||
push [bp+@@arg_0]
|
||
mov bx, [bp+@@var_6]
|
||
call dword ptr ss:[bx+2]
|
||
add sp, 0Eh
|
||
mov dx, ax
|
||
or dx, dx
|
||
jnz short xx_1100D
|
||
mov ax, dx
|
||
jmp short xx_11041
|
||
|
||
xx_1100D:
|
||
cmp [bp+@@var_4], 0
|
||
jz short xx_1101A
|
||
mov ax, [bp+@@var_2]
|
||
mov ss:14h, ax
|
||
|
||
xx_1101A:
|
||
mov bx, [bp+@@var_2]
|
||
mov ax, ss:[bx]
|
||
mov [bp+@@var_2], ax
|
||
|
||
xx_11023:
|
||
cmp [bp+@@var_2], 0FFFFh
|
||
jz short xx_11031
|
||
mov ax, [bp+@@var_2]
|
||
cmp ax, [bp+@@arg_6]
|
||
jnz short xx_10FE2
|
||
|
||
xx_11031:
|
||
cmp [bp+@@var_4], 0
|
||
jz short xx_1103E
|
||
mov ax, [bp+@@var_2]
|
||
mov ss:14h, ax
|
||
|
||
xx_1103E:
|
||
mov ax, 1
|
||
|
||
xx_11041:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
xx_10FBB endp
|
||
|
||
|
||
|
||
public __Global_unwind
|
||
__Global_unwind proc far
|
||
|
||
@@var_4C = word ptr -4Ch
|
||
@@var_4A = word ptr -4Ah
|
||
@@var_48 = word ptr -48h
|
||
@@var_46 = word ptr -46h
|
||
@@var_3E = word ptr -3Eh
|
||
@@arg_0 = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 4Ch
|
||
push si
|
||
push di
|
||
mov dx, [bp+@@arg_2]
|
||
or dx, dx
|
||
jnz short xx_11072
|
||
mov [bp+@@var_4A], 0
|
||
mov [bp+@@var_4C], 26h ; '&'
|
||
mov [bp+@@var_46], 0
|
||
mov [bp+@@var_48], 2
|
||
mov [bp+@@var_3E], 0
|
||
lea dx, [bp+@@var_4C]
|
||
|
||
xx_11072:
|
||
mov bx, dx
|
||
or word ptr ss:[bx+4], 2
|
||
push [bp+@@arg_0]
|
||
xor ax, ax
|
||
push ax
|
||
push ax
|
||
push dx
|
||
call xx_10FBB
|
||
add sp, 8
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
__Global_unwind endp
|
||
|
||
|
||
xx_1108E proc far
|
||
push si
|
||
push di
|
||
pop di
|
||
pop si
|
||
retf
|
||
xx_1108E endp
|
||
|
||
|
||
|
||
public _RaiseException
|
||
_RaiseException proc far
|
||
|
||
dest = word ptr -186h
|
||
@@var_184 = word ptr -184h
|
||
@@var_182 = word ptr -182h
|
||
@@var_180 = word ptr -180h
|
||
@@var_17E = word ptr -17Eh
|
||
@@var_17C = word ptr -17Ch
|
||
@@var_176 = word ptr -176h
|
||
@@var_174 = word ptr -174h
|
||
@@var_172 = word ptr -172h
|
||
@@var_170 = word ptr -170h
|
||
@@var_16E = word ptr -16Eh
|
||
@@var_16C = word ptr -16Ch
|
||
@@var_16A = word ptr -16Ah
|
||
@@var_168 = word ptr -168h
|
||
@@var_166 = word ptr -166h
|
||
@@var_164 = word ptr -164h
|
||
@@var_162 = word ptr -162h
|
||
@@var_160 = word ptr -160h
|
||
@@var_15E = word ptr -15Eh
|
||
@@var_15A = word ptr -15Ah
|
||
@@var_158 = word ptr -158h
|
||
@@var_156 = word ptr -156h
|
||
@@var_154 = word ptr -154h
|
||
@@var_152 = byte ptr -152h
|
||
@@var_C6 = word ptr -0C6h
|
||
@@var_C4 = word ptr -0C4h
|
||
@@var_C2 = word ptr -0C2h
|
||
@@var_C0 = word ptr -0C0h
|
||
@@var_BE = word ptr -0BEh
|
||
@@var_BC = word ptr -0BCh
|
||
@@var_BA = word ptr -0BAh
|
||
@@var_B8 = word ptr -0B8h
|
||
@@var_B6 = word ptr -0B6h
|
||
@@var_B4 = word ptr -0B4h
|
||
@@var_B2 = word ptr -0B2h
|
||
@@var_B0 = word ptr -0B0h
|
||
@@var_AE = word ptr -0AEh
|
||
@@var_AC = word ptr -0ACh
|
||
@@var_AA = word ptr -0AAh
|
||
@@var_A8 = word ptr -0A8h
|
||
@@var_A6 = word ptr -0A6h
|
||
@@var_A4 = word ptr -0A4h
|
||
@@var_A2 = word ptr -0A2h
|
||
@@var_A0 = word ptr -0A0h
|
||
@@var_9E = word ptr -9Eh
|
||
@@var_9C = word ptr -9Ch
|
||
@@var_9A = word ptr -9Ah
|
||
@@var_98 = word ptr -98h
|
||
@@var_96 = word ptr -96h
|
||
@@var_94 = word ptr -94h
|
||
@@var_92 = word ptr -92h
|
||
@@var_90 = word ptr -90h
|
||
@@var_8E = word ptr -8Eh
|
||
@@var_8C = word ptr -8Ch
|
||
@@var_8A = word ptr -8Ah
|
||
@@var_88 = word ptr -88h
|
||
@@var_86 = byte ptr -86h
|
||
@@var_56 = word ptr -56h
|
||
@@var_54 = word ptr -54h
|
||
@@var_52 = word ptr -52h
|
||
@@var_50 = word ptr -50h
|
||
@@var_4E = word ptr -4Eh
|
||
@@var_4C = word ptr -4Ch
|
||
@@var_4A = word ptr -4Ah
|
||
@@var_48 = word ptr -48h
|
||
@@var_46 = byte ptr -46h
|
||
n = word ptr -0Ah
|
||
@@var_8 = word ptr -8
|
||
@@var_6 = word ptr -6
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = word ptr 18h
|
||
@@arg_2 = word ptr 1Ah
|
||
@@arg_4 = word ptr 1Ch
|
||
@@arg_6 = word ptr 1Eh
|
||
@@arg_8 = word ptr 20h
|
||
@@arg_A = word ptr 22h
|
||
@@arg_C = dword ptr 24h
|
||
|
||
push ax
|
||
push cx
|
||
push dx
|
||
push bx
|
||
push sp
|
||
push bp
|
||
push si
|
||
push di
|
||
push ds
|
||
push es
|
||
mov bp, sp
|
||
sub sp, 186h
|
||
lea ax, [bp+@@var_86]
|
||
push ax
|
||
call xx_1108E
|
||
pop cx
|
||
pushf
|
||
pop ax
|
||
mov [bp+@@var_8], ax
|
||
cmp byte ptr ds:__8086, 3
|
||
jnb short xx_110BC
|
||
jmp xx_11172
|
||
|
||
xx_110BC:
|
||
pushad
|
||
mov [bp+n], sp
|
||
mov ax, 20h ; ' '
|
||
push ax
|
||
push ss
|
||
push [bp+n] ; n
|
||
push ss ; src
|
||
lea ax, [bp+dest]
|
||
push ax ; dest
|
||
nopcall _memcpy
|
||
add sp, 0Ah
|
||
popad
|
||
mov dx, [bp+@@var_184]
|
||
mov ax, [bp+dest]
|
||
mov [bp+@@var_B4], dx
|
||
mov [bp+@@var_B6], ax
|
||
mov dx, [bp+@@var_180]
|
||
mov ax, [bp+@@var_182]
|
||
mov [bp+@@var_B0], dx
|
||
mov [bp+@@var_B2], ax
|
||
mov dx, [bp+@@var_174]
|
||
mov ax, [bp+@@var_176]
|
||
mov [bp+@@var_AC], dx
|
||
mov [bp+@@var_AE], ax
|
||
mov dx, [bp+@@var_170]
|
||
mov ax, [bp+@@var_172]
|
||
mov [bp+@@var_A8], dx
|
||
mov [bp+@@var_AA], ax
|
||
mov dx, [bp+@@var_16C]
|
||
mov ax, [bp+@@var_16E]
|
||
mov [bp+@@var_A4], dx
|
||
mov [bp+@@var_A6], ax
|
||
mov dx, [bp+@@var_168]
|
||
mov ax, [bp+@@var_16A]
|
||
mov [bp+@@var_A0], dx
|
||
mov [bp+@@var_A2], ax
|
||
mov dx, [bp+@@var_17C]
|
||
mov ax, [bp+@@var_17E]
|
||
mov [bp+@@var_9C], dx
|
||
mov [bp+@@var_9E], ax
|
||
pushfd
|
||
pop eax
|
||
shr eax, 10h
|
||
mov [bp+@@var_90], ax
|
||
mov ax, [bp+@@var_8]
|
||
mov [bp+@@var_92], ax
|
||
mov [bp+@@var_C0], 0
|
||
mov [bp+@@var_C2], fs
|
||
mov [bp+@@var_C4], 0
|
||
mov [bp+@@var_C6], gs
|
||
jmp short xx_111BB
|
||
|
||
xx_11172:
|
||
xor ax, ax
|
||
xor dx, dx
|
||
mov [bp+@@var_9C], ax
|
||
mov [bp+@@var_9E], dx
|
||
mov [bp+@@var_A0], ax
|
||
mov [bp+@@var_A2], dx
|
||
mov [bp+@@var_A4], ax
|
||
mov [bp+@@var_A6], dx
|
||
mov [bp+@@var_A8], ax
|
||
mov [bp+@@var_AA], dx
|
||
mov [bp+@@var_AC], ax
|
||
mov [bp+@@var_AE], dx
|
||
mov [bp+@@var_B0], ax
|
||
mov [bp+@@var_B2], dx
|
||
mov [bp+@@var_B4], ax
|
||
mov [bp+@@var_B6], dx
|
||
mov ax, [bp+@@var_8]
|
||
mov [bp+@@var_90], 0
|
||
mov [bp+@@var_92], ax
|
||
|
||
xx_111BB:
|
||
mov dx, [bp+@@var_9C]
|
||
mov ax, [bp+@@var_9E]
|
||
add ax, 18h
|
||
adc dx, 0
|
||
mov [bp+@@var_8C], dx
|
||
mov [bp+@@var_8E], ax
|
||
cmp [bp+@@arg_2], 0EEFh
|
||
jnz short xx_111EC
|
||
cmp [bp+@@arg_0], 0FACEh
|
||
jnz short xx_111EC
|
||
les bx, [bp+@@arg_C]
|
||
mov dx, es:[bx+6]
|
||
mov ax, es:[bx+4]
|
||
jmp short xx_111FA
|
||
|
||
xx_111EC:
|
||
mov [bp+n], bp
|
||
mov bx, [bp+n]
|
||
mov dx, ss:[bx+16h]
|
||
mov ax, ss:[bx+14h]
|
||
|
||
xx_111FA:
|
||
mov [bp+@@var_4], dx
|
||
mov [bp+@@var_6], ax
|
||
mov ax, [bp+@@var_6]
|
||
mov [bp+@@var_98], 0
|
||
mov [bp+@@var_9A], ax
|
||
mov ax, [bp+@@var_4]
|
||
mov [bp+@@var_94], 0
|
||
mov [bp+@@var_96], ax
|
||
mov ax, 14h
|
||
push ax
|
||
push ss
|
||
push bp ; n
|
||
push ss ; src
|
||
lea ax, [bp+@@var_166]
|
||
push ax ; dest
|
||
nopcall _memcpy
|
||
add sp, 0Ah
|
||
mov ax, [bp+@@var_164]
|
||
mov [bp+@@var_B8], 0
|
||
mov [bp+@@var_BA], ax
|
||
mov ax, [bp+@@var_166]
|
||
mov [bp+@@var_BC], 0
|
||
mov [bp+@@var_BE], ax
|
||
mov [bp+@@var_88], 0
|
||
mov [bp+@@var_8A], ss
|
||
mov ax, [bp+@@var_154]
|
||
mov [bp+@@var_A2], ax
|
||
mov ax, [bp+@@var_15A]
|
||
mov [bp+@@var_AE], ax
|
||
mov ax, [bp+@@var_156]
|
||
mov [bp+@@var_A6], ax
|
||
mov ax, [bp+@@var_158]
|
||
mov [bp+@@var_AA], ax
|
||
mov ax, [bp+@@var_160]
|
||
mov [bp+@@var_B2], ax
|
||
mov ax, [bp+@@var_162]
|
||
mov [bp+@@var_B6], ax
|
||
mov ax, [bp+@@var_15E]
|
||
mov [bp+@@var_9E], ax
|
||
mov dx, [bp+@@arg_2]
|
||
mov ax, [bp+@@arg_0]
|
||
and dx, 0EFFFh
|
||
mov [bp+@@var_54], dx
|
||
mov [bp+@@var_56], ax
|
||
mov dx, [bp+@@arg_6]
|
||
mov ax, [bp+@@arg_4]
|
||
mov [bp+@@var_50], dx
|
||
mov [bp+@@var_52], ax
|
||
mov dx, [bp+@@var_4]
|
||
mov ax, [bp+@@var_6]
|
||
mov [bp+@@var_4A], dx
|
||
mov [bp+@@var_4C], ax
|
||
mov [bp+@@var_4E], 0
|
||
mov ax, word ptr [bp+@@arg_C]
|
||
or ax, word ptr [bp+@@arg_C+2]
|
||
jnz short xx_112CB
|
||
mov [bp+@@arg_A], 0
|
||
mov [bp+@@arg_8], 0
|
||
|
||
xx_112CB:
|
||
cmp [bp+@@arg_A], 0
|
||
jb short xx_112E3
|
||
ja short xx_112D9
|
||
cmp [bp+@@arg_8], 0Fh
|
||
jbe short xx_112E3
|
||
|
||
xx_112D9:
|
||
mov [bp+@@arg_A], 0
|
||
mov [bp+@@arg_8], 0Fh
|
||
|
||
xx_112E3:
|
||
mov ax, [bp+@@arg_8]
|
||
mov [bp+@@var_48], ax
|
||
mov [bp+@@var_2], 0
|
||
jmp short xx_11319
|
||
|
||
xx_112F0:
|
||
mov bx, [bp+@@var_2]
|
||
mov cl, 2
|
||
shl bx, cl
|
||
lea ax, [bp+@@var_46]
|
||
add bx, ax
|
||
mov ax, [bp+@@var_2]
|
||
mov cl, 2
|
||
shl ax, cl
|
||
les si, [bp+@@arg_C]
|
||
add si, ax
|
||
mov dx, es:[si+2]
|
||
mov ax, es:[si]
|
||
mov ss:[bx+2], dx
|
||
mov ss:[bx], ax
|
||
inc [bp+@@var_2]
|
||
|
||
xx_11319:
|
||
mov ax, [bp+@@var_2]
|
||
xor dx, dx
|
||
cmp dx, [bp+@@arg_A]
|
||
jb short xx_112F0
|
||
jnz short xx_1132A
|
||
cmp ax, [bp+@@arg_8]
|
||
jb short xx_112F0
|
||
|
||
xx_1132A:
|
||
mov ax, 0FFFFh
|
||
push ax
|
||
push ss
|
||
lea ax, [bp+@@var_152]
|
||
push ax
|
||
lea ax, [bp+@@var_56]
|
||
push ax
|
||
call xx_10FBB
|
||
add sp, 8
|
||
or ax, ax
|
||
jnz short xx_11375
|
||
test byte ptr [bp+@@arg_4], 1
|
||
jz short xx_11395
|
||
mov [bp+@@var_54], 0C000h
|
||
mov [bp+@@var_56], 25h ; '%'
|
||
mov dx, [bp+@@arg_6]
|
||
mov ax, [bp+@@arg_4]
|
||
mov [bp+@@var_50], dx
|
||
mov [bp+@@var_52], ax
|
||
mov [bp+@@var_4A], 0
|
||
mov [bp+@@var_4C], 0
|
||
mov [bp+@@var_4E], 0
|
||
mov [bp+@@var_48], 0
|
||
jmp short xx_1132A
|
||
|
||
xx_11375:
|
||
or [bp+@@var_52], 2
|
||
mov ax, 0FFFFh
|
||
push ax
|
||
push ss
|
||
lea ax, [bp+@@var_152]
|
||
push ax
|
||
lea ax, [bp+@@var_56]
|
||
push ax
|
||
call xx_10FBB
|
||
add sp, 8
|
||
or ax, ax
|
||
jz short xx_11395
|
||
jmp xx_11500
|
||
|
||
xx_11395:
|
||
cmp byte ptr ds:__8086, 3
|
||
jnb short xx_1139F
|
||
jmp xx_1147F
|
||
|
||
xx_1139F:
|
||
mov cx, [bp+@@var_8E]
|
||
sub cx, 30h ; '0'
|
||
mov es, [bp+@@var_8A]
|
||
mov bx, cx
|
||
mov ax, [bp+@@var_C6]
|
||
mov es:[bx], ax
|
||
mov ax, [bp+@@var_C2]
|
||
mov es:[bx+2], ax
|
||
mov ax, [bp+@@var_BE]
|
||
mov es:[bx+4], ax
|
||
mov ax, [bp+@@var_BA]
|
||
mov es:[bx+6], ax
|
||
mov dx, [bp+@@var_B4]
|
||
mov ax, [bp+@@var_B6]
|
||
mov es:[bx+0Ah], dx
|
||
mov es:[bx+8], ax
|
||
mov dx, [bp+@@var_B0]
|
||
mov ax, [bp+@@var_B2]
|
||
mov es:[bx+0Eh], dx
|
||
mov es:[bx+0Ch], ax
|
||
mov dx, [bp+@@var_9C]
|
||
mov ax, [bp+@@var_9E]
|
||
mov es:[bx+12h], dx
|
||
mov es:[bx+10h], ax
|
||
mov dx, [bp+@@var_8C]
|
||
mov ax, [bp+@@var_8E]
|
||
mov es:[bx+16h], dx
|
||
mov es:[bx+14h], ax
|
||
mov dx, [bp+@@var_AC]
|
||
mov ax, [bp+@@var_AE]
|
||
mov es:[bx+1Ah], dx
|
||
mov es:[bx+18h], ax
|
||
mov dx, [bp+@@var_A8]
|
||
mov ax, [bp+@@var_AA]
|
||
mov es:[bx+1Eh], dx
|
||
mov es:[bx+1Ch], ax
|
||
mov dx, [bp+@@var_A4]
|
||
mov ax, [bp+@@var_A6]
|
||
mov es:[bx+22h], dx
|
||
mov es:[bx+20h], ax
|
||
mov dx, [bp+@@var_A0]
|
||
mov ax, [bp+@@var_A2]
|
||
mov es:[bx+26h], dx
|
||
mov es:[bx+24h], ax
|
||
mov dx, [bp+@@var_90]
|
||
mov ax, [bp+@@var_92]
|
||
mov es:[bx+2Ah], dx
|
||
mov es:[bx+28h], ax
|
||
mov ax, [bp+@@var_9A]
|
||
mov es:[bx+2Ch], ax
|
||
mov ax, [bp+@@var_96]
|
||
mov es:[bx+2Eh], ax
|
||
mov ss, [bp+@@var_8A]
|
||
mov sp, bx
|
||
pop gs
|
||
pop fs
|
||
pop es
|
||
pop ds
|
||
popad
|
||
popfd
|
||
retf
|
||
jmp xx_11505
|
||
|
||
xx_1147F:
|
||
mov cx, [bp+@@var_8E]
|
||
sub cx, 1Ah
|
||
mov es, [bp+@@var_8A]
|
||
mov bx, cx
|
||
mov ax, [bp+@@var_BE]
|
||
mov es:[bx], ax
|
||
mov ax, [bp+@@var_BA]
|
||
mov es:[bx+2], ax
|
||
mov ax, [bp+@@var_B6]
|
||
mov es:[bx+4], ax
|
||
mov ax, [bp+@@var_B2]
|
||
mov es:[bx+6], ax
|
||
mov ax, [bp+@@var_9E]
|
||
mov es:[bx+8], ax
|
||
mov ax, [bp+@@var_8E]
|
||
mov es:[bx+0Ah], ax
|
||
mov ax, [bp+@@var_AE]
|
||
mov es:[bx+0Ch], ax
|
||
mov ax, [bp+@@var_AA]
|
||
mov es:[bx+0Eh], ax
|
||
mov ax, [bp+@@var_A6]
|
||
mov es:[bx+10h], ax
|
||
mov ax, [bp+@@var_A2]
|
||
mov es:[bx+12h], ax
|
||
mov ax, [bp+@@var_92]
|
||
mov es:[bx+14h], ax
|
||
mov ax, [bp+@@var_9A]
|
||
mov es:[bx+16h], ax
|
||
mov ax, [bp+@@var_96]
|
||
mov es:[bx+18h], ax
|
||
mov ss, [bp+@@var_8A]
|
||
mov sp, bx
|
||
pop es
|
||
pop ds
|
||
popa
|
||
popf
|
||
retf
|
||
jmp short xx_11505
|
||
|
||
xx_11500:
|
||
nopcall ___call_terminate
|
||
|
||
xx_11505:
|
||
mov sp, bp
|
||
pop es
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
pop bx
|
||
pop bx
|
||
pop dx
|
||
pop cx
|
||
pop ax
|
||
retf
|
||
_RaiseException endp
|
||
|
||
xx_11512 db 4 dup(0)
|
||
dd xx_11574
|
||
db 10h dup(0)
|
||
xx_1152A db 4 dup(0), 0E2h, 0FFh, 2 dup(0), 3, 0
|
||
dd xx_11512
|
||
db 2 dup(0), 4, 0
|
||
|
||
|
||
xx_1153C proc near
|
||
|
||
@@var_1E = word ptr -1Eh
|
||
@@var_12 = word ptr -12h
|
||
@@arg_0 = word ptr 4
|
||
@@arg_2 = word ptr 6
|
||
@@arg_4 = word ptr 8
|
||
@@arg_6 = word ptr 0Ah
|
||
@@arg_8 = word ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 1Eh
|
||
push si
|
||
push di
|
||
mov ax, seg xx_1152A
|
||
mov bx, offset xx_1152A
|
||
nopcall ___InitExceptBlocks
|
||
mov [bp+@@var_12], 6
|
||
mov ax, 1
|
||
push ax
|
||
push [bp+@@arg_8]
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
push [bp+@@arg_2]
|
||
push [bp+@@arg_0]
|
||
call xx_108AD
|
||
add sp, 0Ch
|
||
mov [bp+@@var_12], 0
|
||
jmp short xx_1157E
|
||
|
||
xx_11574:
|
||
nopcall ___call_terminate
|
||
nopcall @_CatchCleanup$qv ; _CatchCleanup(void)
|
||
|
||
xx_1157E:
|
||
push [bp+@@var_1E]
|
||
nopcall ___ExitExceptBlocks
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retn
|
||
xx_1153C endp
|
||
|
||
|
||
|
||
xx_1158C proc near
|
||
|
||
@@var_8 = dword ptr -8
|
||
@@var_4 = dword ptr -4
|
||
@@arg_0 = dword ptr 4
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 8
|
||
push si
|
||
push di
|
||
les bx, [bp+@@arg_0]
|
||
cmp byte ptr es:[bx+38h], 0
|
||
jz short xx_11607
|
||
les bx, [bp+@@arg_0]
|
||
test byte ptr es:[bx+16h], 2
|
||
jz short xx_115FF
|
||
nopcall @__RefDestructorCount$qv ; __RefDestructorCount(void)
|
||
mov bx, ax
|
||
mov es, dx
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_8+2], dx
|
||
mov word ptr [bp+@@var_8], ax
|
||
les bx, [bp+@@arg_0]
|
||
les bx, es:[bx+4]
|
||
mov word ptr [bp+@@var_4+2], es
|
||
mov word ptr [bp+@@var_4], bx
|
||
push word ptr es:[bx+22h]
|
||
les bx, [bp+@@var_4]
|
||
push word ptr es:[bx+20h]
|
||
push word ptr es:[bx+1Eh]
|
||
mov ax, word ptr [bp+@@arg_0]
|
||
add ax, 3Ah ; ':'
|
||
push word ptr [bp+@@arg_0+2]
|
||
push ax
|
||
call xx_1153C
|
||
add sp, 0Ah
|
||
nopcall @__RefDestructorCount$qv ; __RefDestructorCount(void)
|
||
mov bx, word ptr [bp+@@var_8+2]
|
||
mov cx, word ptr [bp+@@var_8]
|
||
mov es, dx
|
||
xchg ax, bx
|
||
mov es:[bx+2], ax
|
||
mov es:[bx], cx
|
||
|
||
xx_115FF:
|
||
les bx, [bp+@@arg_0]
|
||
mov byte ptr es:[bx+38h], 0
|
||
|
||
xx_11607:
|
||
les bx, [bp+@@arg_0]
|
||
cmp byte ptr es:[bx+39h], 0
|
||
jz short xx_1165E
|
||
les bx, [bp+@@arg_0]
|
||
mov dx, es:[bx+34h]
|
||
mov ax, es:[bx+32h]
|
||
mov word ptr [bp+@@var_8+2], dx
|
||
mov word ptr [bp+@@var_8], ax
|
||
les bx, [bp+@@var_8]
|
||
test byte ptr es:[bx+2], 2
|
||
jz short xx_11656
|
||
les bx, [bp+@@var_8]
|
||
test byte ptr es:[bx+8], 2
|
||
jz short xx_11656
|
||
les bx, [bp+@@var_8]
|
||
push word ptr es:[bx+22h]
|
||
les bx, [bp+@@var_8]
|
||
push word ptr es:[bx+20h]
|
||
push word ptr es:[bx+1Eh]
|
||
push ss
|
||
les bx, [bp+@@arg_0]
|
||
push word ptr es:[bx+36h]
|
||
call xx_1153C
|
||
add sp, 0Ah
|
||
|
||
xx_11656:
|
||
les bx, [bp+@@arg_0]
|
||
mov byte ptr es:[bx+39h], 0
|
||
|
||
xx_1165E:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retn
|
||
xx_1158C endp
|
||
|
||
|
||
|
||
; _CatchCleanup(void)
|
||
public @_CatchCleanup$qv
|
||
@_CatchCleanup$qv proc far
|
||
|
||
@@var_6 = word ptr -6
|
||
@@var_4 = dword ptr -4
|
||
@@arg_0 = dword ptr 6
|
||
@@arg_6 = word ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 6
|
||
push si
|
||
push di
|
||
les bx, ss:16h
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_4+2], dx
|
||
mov word ptr [bp+@@var_4], ax
|
||
les bx, [bp+@@var_4]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, ss:16h
|
||
mov es:[bx+2], dx
|
||
mov es:[bx], ax
|
||
les bx, [bp+@@var_4]
|
||
mov ax, es:[bx+24h]
|
||
mov [bp+@@var_6], ax
|
||
mov bx, [bp+@@var_6]
|
||
les ax, ss:[bx+@@arg_0]
|
||
mov bx, [bp+@@var_6]
|
||
add ax, ss:[bx+@@arg_6]
|
||
mov bx, ax
|
||
mov ax, es:[bx]
|
||
mov bx, [bp+@@var_6]
|
||
mov ss:[bx+@@arg_6], ax
|
||
push word ptr [bp+@@var_4+2]
|
||
push word ptr [bp+@@var_4]
|
||
call xx_1158C
|
||
pop cx
|
||
pop cx
|
||
push ds
|
||
les bx, [bp+@@var_4]
|
||
mov ds, word ptr es:[bx+18h]
|
||
push word ptr [bp+@@var_4+2]
|
||
push word ptr [bp+@@var_4]
|
||
les bx, [bp+@@var_4]
|
||
call dword ptr es:[bx+1Ah]
|
||
pop cx
|
||
pop cx
|
||
pop ds
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
@_CatchCleanup$qv endp
|
||
|
||
|
||
|
||
xx_116E1 proc near
|
||
|
||
@@var_C = word ptr -0Ch
|
||
@@var_A = word ptr -0Ah
|
||
@@var_8 = dword ptr -8
|
||
@@var_4 = dword ptr -4
|
||
@@arg_0 = dword ptr 4
|
||
@@arg_4 = word ptr 8
|
||
@@arg_6 = word ptr 0Ah
|
||
@@arg_8 = word ptr 0Ch
|
||
@@arg_A = word ptr 0Eh
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 0Ch
|
||
push si
|
||
push di
|
||
|
||
xx_116E9:
|
||
les bx, [bp+@@arg_0]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_4+2], dx
|
||
mov word ptr [bp+@@var_4], ax
|
||
mov ax, word ptr [bp+@@var_4]
|
||
or ax, word ptr [bp+@@var_4+2]
|
||
jnz short xx_11706
|
||
xor ax, ax
|
||
jmp xx_117A7
|
||
|
||
xx_11706:
|
||
mov bx, [bp+@@arg_A]
|
||
mov dx, ss:[bx+2]
|
||
mov ax, ss:[bx]
|
||
les bx, [bp+@@arg_0]
|
||
add ax, es:[bx+4]
|
||
mov word ptr [bp+@@var_8+2], dx
|
||
mov word ptr [bp+@@var_8], ax
|
||
cmp [bp+@@arg_4], 0
|
||
jz short xx_11732
|
||
les bx, [bp+@@var_8]
|
||
mov ax, es:[bx]
|
||
mov dx, word ptr [bp+@@var_8+2]
|
||
mov word ptr [bp+@@var_8+2], dx
|
||
mov word ptr [bp+@@var_8], ax
|
||
|
||
xx_11732:
|
||
push [bp+@@arg_8]
|
||
push [bp+@@arg_6]
|
||
push word ptr [bp+@@var_4+2]
|
||
push word ptr [bp+@@var_4]
|
||
call xx_10061
|
||
add sp, 8
|
||
or ax, ax
|
||
jnz short xx_1178B
|
||
les bx, [bp+@@var_4]
|
||
test byte ptr es:[bx+2], 2
|
||
jz short xx_117A0
|
||
les bx, [bp+@@var_4]
|
||
mov dx, word ptr [bp+@@var_4+2]
|
||
mov ax, word ptr [bp+@@var_4]
|
||
add ax, es:[bx+0Ah]
|
||
mov [bp+@@var_A], dx
|
||
mov [bp+@@var_C], ax
|
||
mov ax, [bp+@@var_C]
|
||
or ax, [bp+@@var_A]
|
||
jz short xx_117A0
|
||
lea ax, [bp+@@var_8]
|
||
push ax
|
||
push [bp+@@arg_8]
|
||
push [bp+@@arg_6]
|
||
xor ax, ax
|
||
push ax
|
||
push [bp+@@var_A]
|
||
push [bp+@@var_C]
|
||
call xx_116E1
|
||
add sp, 0Ch
|
||
or ax, ax
|
||
jz short xx_117A0
|
||
|
||
xx_1178B:
|
||
mov bx, [bp+@@arg_A]
|
||
mov dx, word ptr [bp+@@var_8+2]
|
||
mov ax, word ptr [bp+@@var_8]
|
||
mov ss:[bx+2], dx
|
||
mov ss:[bx], ax
|
||
mov ax, 1
|
||
jmp short xx_117A7
|
||
|
||
xx_117A0:
|
||
add word ptr [bp+@@arg_0], 8
|
||
jmp xx_116E9
|
||
|
||
xx_117A7:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retn
|
||
xx_116E1 endp
|
||
|
||
|
||
|
||
xx_117AD proc far
|
||
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
@@arg_4 = dword ptr 0Ah
|
||
@@arg_8 = word ptr 0Eh
|
||
@@arg_A = word ptr 10h
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 4
|
||
push si
|
||
push di
|
||
mov ax, [bp+@@arg_0]
|
||
or ax, [bp+@@arg_2]
|
||
jz short xx_1181E
|
||
les bx, [bp+@@arg_4]
|
||
mov dx, word ptr [bp+@@arg_4+2]
|
||
mov ax, word ptr [bp+@@arg_4]
|
||
add ax, es:[bx+0Ah]
|
||
mov [bp+@@var_2], dx
|
||
mov [bp+@@var_4], ax
|
||
lea ax, [bp+@@arg_0]
|
||
push ax
|
||
push [bp+@@arg_A]
|
||
push [bp+@@arg_8]
|
||
xor ax, ax
|
||
push ax
|
||
push [bp+@@var_2]
|
||
push [bp+@@var_4]
|
||
call xx_116E1
|
||
add sp, 0Ch
|
||
or ax, ax
|
||
jnz short xx_1181E
|
||
les bx, [bp+@@arg_4]
|
||
mov dx, word ptr [bp+@@arg_4+2]
|
||
mov ax, word ptr [bp+@@arg_4]
|
||
add ax, es:[bx+0Ch]
|
||
mov [bp+@@var_2], dx
|
||
mov [bp+@@var_4], ax
|
||
lea ax, [bp+@@arg_0]
|
||
push ax
|
||
push [bp+@@arg_A]
|
||
push [bp+@@arg_8]
|
||
mov ax, 1
|
||
push ax
|
||
push [bp+@@var_2]
|
||
push [bp+@@var_4]
|
||
call xx_116E1
|
||
add sp, 0Ch
|
||
or ax, ax
|
||
jz short xx_11826
|
||
|
||
xx_1181E:
|
||
mov dx, [bp+@@arg_2]
|
||
mov ax, [bp+@@arg_0]
|
||
jmp short xx_1182A
|
||
|
||
xx_11826:
|
||
xor dx, dx
|
||
xor ax, ax
|
||
|
||
xx_1182A:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
xx_117AD endp
|
||
|
||
|
||
|
||
; int __fastcall xx_11830(int, int, int, __int32, int, __int32, __int32, int)
|
||
xx_11830 proc near
|
||
|
||
@@var_18 = word ptr -18h
|
||
@@var_16 = word ptr -16h
|
||
@@var_14 = word ptr -14h
|
||
@@var_12 = word ptr -12h
|
||
@@var_10 = word ptr -10h
|
||
n = word ptr -0Eh
|
||
@@var_A = word ptr -0Ah
|
||
@@var_8 = dword ptr -8
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = word ptr 4
|
||
@@arg_6 = dword ptr 0Ah
|
||
@@arg_A = word ptr 0Eh
|
||
@@arg_E = word ptr 12h
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 18h
|
||
push si
|
||
push di
|
||
les bx, dword ptr [bp+@@arg_0]
|
||
mov dx, es:[bx+6]
|
||
mov ax, es:[bx+4]
|
||
mov [bp+@@var_2], dx
|
||
mov [bp+@@var_4], ax
|
||
les bx, [bp+@@arg_6]
|
||
mov es:[bx+34h], dx
|
||
mov es:[bx+32h], ax
|
||
mov ax, [bp+@@var_4]
|
||
or ax, [bp+@@var_2]
|
||
jnz short xx_1185F
|
||
jmp xx_11AD0
|
||
|
||
xx_1185F:
|
||
les bx, dword ptr [bp+@@arg_0]
|
||
test byte ptr es:[bx+8], 80h
|
||
jz short xx_1186C
|
||
jmp xx_11AD0
|
||
|
||
xx_1186C:
|
||
les bx, dword ptr [bp+@@arg_0]
|
||
mov ax, es:[bx+8]
|
||
and ax, 1
|
||
neg ax
|
||
sbb ax, ax
|
||
inc ax
|
||
mov [bp+@@var_14], ax
|
||
mov dx, word ptr [bp+@@arg_6+2]
|
||
mov ax, word ptr [bp+@@arg_6]
|
||
add ax, 3Ah ; ':'
|
||
mov [bp+n+2], dx
|
||
mov [bp+n], ax
|
||
les bx, [bp+@@arg_6]
|
||
mov byte ptr es:[bx+39h], 1
|
||
les bx, dword ptr [bp+@@arg_A]
|
||
mov ax, es:[bx]
|
||
add ax, [bp+@@arg_E]
|
||
les bx, [bp+@@arg_6]
|
||
mov es:[bx+36h], ax
|
||
mov dx, [bp+@@var_2]
|
||
mov ax, [bp+@@var_4]
|
||
mov word ptr [bp+@@var_8+2], dx
|
||
mov word ptr [bp+@@var_8], ax
|
||
les bx, [bp+@@var_8]
|
||
mov ax, es:[bx]
|
||
mov [bp+@@var_A], ax
|
||
les bx, [bp+@@var_8]
|
||
mov cx, es:[bx+2]
|
||
mov dx, cx
|
||
test cl, 30h
|
||
jz short xx_118E0
|
||
les bx, [bp+@@var_8]
|
||
mov dx, es:[bx+8]
|
||
mov ax, es:[bx+6]
|
||
mov word ptr [bp+@@var_8+2], dx
|
||
mov word ptr [bp+@@var_8], ax
|
||
les bx, [bp+@@var_8]
|
||
mov dx, es:[bx+2]
|
||
|
||
xx_118E0:
|
||
test cl, 10h
|
||
jz short xx_11908
|
||
les bx, [bp+@@arg_6]
|
||
test byte ptr es:[bx+0Ch], 1
|
||
jz short xx_11908
|
||
push [bp+@@var_A]
|
||
xor ax, ax
|
||
push ax ; n
|
||
push ss ; c
|
||
les bx, [bp+@@arg_6]
|
||
push word ptr es:[bx+36h] ; s
|
||
nopcall _memset
|
||
add sp, 8
|
||
jmp xx_11A33
|
||
|
||
xx_11908:
|
||
test dl, 1
|
||
jnz short xx_11910
|
||
jmp xx_119B4
|
||
|
||
xx_11910:
|
||
test cl, 30h
|
||
jnz short xx_11918
|
||
jmp xx_119B4
|
||
|
||
xx_11918:
|
||
test cl, 20h
|
||
jz short xx_1191F
|
||
jmp short xx_11942
|
||
|
||
xx_1191F:
|
||
les bx, dword ptr [bp+n]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov [bp+n+2], dx
|
||
mov [bp+n], ax
|
||
les bx, [bp+@@arg_6]
|
||
test byte ptr es:[bx+15h], 10h
|
||
jz short xx_11949
|
||
mov ax, [bp+n]
|
||
mov [bp+n+2], ds
|
||
mov [bp+n], ax
|
||
|
||
xx_11942:
|
||
mov [bp+@@var_14], 1
|
||
jmp short $+2
|
||
|
||
xx_11949:
|
||
push word ptr [bp+@@var_8+2]
|
||
push word ptr [bp+@@var_8]
|
||
les bx, [bp+@@arg_6]
|
||
push word ptr es:[bx+12h]
|
||
push word ptr es:[bx+10h]
|
||
call xx_10061
|
||
add sp, 8
|
||
or ax, ax
|
||
jnz short xx_119AA
|
||
mov dx, [bp+n+2]
|
||
mov ax, [bp+n]
|
||
mov [bp+@@var_16], dx
|
||
mov [bp+@@var_18], ax
|
||
push word ptr [bp+@@var_8+2]
|
||
push word ptr [bp+@@var_8]
|
||
les bx, [bp+@@arg_6]
|
||
push word ptr es:[bx+12h]
|
||
push word ptr es:[bx+10h]
|
||
push [bp+n+2]
|
||
push [bp+n]
|
||
call xx_117AD
|
||
add sp, 0Ch
|
||
mov [bp+n+2], dx
|
||
mov [bp+n], ax
|
||
mov dx, [bp+n+2]
|
||
mov ax, [bp+n]
|
||
cmp dx, [bp+@@var_16]
|
||
jnz short xx_119A5
|
||
cmp ax, [bp+@@var_18]
|
||
jz short xx_119AA
|
||
|
||
xx_119A5:
|
||
mov [bp+@@var_14], 1
|
||
|
||
xx_119AA:
|
||
push [bp+@@var_A]
|
||
push ss
|
||
lea ax, [bp+n]
|
||
jmp xx_11A7E
|
||
|
||
xx_119B4:
|
||
les bx, [bp+@@arg_6]
|
||
test byte ptr es:[bx+14h], 1
|
||
jz short xx_11A3A
|
||
push word ptr [bp+@@var_8+2]
|
||
push word ptr [bp+@@var_8]
|
||
les bx, [bp+@@arg_6]
|
||
push word ptr es:[bx+12h]
|
||
push word ptr es:[bx+10h]
|
||
call xx_10061
|
||
add sp, 8
|
||
or ax, ax
|
||
jnz short xx_11A03
|
||
push word ptr [bp+@@var_8+2]
|
||
push word ptr [bp+@@var_8]
|
||
les bx, [bp+@@arg_6]
|
||
push word ptr es:[bx+12h]
|
||
push word ptr es:[bx+10h]
|
||
push [bp+n+2]
|
||
push [bp+n]
|
||
call xx_117AD
|
||
add sp, 0Ch
|
||
mov [bp+n+2], dx
|
||
mov [bp+n], ax
|
||
mov [bp+@@var_14], 1
|
||
|
||
xx_11A03:
|
||
les bx, [bp+@@var_8]
|
||
test byte ptr es:[bx+8], 1
|
||
jz short xx_11A81
|
||
les bx, dword ptr [bp+@@arg_0]
|
||
push word ptr es:[bx+0Eh]
|
||
les bx, dword ptr [bp+@@arg_0]
|
||
push word ptr es:[bx+0Ch]
|
||
push word ptr es:[bx+0Ah]
|
||
push [bp+n+2]
|
||
push [bp+n]
|
||
push ss
|
||
les bx, [bp+@@arg_6]
|
||
push word ptr es:[bx+36h]
|
||
call xx_1055F
|
||
add sp, 0Eh
|
||
|
||
xx_11A33:
|
||
mov [bp+@@var_14], 1
|
||
jmp short xx_11A9A
|
||
|
||
xx_11A3A:
|
||
test cl, 20h
|
||
jz short xx_11A59
|
||
push [bp+@@var_A]
|
||
push ss
|
||
lea ax, [bp+n]
|
||
push ax ; n
|
||
push ss ; src
|
||
les bx, [bp+@@arg_6]
|
||
push word ptr es:[bx+36h] ; dest
|
||
nopcall _memcpy
|
||
add sp, 0Ah
|
||
jmp short xx_11A33
|
||
|
||
xx_11A59:
|
||
test cl, 10h
|
||
jz short xx_11A81
|
||
les bx, [bp+@@arg_6]
|
||
mov ax, es:[bx+0Eh]
|
||
cmp ax, [bp+@@var_A]
|
||
jz short xx_11A81
|
||
les bx, dword ptr [bp+n]
|
||
mov ax, es:[bx]
|
||
mov [bp+@@var_10], ds
|
||
mov [bp+@@var_12], ax
|
||
mov ax, 4
|
||
push ax
|
||
push ss
|
||
lea ax, [bp+@@var_12]
|
||
|
||
xx_11A7E:
|
||
push ax
|
||
jmp short xx_11A8A
|
||
|
||
xx_11A81:
|
||
push [bp+@@var_A]
|
||
push [bp+n+2]
|
||
push [bp+n] ; n
|
||
|
||
xx_11A8A:
|
||
push ss ; src
|
||
les bx, [bp+@@arg_6]
|
||
push word ptr es:[bx+36h] ; dest
|
||
nopcall _memcpy
|
||
add sp, 0Ah
|
||
|
||
xx_11A9A:
|
||
cmp [bp+@@var_14], 0
|
||
jnz short xx_11AD0
|
||
les bx, [bp+@@var_8]
|
||
test byte ptr es:[bx+8], 2
|
||
jz short xx_11AC8
|
||
les bx, [bp+@@var_8]
|
||
push word ptr es:[bx+22h]
|
||
les bx, [bp+@@var_8]
|
||
push word ptr es:[bx+20h]
|
||
push word ptr es:[bx+1Eh]
|
||
push [bp+n+2]
|
||
push [bp+n]
|
||
call xx_1153C
|
||
add sp, 0Ah
|
||
|
||
xx_11AC8:
|
||
les bx, [bp+@@arg_6]
|
||
mov byte ptr es:[bx+38h], 0
|
||
|
||
xx_11AD0:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retn
|
||
xx_11830 endp
|
||
|
||
|
||
|
||
xx_11AD6 proc near
|
||
|
||
@@var_20 = word ptr -20h
|
||
@@var_1E = word ptr -1Eh
|
||
@@var_1C = word ptr -1Ch
|
||
@@var_1A = dword ptr -1Ah
|
||
@@var_16 = dword ptr -16h
|
||
@@var_12 = word ptr -12h
|
||
@@var_10 = word ptr -10h
|
||
@@var_E = word ptr -0Eh
|
||
@@var_C = word ptr -0Ch
|
||
@@var_A = word ptr -0Ah
|
||
@@var_8 = word ptr -8
|
||
@@var_6 = word ptr -6
|
||
@@var_4 = dword ptr -4
|
||
@@arg_0 = word ptr 4
|
||
@@arg_2 = word ptr 6
|
||
@@arg_4 = word ptr 8
|
||
@@arg_8 = word ptr 0Ch
|
||
@@arg_A = word ptr 0Eh
|
||
@@arg_C = word ptr 10h
|
||
@@arg_E = word ptr 12h
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 20h
|
||
push si
|
||
push di
|
||
mov [bp+@@var_E], 0
|
||
les bx, ss:16h
|
||
mov si, [bp+@@arg_0]
|
||
mov ax, ss:[si+@@arg_A]
|
||
mov es:[bx+6], ax
|
||
mov [bp+@@var_C], ax
|
||
les bx, ss:16h
|
||
mov si, [bp+@@arg_0]
|
||
mov ax, ss:[si+@@arg_C]
|
||
mov es:[bx+8], ax
|
||
mov bx, [bp+@@arg_0]
|
||
mov dx, ss:[bx+@@arg_4]
|
||
mov ax, ss:[bx+@@arg_2]
|
||
mov word ptr [bp+@@var_4+2], dx
|
||
mov word ptr [bp+@@var_4], ax
|
||
les bx, [bp+@@var_4]
|
||
mov ax, [bp+@@arg_0]
|
||
sub ax, es:[bx+4]
|
||
mov [bp+@@var_A], ax
|
||
mov bx, [bp+@@arg_0]
|
||
mov ax, ss:[bx+@@arg_8]
|
||
jmp xx_11C7B
|
||
|
||
xx_11B2E:
|
||
mov ax, [bp+@@var_6]
|
||
mov [bp+@@var_12], ax
|
||
les bx, [bp+@@var_4]
|
||
add bx, [bp+@@var_12]
|
||
mov ax, es:[bx]
|
||
mov [bp+@@var_8], ax
|
||
add [bp+@@var_12], 2
|
||
les bx, [bp+@@var_4]
|
||
add bx, [bp+@@var_12]
|
||
mov ax, es:[bx]
|
||
mov [bp+@@var_10], ax
|
||
add [bp+@@var_12], 2
|
||
mov bx, [bp+@@arg_0]
|
||
mov ax, [bp+@@var_8]
|
||
mov ss:[bx+@@arg_8], ax
|
||
mov bx, [bp+@@var_10]
|
||
cmp bx, 5
|
||
jbe short xx_11B69
|
||
jmp xx_11C78
|
||
|
||
xx_11B69:
|
||
add bx, bx
|
||
jmp cs:xx_11C95[bx]
|
||
|
||
xx_11B70:
|
||
les bx, [bp+@@var_4]
|
||
add bx, [bp+@@var_12]
|
||
mov dx, es:[bx+6]
|
||
mov ax, es:[bx+4]
|
||
mov word ptr xx_131A0+2, dx
|
||
mov word ptr xx_131A0, ax
|
||
mov bx, [bp+@@arg_0]
|
||
mov ss:[bx+@@arg_E], 1
|
||
push ds
|
||
pop es
|
||
assume es:DGROUP
|
||
push ds
|
||
mov ds, [bp+@@var_C]
|
||
push bp
|
||
mov bp, [bp+@@var_A]
|
||
call es:xx_131A0
|
||
pop bp
|
||
pop ds
|
||
mov bx, [bp+@@arg_0]
|
||
mov ss:[bx+@@arg_E], 0
|
||
jmp xx_11C78
|
||
|
||
xx_11BAB:
|
||
add [bp+@@var_12], 4
|
||
mov dx, ss:18h
|
||
mov ax, ss:16h
|
||
jmp short xx_11BDA
|
||
|
||
xx_11BBA:
|
||
les bx, [bp+@@var_16]
|
||
assume es:nothing
|
||
mov ax, es:[bx+24h]
|
||
cmp ax, [bp+@@arg_0]
|
||
jnz short xx_11BD4
|
||
les bx, [bp+@@var_16]
|
||
mov ax, es:[bx+2Ah]
|
||
cmp ax, [bp+@@var_6]
|
||
jnz short xx_11BD4
|
||
jmp short xx_11BF4
|
||
|
||
xx_11BD4:
|
||
mov dx, word ptr [bp+@@var_16+2]
|
||
mov ax, word ptr [bp+@@var_16]
|
||
|
||
xx_11BDA:
|
||
mov word ptr [bp+@@var_1A+2], dx
|
||
mov word ptr [bp+@@var_1A], ax
|
||
les bx, [bp+@@var_1A]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_16+2], dx
|
||
mov word ptr [bp+@@var_16], ax
|
||
or ax, dx
|
||
jnz short xx_11BBA
|
||
|
||
xx_11BF4:
|
||
les bx, [bp+@@var_16]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
les bx, [bp+@@var_1A]
|
||
mov es:[bx+2], dx
|
||
mov es:[bx], ax
|
||
push word ptr [bp+@@var_16+2]
|
||
push word ptr [bp+@@var_16]
|
||
call xx_1158C
|
||
pop cx
|
||
pop cx
|
||
push ds
|
||
les bx, [bp+@@var_16]
|
||
mov ds, word ptr es:[bx+18h]
|
||
push word ptr [bp+@@var_16+2]
|
||
push word ptr [bp+@@var_16]
|
||
les bx, [bp+@@var_16]
|
||
call dword ptr es:[bx+1Ah]
|
||
pop cx
|
||
pop cx
|
||
pop ds
|
||
jmp short xx_11C78
|
||
|
||
xx_11C2D:
|
||
les bx, [bp+@@var_4]
|
||
add bx, [bp+@@var_12]
|
||
mov ax, es:[bx]
|
||
mov [bp+@@var_1C], ax
|
||
add [bp+@@var_12], 2
|
||
les bx, [bp+@@var_4]
|
||
add bx, [bp+@@var_12]
|
||
mov ax, es:[bx]
|
||
mov [bp+@@var_1E], ds
|
||
mov [bp+@@var_20], ax
|
||
mov ax, word ptr [bp+@@var_4+2]
|
||
mov dx, [bp+@@var_20]
|
||
mov [bp+@@var_1E], ax
|
||
mov [bp+@@var_20], dx
|
||
push [bp+@@var_A]
|
||
push [bp+@@arg_0]
|
||
mov ax, [bp+@@var_1C]
|
||
add ax, [bp+@@var_E]
|
||
cwd
|
||
push dx
|
||
push ax
|
||
push [bp+@@var_1E]
|
||
push [bp+@@var_20]
|
||
call xx_126AC
|
||
add sp, 0Ch
|
||
mov [bp+@@var_E], ax
|
||
jmp short $+2
|
||
|
||
xx_11C78:
|
||
mov ax, [bp+@@var_8]
|
||
|
||
xx_11C7B:
|
||
mov [bp+@@var_6], ax
|
||
cmp [bp+@@var_6], 0
|
||
jz short xx_11C8F
|
||
mov ax, [bp+@@var_6]
|
||
cmp ax, [bp+@@arg_2]
|
||
jz short xx_11C8F
|
||
jmp xx_11B2E
|
||
|
||
xx_11C8F:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retn
|
||
xx_11AD6 endp
|
||
|
||
xx_11C95 dw offset xx_11B70
|
||
dw offset xx_11C78
|
||
dw offset xx_11C78
|
||
dw offset xx_11C78
|
||
dw offset xx_11BAB
|
||
dw offset xx_11C2D
|
||
|
||
|
||
public __Local_unwind
|
||
__Local_unwind proc far
|
||
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = word ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 2
|
||
push si
|
||
push di
|
||
mov ax, ss:14h
|
||
mov [bp+@@var_2], ax
|
||
push [bp+@@arg_0]
|
||
push [bp+@@var_2]
|
||
call xx_11AD6
|
||
pop cx
|
||
pop cx
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
__Local_unwind endp
|
||
|
||
|
||
|
||
public __Return_unwind
|
||
__Return_unwind proc far
|
||
|
||
@@var_2 = word ptr -2
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 2
|
||
push si
|
||
push di
|
||
mov ax, ss:14h
|
||
mov [bp+@@var_2], ax
|
||
xor ax, ax
|
||
push ax
|
||
push [bp+@@var_2]
|
||
call xx_11AD6
|
||
pop cx
|
||
pop cx
|
||
mov bx, [bp+@@var_2]
|
||
mov ax, ss:[bx]
|
||
mov ss:14h, ax
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
__Return_unwind endp
|
||
|
||
|
||
|
||
xx_11CEB proc near
|
||
|
||
@@var_8 = word ptr -8
|
||
@@var_6 = word ptr -6
|
||
@@var_4 = dword ptr -4
|
||
@@arg_0 = word ptr 4
|
||
@@arg_2 = word ptr 6
|
||
@@arg_4 = dword ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 8
|
||
push si
|
||
push di
|
||
mov dx, [bp+@@arg_2]
|
||
mov ax, [bp+@@arg_0]
|
||
add ax, 4
|
||
mov word ptr [bp+@@var_4+2], dx
|
||
mov word ptr [bp+@@var_4], ax
|
||
jmp short xx_11D59
|
||
|
||
xx_11D04:
|
||
les bx, [bp+@@var_4]
|
||
mov dx, es:[bx+6]
|
||
mov ax, es:[bx+4]
|
||
mov [bp+@@var_6], dx
|
||
mov [bp+@@var_8], ax
|
||
mov ax, [bp+@@var_8]
|
||
or ax, [bp+@@var_6]
|
||
jz short xx_11D4D
|
||
xor ax, ax
|
||
push ax
|
||
les bx, [bp+@@arg_4]
|
||
push word ptr es:[bx+0Ch]
|
||
push [bp+@@var_6]
|
||
push [bp+@@var_8]
|
||
les bx, [bp+@@arg_4]
|
||
push word ptr es:[bx+0Ah]
|
||
push word ptr es:[bx+8]
|
||
les bx, [bp+@@arg_4]
|
||
push word ptr es:[bx+6]
|
||
push word ptr es:[bx+4]
|
||
call xx_1045A
|
||
add sp, 10h
|
||
or ax, ax
|
||
jz short xx_11D55
|
||
|
||
xx_11D4D:
|
||
mov dx, word ptr [bp+@@var_4+2]
|
||
mov ax, word ptr [bp+@@var_4]
|
||
jmp short xx_11D69
|
||
|
||
xx_11D55:
|
||
add word ptr [bp+@@var_4], 10h
|
||
|
||
xx_11D59:
|
||
les bx, [bp+@@var_4]
|
||
mov ax, es:[bx]
|
||
or ax, es:[bx+2]
|
||
jnz short xx_11D04
|
||
xor dx, dx
|
||
xor ax, ax
|
||
|
||
xx_11D69:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retn
|
||
xx_11CEB endp
|
||
|
||
db 2 dup(2Ah), 42h, 2 dup(43h), 78h, 68h, 31h
|
||
|
||
|
||
public __ExceptionHandler
|
||
__ExceptionHandler proc far
|
||
|
||
@@var_38 = word ptr -38h
|
||
@@var_36 = word ptr -36h
|
||
@@var_34 = word ptr -34h
|
||
@@var_32 = word ptr -32h
|
||
@@var_30 = word ptr -30h
|
||
@@var_2E = word ptr -2Eh
|
||
@@var_2C = word ptr -2Ch
|
||
@@var_2A = word ptr -2Ah
|
||
@@var_28 = word ptr -28h
|
||
@@var_26 = dword ptr -26h
|
||
@@var_20 = dword ptr -20h
|
||
@@var_1C = word ptr -1Ch
|
||
@@var_1A = word ptr -1Ah
|
||
@@var_18 = word ptr -18h
|
||
@@var_16 = word ptr -16h
|
||
@@var_14 = word ptr -14h
|
||
@@var_12 = word ptr -12h
|
||
@@var_10 = dword ptr -10h
|
||
@@var_C = dword ptr -0Ch
|
||
@@var_8 = word ptr -8
|
||
@@var_6 = word ptr -6
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
@@arg_4 = word ptr 0Ah
|
||
@@arg_6 = word ptr 0Ch
|
||
@@arg_8 = word ptr 0Eh
|
||
@@arg_A = word ptr 10h
|
||
@@arg_E = word ptr 14h
|
||
@@arg_10 = word ptr 16h
|
||
@@arg_12 = word ptr 18h
|
||
@@arg_14 = word ptr 1Ah
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 38h
|
||
push si
|
||
push di
|
||
mov ax, [bp+@@arg_0]
|
||
mov [bp+@@var_2], ax
|
||
mov ax, [bp+@@arg_4]
|
||
mov [bp+@@var_4], ax
|
||
mov dx, [bp+@@arg_8]
|
||
mov ax, [bp+@@arg_6]
|
||
mov [bp+@@var_6], dx
|
||
mov [bp+@@var_8], ax
|
||
mov bx, [bp+@@var_2]
|
||
mov dx, ss:[bx+@@arg_14]
|
||
mov ax, ss:[bx+@@arg_12]
|
||
mov word ptr [bp+@@var_C+2], dx
|
||
mov word ptr [bp+@@var_C], ax
|
||
mov bx, [bp+@@var_4]
|
||
mov dx, ss:[bx+@@arg_2]
|
||
mov ax, ss:[bx+@@arg_0]
|
||
mov word ptr [bp+@@var_10+2], dx
|
||
mov word ptr [bp+@@var_10], ax
|
||
les bx, [bp+@@var_10]
|
||
mov ax, [bp+@@var_4]
|
||
sub ax, es:[bx+4]
|
||
mov [bp+@@var_16], ax
|
||
mov bx, [bp+@@var_4]
|
||
mov ax, ss:[bx+@@arg_4]
|
||
mov [bp+@@var_18], ax
|
||
les bx, ss:16h
|
||
mov si, [bp+@@var_4]
|
||
mov ax, ss:[si+@@arg_8]
|
||
mov es:[bx+6], ax
|
||
mov [bp+@@var_1A], ax
|
||
les bx, ss:16h
|
||
mov si, [bp+@@var_4]
|
||
mov ax, ss:[si+@@arg_A]
|
||
mov es:[bx+8], ax
|
||
mov [bp+@@var_1C], ax
|
||
mov bx, [bp+@@var_2]
|
||
test byte ptr ss:[bx+4], 6
|
||
jnz short xx_11E03
|
||
jmp xx_11EAB
|
||
|
||
xx_11E03:
|
||
xor ax, ax
|
||
push ax
|
||
push [bp+@@var_4]
|
||
call xx_11AD6
|
||
pop cx
|
||
pop cx
|
||
mov bx, [bp+@@var_2]
|
||
cmp word ptr ss:[bx+2], 0EEFh
|
||
jz short xx_11E1C
|
||
jmp xx_120DE
|
||
|
||
xx_11E1C:
|
||
cmp word ptr ss:[bx], 0FACEh
|
||
jz short xx_11E26
|
||
jmp xx_120DE
|
||
|
||
xx_11E26:
|
||
les bx, [bp+@@var_10]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_20+2], dx
|
||
mov word ptr [bp+@@var_20], ax
|
||
mov ax, word ptr [bp+@@var_20]
|
||
or ax, word ptr [bp+@@var_20+2]
|
||
jnz short xx_11E41
|
||
jmp xx_120DE
|
||
|
||
xx_11E41:
|
||
jmp short xx_11E7F
|
||
|
||
xx_11E43:
|
||
mov ax, 1
|
||
push ax
|
||
les bx, [bp+@@var_C]
|
||
push word ptr es:[bx+0Ch]
|
||
les bx, [bp+@@var_20]
|
||
push word ptr es:[bx+2]
|
||
push word ptr es:[bx]
|
||
les bx, [bp+@@var_C]
|
||
push word ptr es:[bx+0Ah]
|
||
push word ptr es:[bx+8]
|
||
les bx, [bp+@@var_C]
|
||
push word ptr es:[bx+6]
|
||
push word ptr es:[bx+4]
|
||
call xx_1045A
|
||
add sp, 10h
|
||
or ax, ax
|
||
jz short xx_11E7B
|
||
jmp xx_120DE
|
||
|
||
xx_11E7B:
|
||
add word ptr [bp+@@var_20], 4
|
||
|
||
xx_11E7F:
|
||
les bx, [bp+@@var_20]
|
||
mov ax, es:[bx]
|
||
or ax, es:[bx+2]
|
||
jnz short xx_11E43
|
||
mov ax, ss:14h
|
||
mov [bp-22h], ax
|
||
mov bx, [bp+@@var_4]
|
||
mov ax, ss:[bx]
|
||
mov ss:14h, ax
|
||
nopcall ___call_unexpected
|
||
mov ax, [bp-22h]
|
||
mov ss:14h, ax
|
||
jmp xx_120DE
|
||
|
||
xx_11EAB:
|
||
mov bx, [bp+@@var_4]
|
||
mov ax, ss:[bx+@@arg_6]
|
||
jmp xx_120D2
|
||
|
||
xx_11EB5:
|
||
mov ax, [bp+@@var_12]
|
||
mov word ptr [bp+@@var_20], ax
|
||
les bx, [bp+@@var_10]
|
||
add bx, word ptr [bp+@@var_20]
|
||
mov ax, es:[bx]
|
||
mov [bp+@@var_14], ax
|
||
add word ptr [bp+@@var_20], 2
|
||
les bx, [bp+@@var_10]
|
||
add bx, word ptr [bp+@@var_20]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_20+2], ax
|
||
add word ptr [bp+@@var_20], 2
|
||
mov bx, word ptr [bp+@@var_20+2]
|
||
cmp bx, 5
|
||
jbe short xx_11EE6
|
||
jmp xx_120CF
|
||
|
||
xx_11EE6:
|
||
add bx, bx
|
||
jmp cs:xx_120E7[bx]
|
||
|
||
xx_11EED:
|
||
mov bx, [bp+@@var_2]
|
||
cmp word ptr ss:[bx+2], 0EEFh
|
||
jz short xx_11EFB
|
||
jmp xx_120CF
|
||
|
||
xx_11EFB:
|
||
cmp word ptr ss:[bx], 0FACEh
|
||
jz short xx_11F05
|
||
jmp xx_120CF
|
||
|
||
xx_11F05:
|
||
les bx, [bp+@@var_10]
|
||
add bx, word ptr [bp+@@var_20]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_26], dx
|
||
mov [bp+@@var_28], ax
|
||
add word ptr [bp+@@var_20], 4
|
||
push word ptr [bp+@@var_C+2]
|
||
push word ptr [bp+@@var_C]
|
||
push word ptr [bp+@@var_26]
|
||
push [bp+@@var_28]
|
||
call xx_11CEB
|
||
add sp, 8
|
||
mov [bp-22h], dx
|
||
mov word ptr [bp+@@var_26+2], ax
|
||
mov ax, word ptr [bp+@@var_26+2]
|
||
or ax, [bp-22h]
|
||
jnz short xx_11F3F
|
||
jmp xx_120CF
|
||
|
||
xx_11F3F:
|
||
les bx, [bp+@@var_C]
|
||
mov ax, [bp+@@var_4]
|
||
mov es:[bx+24h], ax
|
||
les bx, [bp+@@var_C]
|
||
mov dx, [bp-22h]
|
||
mov ax, word ptr [bp+@@var_26+2]
|
||
mov es:[bx+28h], dx
|
||
mov es:[bx+26h], ax
|
||
les bx, [bp+@@var_C]
|
||
mov ax, word ptr [bp+@@var_20]
|
||
mov es:[bx+2Ah], ax
|
||
mov ax, [bp+@@var_12]
|
||
mov [bp+@@var_30], ax
|
||
mov ax, word ptr [bp+@@var_20]
|
||
mov [bp+@@var_2E], ax
|
||
les bx, [bp+@@var_26+2]
|
||
|
||
xx_11F73:
|
||
mov dx, es:[bx+2] ; int
|
||
mov ax, es:[bx]
|
||
mov [bp+@@var_2A], dx
|
||
mov [bp+@@var_2C], ax
|
||
push [bp+@@var_2]
|
||
push [bp+@@var_4]
|
||
call __Global_unwind
|
||
pop cx
|
||
pop cx
|
||
push [bp+@@var_30]
|
||
push [bp+@@var_4]
|
||
call xx_11AD6
|
||
pop cx
|
||
pop cx
|
||
mov bx, [bp+@@var_4]
|
||
mov ax, [bp+@@var_2E] ; int
|
||
mov ss:[bx+@@arg_6], ax
|
||
cmp word ptr [bp+@@var_20+2], 3
|
||
jnz short xx_11FC5
|
||
push [bp+@@var_16]
|
||
push word ptr [bp+@@var_26] ; __int32
|
||
push [bp+@@var_28] ; int
|
||
push word ptr [bp+@@var_C+2]
|
||
push word ptr [bp+@@var_C] ; __int32
|
||
push [bp+@@var_4]
|
||
push word ptr [bp-22h] ; __int32
|
||
push word ptr [bp+@@var_26+2] ; int
|
||
call xx_11830
|
||
add sp, 10h
|
||
|
||
xx_11FC5:
|
||
mov dx, [bp+@@var_2A]
|
||
mov ax, [bp+@@var_2C]
|
||
mov si, [bp+@@var_1C]
|
||
mov ds, [bp+@@var_1A]
|
||
mov bx, [bp+@@var_18]
|
||
mov cx, [bp+@@var_16]
|
||
call ___JumpToCatch__
|
||
jmp xx_120CF
|
||
|
||
xx_11FDE:
|
||
mov bx, [bp+@@var_2]
|
||
cmp word ptr ss:[bx+2], 0EEFh
|
||
jnz short xx_11FF3
|
||
cmp word ptr ss:[bx], 0FACEh
|
||
jnz short xx_11FF3
|
||
jmp xx_120CF
|
||
|
||
xx_11FF3:
|
||
mov ax, [bp+@@var_2]
|
||
mov [bp+@@var_36], ax
|
||
mov dx, [bp+@@var_6]
|
||
mov ax, [bp+@@var_8]
|
||
mov [bp+@@var_32], dx
|
||
mov [bp+@@var_34], ax
|
||
mov bx, [bp+@@var_2]
|
||
mov dx, ss:[bx+2]
|
||
mov ax, ss:[bx]
|
||
mov bx, [bp+@@var_4]
|
||
mov ss:[bx+@@arg_10], dx
|
||
mov ss:[bx+@@arg_E], ax
|
||
lea ax, [bp+@@var_36]
|
||
mov bx, [bp+@@var_4]
|
||
mov ss:[bx+@@arg_12], ax
|
||
les bx, [bp+@@var_10]
|
||
add bx, word ptr [bp+@@var_20]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr xx_131A4+2, dx
|
||
mov word ptr xx_131A4, ax
|
||
mov ax, ds
|
||
mov es, ax
|
||
assume es:DGROUP
|
||
push si
|
||
mov si, [bp+@@var_1C]
|
||
push ds
|
||
mov ds, [bp+@@var_1A]
|
||
push bp
|
||
mov bp, [bp+@@var_16]
|
||
call es:xx_131A4
|
||
pop bp
|
||
pop ds
|
||
pop si
|
||
mov [bp+@@var_38], ax
|
||
jmp short xx_1208A
|
||
|
||
xx_12055:
|
||
mov bx, [bp+@@var_2]
|
||
cmp word ptr ss:[bx+2], 0EEFh
|
||
jnz short xx_12069
|
||
cmp word ptr ss:[bx], 0FACEh
|
||
jnz short xx_12069
|
||
jmp short xx_120CF
|
||
|
||
xx_12069:
|
||
mov bx, [bp+@@var_2]
|
||
mov dx, ss:[bx+2]
|
||
mov ax, ss:[bx]
|
||
mov bx, [bp+@@var_4]
|
||
mov ss:[bx+@@arg_10], dx
|
||
mov ss:[bx+@@arg_E], ax
|
||
les bx, [bp+@@var_10]
|
||
assume es:nothing
|
||
add bx, word ptr [bp+@@var_20]
|
||
mov ax, es:[bx]
|
||
mov [bp+@@var_38], ax
|
||
|
||
xx_1208A:
|
||
cmp [bp+@@var_38], 0
|
||
jge short xx_120A8
|
||
mov bx, [bp+@@var_2]
|
||
test byte ptr ss:[bx+4], 1
|
||
jz short xx_120A4
|
||
mov bx, [bp+@@var_4]
|
||
mov ax, [bp+@@var_14]
|
||
mov ss:[bx+@@arg_6], ax
|
||
|
||
xx_120A4:
|
||
xor ax, ax
|
||
jmp short xx_120E1
|
||
|
||
xx_120A8:
|
||
cmp [bp+@@var_38], 0
|
||
jnz short xx_120B0
|
||
jmp short xx_120CF
|
||
|
||
xx_120B0:
|
||
mov bx, [bp+@@var_4]
|
||
mov ss:[bx+@@arg_12], 0
|
||
add word ptr [bp+@@var_20], 4
|
||
mov ax, [bp+@@var_14]
|
||
mov [bp+@@var_2E], ax
|
||
mov [bp+@@var_30], ax
|
||
les bx, [bp+@@var_10]
|
||
add bx, word ptr [bp+@@var_20]
|
||
jmp xx_11F73
|
||
|
||
xx_120CF:
|
||
mov ax, [bp+@@var_14]
|
||
|
||
xx_120D2:
|
||
mov [bp+@@var_12], ax
|
||
cmp [bp+@@var_12], 0
|
||
jz short xx_120DE
|
||
jmp xx_11EB5
|
||
|
||
xx_120DE:
|
||
mov ax, 1
|
||
|
||
xx_120E1:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
__ExceptionHandler endp
|
||
|
||
xx_120E7 dw offset xx_120CF
|
||
dw offset xx_11FDE
|
||
dw offset xx_12055
|
||
dw offset xx_11EED
|
||
dw offset xx_120CF
|
||
dw offset xx_120CF
|
||
xx_120F3 db 4 dup(0)
|
||
dd xx_12186
|
||
xx_120FB db 14h dup(0)
|
||
dd xx_12196
|
||
db 10h dup(0)
|
||
xx_12123 db 4 dup(0), 0E2h, 0FFh, 2 dup(0), 3, 0
|
||
dd xx_120FB+10h
|
||
db 2 dup(0), 4, 0, 6, 0, 3, 0
|
||
dd xx_120F3
|
||
db 6, 0, 4, 0
|
||
|
||
|
||
xx_12141 proc far
|
||
|
||
@@var_1E = word ptr -1Eh
|
||
@@var_12 = word ptr -12h
|
||
@@arg_0 = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
@@arg_4 = dword ptr 0Ah
|
||
@@arg_8 = word ptr 0Eh
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 1Eh
|
||
push si
|
||
push di
|
||
mov ax, seg xx_12123
|
||
mov bx, offset xx_12123
|
||
nopcall ___InitExceptBlocks
|
||
mov [bp+@@var_12], 6
|
||
mov [bp+@@var_12], 12h
|
||
push [bp+@@arg_8]
|
||
les bx, [bp+@@arg_4]
|
||
push word ptr es:[bx+22h]
|
||
les bx, [bp+@@arg_4]
|
||
push word ptr es:[bx+20h]
|
||
push word ptr es:[bx+1Eh]
|
||
push [bp+@@arg_2]
|
||
push [bp+@@arg_0]
|
||
call xx_108AD
|
||
add sp, 0Ch
|
||
mov [bp+@@var_12], 6
|
||
jmp short xx_1218F
|
||
|
||
xx_12186:
|
||
nopcall ___call_terminate
|
||
call @_CatchCleanup$qv ; _CatchCleanup(void)
|
||
|
||
xx_1218F:
|
||
mov [bp+@@var_12], 0
|
||
jmp short xx_1219F
|
||
|
||
xx_12196:
|
||
nopcall ___call_terminate
|
||
call @_CatchCleanup$qv ; _CatchCleanup(void)
|
||
|
||
xx_1219F:
|
||
push [bp+@@var_1E]
|
||
nopcall ___ExitExceptBlocks
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
xx_12141 endp
|
||
|
||
|
||
|
||
xx_121AD proc far
|
||
|
||
@@var_8 = dword ptr -8
|
||
@@var_4 = dword ptr -4
|
||
@@arg_0 = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
@@arg_4 = dword ptr 0Ah
|
||
@@arg_8 = word ptr 0Eh
|
||
@@arg_C = word ptr 12h
|
||
@@arg_E = word ptr 14h
|
||
@@arg_10 = word ptr 16h
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 8
|
||
push si
|
||
push di
|
||
mov cx, [bp+@@arg_C]
|
||
jmp short xx_1221C
|
||
|
||
xx_121BA:
|
||
les bx, [bp+@@arg_4]
|
||
mov dx, [bp+@@arg_2]
|
||
mov ax, [bp+@@arg_0]
|
||
add ax, es:[bx+4]
|
||
mov word ptr [bp+@@var_4+2], dx
|
||
mov word ptr [bp+@@var_4], ax
|
||
cmp [bp+@@arg_E], 0
|
||
jz short xx_121E2
|
||
les bx, [bp+@@var_4]
|
||
mov ax, es:[bx]
|
||
mov dx, word ptr [bp+@@var_4+2]
|
||
mov word ptr [bp+@@var_4+2], dx
|
||
mov word ptr [bp+@@var_4], ax
|
||
|
||
xx_121E2:
|
||
les bx, [bp+@@arg_4]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_8+2], dx
|
||
mov word ptr [bp+@@var_8], ax
|
||
les bx, [bp+@@var_8]
|
||
test byte ptr es:[bx+8], 2
|
||
jz short xx_1221C
|
||
push [bp+@@arg_10]
|
||
xor ax, ax
|
||
push ax
|
||
xor ax, ax
|
||
push ax
|
||
push cx
|
||
push word ptr [bp+@@var_8+2]
|
||
push word ptr [bp+@@var_8]
|
||
push word ptr [bp+@@var_4+2]
|
||
push word ptr [bp+@@var_4]
|
||
nopcall xx_1222E
|
||
add sp, 10h
|
||
xor cx, cx
|
||
|
||
xx_1221C:
|
||
sub word ptr [bp+@@arg_4], 8
|
||
mov ax, word ptr [bp+@@arg_4]
|
||
cmp ax, [bp+@@arg_8]
|
||
jnb short xx_121BA
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
xx_121AD endp
|
||
|
||
|
||
|
||
xx_1222E proc far
|
||
|
||
@@var_2A = word ptr -2Ah
|
||
@@var_28 = word ptr -28h
|
||
@@var_26 = word ptr -26h
|
||
@@var_24 = word ptr -24h
|
||
@@var_22 = dword ptr -22h
|
||
@@var_1E = word ptr -1Eh
|
||
@@var_1C = word ptr -1Ch
|
||
@@var_1A = word ptr -1Ah
|
||
@@var_18 = dword ptr -18h
|
||
@@var_14 = word ptr -14h
|
||
@@var_12 = word ptr -12h
|
||
@@var_10 = dword ptr -10h
|
||
@@var_C = word ptr -0Ch
|
||
@@var_A = word ptr -0Ah
|
||
@@var_8 = dword ptr -8
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
@@arg_4 = dword ptr 0Ah
|
||
@@arg_8 = word ptr 0Eh
|
||
@@arg_A = word ptr 10h
|
||
@@arg_C = word ptr 12h
|
||
@@arg_E = word ptr 14h
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 2Ah
|
||
push si
|
||
push di
|
||
cmp [bp+@@arg_C], 0
|
||
jz short xx_12245
|
||
les bx, [bp+@@arg_4]
|
||
mov ax, es:[bx+1Ah]
|
||
jmp short xx_1224C
|
||
|
||
xx_12245:
|
||
les bx, [bp+@@arg_4]
|
||
mov ax, es:[bx+1Ch]
|
||
|
||
xx_1224C:
|
||
mov [bp+@@var_1A], 0
|
||
mov [bp+@@var_1C], ax
|
||
mov ax, [bp+@@arg_8]
|
||
or ax, [bp+@@arg_A]
|
||
jz short xx_1226E
|
||
mov dx, [bp+@@arg_A]
|
||
mov ax, [bp+@@arg_8]
|
||
cmp dx, [bp+@@var_1A]
|
||
jb short xx_12287
|
||
jnz short xx_1226E
|
||
cmp ax, [bp+@@var_1C]
|
||
jb short xx_12287
|
||
|
||
xx_1226E:
|
||
push [bp+@@arg_C]
|
||
push word ptr [bp+@@arg_4+2]
|
||
push word ptr [bp+@@arg_4]
|
||
push [bp+@@arg_2]
|
||
push [bp+@@arg_0]
|
||
call xx_12141
|
||
add sp, 0Ah
|
||
jmp xx_124F3
|
||
|
||
xx_12287:
|
||
mov dx, [bp+@@arg_A]
|
||
mov ax, [bp+@@arg_8]
|
||
mov [bp+@@var_1A], dx
|
||
mov [bp+@@var_1C], ax
|
||
les bx, [bp+@@arg_4]
|
||
mov dx, word ptr [bp+@@arg_4+2]
|
||
mov ax, word ptr [bp+@@arg_4]
|
||
add ax, es:[bx+0Ch]
|
||
mov word ptr [bp+@@var_10+2], dx
|
||
mov word ptr [bp+@@var_10], ax
|
||
mov [bp+@@var_A], dx
|
||
mov [bp+@@var_C], ax
|
||
cmp [bp+@@arg_C], 0
|
||
jz short xx_12320
|
||
|
||
xx_122B2:
|
||
les bx, [bp+@@var_10]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov [bp+@@var_1E], dx
|
||
mov word ptr [bp+@@var_22+2], ax
|
||
mov ax, word ptr [bp+@@var_22+2]
|
||
or ax, [bp+@@var_1E]
|
||
jz short xx_12320
|
||
les bx, [bp+@@var_22+2]
|
||
test byte ptr es:[bx+8], 2
|
||
jz short xx_1231A
|
||
les bx, [bp+@@var_22+2]
|
||
mov bx, es:[bx+1Ch]
|
||
xor ax, ax
|
||
cmp ax, [bp+@@var_1A]
|
||
jb short xx_12313
|
||
jnz short xx_122E9
|
||
cmp bx, [bp+@@var_1C]
|
||
jb short xx_12313
|
||
|
||
xx_122E9:
|
||
push [bp+@@arg_E]
|
||
mov ax, 1
|
||
push ax
|
||
push [bp+@@var_1C]
|
||
push [bp+@@var_A]
|
||
push [bp+@@var_C]
|
||
mov ax, word ptr [bp+@@var_10]
|
||
add ax, 8
|
||
push word ptr [bp+@@var_10+2]
|
||
push ax
|
||
|
||
xx_12303:
|
||
push [bp+@@arg_2]
|
||
push [bp+@@arg_0]
|
||
call xx_121AD
|
||
add sp, 12h
|
||
jmp xx_124F3
|
||
|
||
xx_12313:
|
||
sub [bp+@@var_1C], bx
|
||
sbb [bp+@@var_1A], 0
|
||
|
||
xx_1231A:
|
||
add word ptr [bp+@@var_10], 8
|
||
jmp short xx_122B2
|
||
|
||
xx_12320:
|
||
les bx, [bp+@@arg_4]
|
||
mov dx, word ptr [bp+@@arg_4+2]
|
||
mov ax, word ptr [bp+@@arg_4]
|
||
add ax, es:[bx+0Ah]
|
||
mov word ptr [bp+@@var_8+2], dx
|
||
mov word ptr [bp+@@var_8], ax
|
||
mov [bp+@@var_2], dx
|
||
mov [bp+@@var_4], ax
|
||
|
||
xx_12339:
|
||
les bx, [bp+@@var_8]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov [bp+@@var_1E], dx
|
||
mov word ptr [bp+@@var_22+2], ax
|
||
mov ax, word ptr [bp+@@var_22+2]
|
||
or ax, [bp+@@var_1E]
|
||
jz short xx_123AF
|
||
les bx, [bp+@@var_22+2]
|
||
test byte ptr es:[bx+8], 2
|
||
jz short xx_123A9
|
||
les bx, [bp+@@var_22+2]
|
||
mov bx, es:[bx+1Ch]
|
||
xor ax, ax
|
||
cmp ax, [bp+@@var_1A]
|
||
jb short xx_123A2
|
||
jnz short xx_12370
|
||
cmp bx, [bp+@@var_1C]
|
||
jb short xx_123A2
|
||
|
||
xx_12370:
|
||
push [bp+@@arg_E]
|
||
xor ax, ax
|
||
push ax
|
||
push [bp+@@var_1C]
|
||
push [bp+@@var_2]
|
||
push [bp+@@var_4]
|
||
mov ax, word ptr [bp+@@var_8]
|
||
add ax, 8
|
||
push word ptr [bp+@@var_8+2]
|
||
push ax
|
||
push [bp+@@arg_2]
|
||
push [bp+@@arg_0]
|
||
call xx_121AD
|
||
add sp, 12h
|
||
cmp [bp+@@arg_C], 0
|
||
jnz short xx_1239F
|
||
jmp xx_124F3
|
||
|
||
xx_1239F:
|
||
jmp xx_124D3
|
||
|
||
xx_123A2:
|
||
sub [bp+@@var_1C], bx
|
||
sbb [bp+@@var_1A], 0
|
||
|
||
xx_123A9:
|
||
add word ptr [bp+@@var_8], 8
|
||
jmp short xx_12339
|
||
|
||
xx_123AF:
|
||
les bx, [bp+@@arg_4]
|
||
mov dx, word ptr [bp+@@arg_4+2]
|
||
mov ax, word ptr [bp+@@arg_4]
|
||
add ax, es:[bx+24h]
|
||
mov word ptr [bp+@@var_18+2], dx
|
||
mov word ptr [bp+@@var_18], ax
|
||
mov [bp+@@var_12], dx
|
||
mov [bp+@@var_14], ax
|
||
|
||
xx_123C8:
|
||
les bx, [bp+@@var_18]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_22+2], dx
|
||
mov word ptr [bp+@@var_22], ax
|
||
mov [bp+@@var_1E], 1
|
||
les bx, [bp+@@var_22]
|
||
test byte ptr es:[bx+3], 4
|
||
jz short xx_12402
|
||
les bx, [bp+@@var_22]
|
||
mov ax, es:[bx+0Ah]
|
||
mov [bp+@@var_1E], ax
|
||
les bx, [bp+@@var_22]
|
||
mov dx, es:[bx+8]
|
||
mov ax, es:[bx+6]
|
||
mov word ptr [bp+@@var_22+2], dx
|
||
mov word ptr [bp+@@var_22], ax
|
||
|
||
xx_12402:
|
||
les bx, [bp+@@var_22]
|
||
mov ax, es:[bx+1Ah]
|
||
imul [bp+@@var_1E]
|
||
mov bx, ax
|
||
xor ax, ax
|
||
cmp ax, [bp+@@var_1A]
|
||
ja short xx_12426
|
||
jb short xx_1241C
|
||
cmp bx, [bp+@@var_1C]
|
||
jnb short xx_12426
|
||
|
||
xx_1241C:
|
||
sub [bp+@@var_1C], bx
|
||
sbb [bp+@@var_1A], 0
|
||
jmp xx_124EC
|
||
|
||
xx_12426:
|
||
les bx, [bp+@@var_18]
|
||
mov dx, [bp+@@arg_2]
|
||
mov ax, [bp+@@arg_0]
|
||
add ax, es:[bx+4]
|
||
mov [bp+@@var_24], dx
|
||
mov [bp+@@var_26], ax
|
||
les bx, [bp+@@var_18]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov [bp+@@var_28], dx
|
||
mov [bp+@@var_2A], ax
|
||
cmp [bp+@@var_1E], 1
|
||
jbe short xx_12472
|
||
push [bp+@@arg_E]
|
||
push [bp+@@var_1A]
|
||
push [bp+@@var_1C]
|
||
les bx, [bp+@@var_18]
|
||
push word ptr es:[bx+2]
|
||
push word ptr es:[bx]
|
||
push [bp+@@var_24]
|
||
push [bp+@@var_26]
|
||
nopcall xx_124F9
|
||
add sp, 0Eh
|
||
jmp short xx_12492
|
||
|
||
xx_12472:
|
||
push [bp+@@arg_E]
|
||
mov ax, 1
|
||
push ax
|
||
push [bp+@@var_1A]
|
||
push [bp+@@var_1C]
|
||
push [bp+@@var_28]
|
||
push [bp+@@var_2A]
|
||
push [bp+@@var_24]
|
||
push [bp+@@var_26]
|
||
call xx_1222E
|
||
add sp, 10h
|
||
|
||
xx_12492:
|
||
mov [bp+@@var_1A], 0
|
||
mov [bp+@@var_1C], 0
|
||
sub word ptr [bp+@@var_18], 6
|
||
mov ax, word ptr [bp+@@var_18]
|
||
cmp ax, [bp+@@var_14]
|
||
jb short xx_124AB
|
||
jmp xx_12426
|
||
|
||
xx_124AB:
|
||
push [bp+@@arg_E]
|
||
xor ax, ax
|
||
push ax
|
||
xor ax, ax
|
||
push ax
|
||
push [bp+@@var_2]
|
||
push [bp+@@var_4]
|
||
push word ptr [bp+@@var_8+2]
|
||
push word ptr [bp+@@var_8]
|
||
push [bp+@@arg_2]
|
||
push [bp+@@arg_0]
|
||
call xx_121AD
|
||
add sp, 12h
|
||
cmp [bp+@@arg_C], 0
|
||
jz short xx_124F3
|
||
|
||
xx_124D3:
|
||
push [bp+@@arg_E]
|
||
mov ax, 1
|
||
push ax
|
||
xor ax, ax
|
||
push ax
|
||
push [bp+@@var_A]
|
||
push [bp+@@var_C]
|
||
push word ptr [bp+@@var_10+2]
|
||
push word ptr [bp+@@var_10]
|
||
jmp xx_12303
|
||
|
||
xx_124EC:
|
||
add word ptr [bp+@@var_18], 6
|
||
jmp xx_123C8
|
||
|
||
xx_124F3:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
xx_1222E endp
|
||
|
||
|
||
|
||
xx_124F9 proc far
|
||
|
||
@@var_E = word ptr -0Eh
|
||
@@var_C = word ptr -0Ch
|
||
@@var_A = word ptr -0Ah
|
||
@@var_8 = word ptr -8
|
||
@@var_6 = word ptr -6
|
||
@@var_4 = dword ptr -4
|
||
@@arg_0 = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
@@arg_4 = word ptr 0Ah
|
||
@@arg_6 = word ptr 0Ch
|
||
@@arg_8 = word ptr 0Eh
|
||
@@arg_A = word ptr 10h
|
||
@@arg_C = word ptr 12h
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 0Eh
|
||
push si
|
||
push di
|
||
mov dx, [bp+@@arg_6]
|
||
mov ax, [bp+@@arg_4]
|
||
mov word ptr [bp+@@var_4+2], dx
|
||
mov word ptr [bp+@@var_4], ax
|
||
les bx, [bp+@@var_4]
|
||
mov ax, es:[bx+0Ah]
|
||
mov [bp+@@var_6], ax
|
||
les bx, [bp+@@var_4]
|
||
mov dx, es:[bx+8]
|
||
mov ax, es:[bx+6]
|
||
mov word ptr [bp+@@var_4+2], dx
|
||
mov word ptr [bp+@@var_4], ax
|
||
les bx, [bp+@@var_4]
|
||
mov ax, es:[bx+1Ah]
|
||
mov [bp+@@var_8], 0
|
||
mov [bp+@@var_A], ax
|
||
mov ax, [bp+@@arg_8]
|
||
or ax, [bp+@@arg_A]
|
||
jnz short xx_12553
|
||
mov bx, [bp+@@var_6]
|
||
xor cx, cx
|
||
mov dx, [bp+@@var_8]
|
||
mov ax, [bp+@@var_A]
|
||
call N_LXMUL@
|
||
mov [bp+@@arg_A], dx
|
||
mov [bp+@@arg_8], ax
|
||
|
||
xx_12553:
|
||
push [bp+@@var_8]
|
||
push [bp+@@var_A]
|
||
push [bp+@@arg_A]
|
||
push [bp+@@arg_8]
|
||
call N_LUDIV@
|
||
mov [bp+@@var_C], dx
|
||
mov [bp+@@var_E], ax
|
||
mov cx, [bp+@@var_C]
|
||
mov bx, [bp+@@var_E]
|
||
mov dx, [bp+@@var_8]
|
||
mov ax, [bp+@@var_A]
|
||
call N_LXMUL@
|
||
sub [bp+@@arg_8], ax
|
||
sbb [bp+@@arg_A], dx
|
||
les bx, [bp+@@var_4]
|
||
mov bx, es:[bx]
|
||
xor cx, cx
|
||
mov dx, [bp+@@var_C]
|
||
mov ax, [bp+@@var_E]
|
||
call N_LXMUL@
|
||
mov dx, [bp+@@arg_2]
|
||
add ax, [bp+@@arg_0]
|
||
mov [bp+@@arg_2], dx
|
||
mov [bp+@@arg_0], ax
|
||
mov ax, [bp+@@arg_8]
|
||
or ax, [bp+@@arg_A]
|
||
jz short xx_125E3
|
||
push [bp+@@arg_C]
|
||
mov ax, 1
|
||
push ax
|
||
push [bp+@@arg_A]
|
||
push [bp+@@arg_8]
|
||
jmp short xx_125D0
|
||
|
||
xx_125B1:
|
||
les bx, [bp+@@var_4]
|
||
mov dx, [bp+@@arg_2]
|
||
mov ax, [bp+@@arg_0]
|
||
sub ax, es:[bx]
|
||
mov [bp+@@arg_2], dx
|
||
mov [bp+@@arg_0], ax
|
||
push [bp+@@arg_C]
|
||
mov ax, 1
|
||
push ax
|
||
push [bp+@@var_8]
|
||
push [bp+@@var_A]
|
||
|
||
xx_125D0:
|
||
push word ptr [bp+@@var_4+2]
|
||
push word ptr [bp+@@var_4]
|
||
push [bp+@@arg_2]
|
||
push [bp+@@arg_0]
|
||
call xx_1222E
|
||
add sp, 10h
|
||
|
||
xx_125E3:
|
||
mov ax, [bp+@@var_C]
|
||
mov dx, [bp+@@var_E]
|
||
sub [bp+@@var_E], 1
|
||
sbb [bp+@@var_C], 0
|
||
or dx, ax
|
||
jnz short xx_125B1
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
xx_124F9 endp
|
||
|
||
|
||
|
||
xx_125FB proc far
|
||
|
||
@@var_8 = dword ptr -8
|
||
@@var_4 = dword ptr -4
|
||
@@arg_0 = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
@@arg_4 = word ptr 0Ah
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 8
|
||
push si
|
||
push di
|
||
mov cx, [bp+@@arg_4]
|
||
mov bx, cx
|
||
mov dx, ss:[bx+2]
|
||
mov ax, ss:[bx]
|
||
mov word ptr [bp+@@var_4+2], dx
|
||
mov word ptr [bp+@@var_4], ax
|
||
les bx, [bp+@@var_4]
|
||
mov ax, es:[bx+8]
|
||
and ax, 50h
|
||
cmp ax, 50h ; 'P'
|
||
jnz short xx_126A0
|
||
les bx, [bp+@@var_4]
|
||
cmp word ptr es:[bx+6], 0FFFFh
|
||
jz short xx_126A0
|
||
les bx, [bp+@@var_4]
|
||
mov dx, [bp+@@arg_2]
|
||
mov ax, [bp+@@arg_0]
|
||
add ax, es:[bx+6]
|
||
mov word ptr [bp+@@var_8+2], dx
|
||
mov word ptr [bp+@@var_8], ax
|
||
les bx, [bp+@@var_4]
|
||
test byte ptr es:[bx+9], 10h
|
||
jz short xx_1265A
|
||
les bx, [bp+@@var_8]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_8+2], dx
|
||
jmp short xx_12663
|
||
|
||
xx_1265A:
|
||
les bx, [bp+@@var_8]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_8+2], ds
|
||
|
||
xx_12663:
|
||
mov word ptr [bp+@@var_8], ax
|
||
les bx, [bp+@@var_8]
|
||
mov dx, [bp+@@arg_2]
|
||
mov ax, [bp+@@arg_0]
|
||
sub ax, es:[bx-4]
|
||
mov [bp+@@arg_2], dx
|
||
mov [bp+@@arg_0], ax
|
||
les bx, [bp+@@var_8]
|
||
mov dx, word ptr [bp+@@var_8+2]
|
||
mov ax, word ptr [bp+@@var_8]
|
||
sub ax, es:[bx-2]
|
||
mov word ptr [bp+@@var_8+2], dx
|
||
mov word ptr [bp+@@var_8], ax
|
||
les bx, [bp+@@var_8]
|
||
mov dx, es:[bx-6]
|
||
mov ax, es:[bx-8]
|
||
mov bx, cx
|
||
mov ss:[bx+2], dx
|
||
mov ss:[bx], ax
|
||
|
||
xx_126A0:
|
||
mov dx, [bp+@@arg_2]
|
||
mov ax, [bp+@@arg_0]
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
xx_125FB endp
|
||
|
||
|
||
|
||
xx_126AC proc near
|
||
|
||
@@var_20 = word ptr -20h
|
||
@@var_1C = dword ptr -1Ch
|
||
@@var_18 = word ptr -18h
|
||
@@var_16 = dword ptr -16h
|
||
@@var_12 = dword ptr -12h
|
||
@@var_E = word ptr -0Eh
|
||
@@var_C = dword ptr -0Ch
|
||
@@var_8 = word ptr -8
|
||
@@var_6 = word ptr -6
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = dword ptr 4
|
||
@@arg_4 = word ptr 8
|
||
@@arg_6 = word ptr 0Ah
|
||
@@arg_8 = word ptr 0Ch
|
||
@@arg_A = word ptr 0Eh
|
||
@@arg_16 = word ptr 1Ah
|
||
@@arg_18 = word ptr 1Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 20h
|
||
push si
|
||
push di
|
||
mov [bp+@@var_E], 0
|
||
cmp word ptr [bp+@@arg_0], 0FFFFh
|
||
jnz short xx_126C2
|
||
jmp xx_12AAF
|
||
|
||
xx_126C2:
|
||
mov bx, [bp+@@arg_8]
|
||
mov dx, ss:[bx+@@arg_18]
|
||
mov ax, ss:[bx+@@arg_16]
|
||
mov [bp+@@var_2], dx
|
||
mov [bp+@@var_4], ax
|
||
nopcall @__RefDestructorCount$qv ; __RefDestructorCount(void)
|
||
mov bx, ax
|
||
mov es, dx
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
sub ax, [bp+@@var_4]
|
||
sbb dx, [bp+@@var_2]
|
||
mov [bp+@@var_6], dx
|
||
mov [bp+@@var_8], ax
|
||
mov dx, [bp+@@arg_6]
|
||
mov ax, [bp+@@arg_4]
|
||
sub [bp+@@var_8], ax
|
||
sbb [bp+@@var_6], dx
|
||
les bx, [bp+@@arg_0]
|
||
test byte ptr es:[bx+4], 20h
|
||
jz short xx_1271B
|
||
les bx, [bp+@@arg_0]
|
||
les bx, es:[bx]
|
||
les bx, es:[bx+6]
|
||
mov ax, es:[bx+1Ah]
|
||
mov [bp+@@var_6], 0
|
||
mov [bp+@@var_8], ax
|
||
|
||
xx_1271B:
|
||
les bx, [bp+@@arg_0]
|
||
test byte ptr es:[bx+5], 1
|
||
jz short xx_12732
|
||
les bx, [bp+@@arg_0]
|
||
les bx, es:[bx]
|
||
mov ax, es:[bx+1Ch]
|
||
jmp xx_12AB1
|
||
|
||
xx_12732:
|
||
cmp [bp+@@var_6], 0
|
||
jg short xx_12764
|
||
jnz short xx_12740
|
||
cmp [bp+@@var_8], 0
|
||
ja short xx_12764
|
||
|
||
xx_12740:
|
||
les bx, [bp+@@arg_0]
|
||
mov ax, es:[bx+4]
|
||
and ax, 3
|
||
cmp ax, 3
|
||
jz short xx_12752
|
||
jmp xx_12AAF
|
||
|
||
xx_12752:
|
||
mov dx, word ptr [bp+@@arg_0+2]
|
||
mov ax, word ptr [bp+@@arg_0]
|
||
mov word ptr [bp+@@var_C+2], dx
|
||
mov word ptr [bp+@@var_C], ax
|
||
inc [bp+@@var_E]
|
||
jmp xx_128C9
|
||
|
||
xx_12764:
|
||
mov dx, word ptr [bp+@@arg_0+2]
|
||
mov ax, word ptr [bp+@@arg_0]
|
||
mov word ptr [bp+@@var_C+2], dx
|
||
mov word ptr [bp+@@var_C], ax
|
||
|
||
xx_12770:
|
||
les bx, [bp+@@var_C]
|
||
mov ax, es:[bx]
|
||
or ax, es:[bx+2]
|
||
jnz short xx_12783
|
||
sub word ptr [bp+@@var_C], 0Ah
|
||
jmp xx_128C9
|
||
|
||
xx_12783:
|
||
les bx, [bp+@@var_C]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_16+2], dx
|
||
mov word ptr [bp+@@var_16], ax
|
||
mov word ptr [bp+@@var_12+2], dx
|
||
mov word ptr [bp+@@var_12], ax
|
||
mov [bp+@@var_18], 1
|
||
les bx, [bp+@@var_12]
|
||
test byte ptr es:[bx+2], 10h
|
||
jnz short xx_127AB
|
||
jmp xx_12875
|
||
|
||
xx_127AB:
|
||
les bx, [bp+@@var_12]
|
||
mov dx, es:[bx+8]
|
||
mov ax, es:[bx+6]
|
||
mov word ptr [bp+@@var_16+2], dx
|
||
mov word ptr [bp+@@var_16], ax
|
||
mov word ptr [bp+@@var_12+2], dx
|
||
mov word ptr [bp+@@var_12], ax
|
||
les bx, [bp+@@var_12]
|
||
test byte ptr es:[bx+2], 2
|
||
jnz short xx_127CF
|
||
jmp xx_12875
|
||
|
||
xx_127CF:
|
||
les bx, [bp+@@var_12]
|
||
test byte ptr es:[bx+8], 20h
|
||
jnz short xx_127DC
|
||
jmp xx_12875
|
||
|
||
xx_127DC:
|
||
les bx, [bp+@@var_C]
|
||
test byte ptr es:[bx+4], 8
|
||
jnz short xx_127E9
|
||
jmp xx_12875
|
||
|
||
xx_127E9:
|
||
les bx, [bp+@@var_C]
|
||
test byte ptr es:[bx+4], 4
|
||
jz short xx_12802
|
||
les bx, [bp+@@var_C]
|
||
mov ax, es:[bx+6]
|
||
add ax, [bp+@@arg_A]
|
||
mov word ptr [bp+@@var_1C+2], ss
|
||
jmp short xx_12810
|
||
|
||
xx_12802:
|
||
les bx, [bp+@@var_C]
|
||
mov dx, es:[bx+8]
|
||
mov ax, es:[bx+6]
|
||
mov word ptr [bp+@@var_1C+2], dx
|
||
|
||
xx_12810:
|
||
mov word ptr [bp+@@var_1C], ax
|
||
mov dx, word ptr [bp+@@var_1C+2]
|
||
mov ax, word ptr [bp+@@var_1C]
|
||
mov [bp+@@var_20+2], dx
|
||
mov [bp+@@var_20], ax
|
||
les bx, [bp+@@var_C]
|
||
test byte ptr es:[bx+4], 80h
|
||
jz short xx_12838
|
||
les bx, dword ptr [bp+@@var_20]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_1C+2], dx
|
||
jmp short xx_12841
|
||
|
||
xx_12838:
|
||
les bx, dword ptr [bp+@@var_20]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_1C+2], ds
|
||
|
||
xx_12841:
|
||
mov word ptr [bp+@@var_1C], ax
|
||
les bx, [bp+@@var_C]
|
||
test byte ptr es:[bx+4], 40h
|
||
jz short xx_12852
|
||
add word ptr [bp+@@var_1C], 4
|
||
|
||
xx_12852:
|
||
lea ax, [bp+@@var_12]
|
||
push ax
|
||
push word ptr [bp+@@var_1C+2]
|
||
push word ptr [bp+@@var_1C]
|
||
call xx_125FB
|
||
add sp, 6
|
||
mov word ptr [bp+@@var_1C+2], dx
|
||
mov word ptr [bp+@@var_1C], ax
|
||
mov dx, word ptr [bp+@@var_12+2]
|
||
mov ax, word ptr [bp+@@var_12]
|
||
mov word ptr [bp+@@var_16+2], dx
|
||
mov word ptr [bp+@@var_16], ax
|
||
|
||
xx_12875:
|
||
les bx, [bp+@@var_12]
|
||
test byte ptr es:[bx+3], 4
|
||
jz short xx_1289A
|
||
les bx, [bp+@@var_16]
|
||
mov ax, es:[bx+0Ah]
|
||
mov [bp+@@var_18], ax
|
||
les bx, [bp+@@var_16]
|
||
mov dx, es:[bx+8]
|
||
mov ax, es:[bx+6]
|
||
mov word ptr [bp+@@var_16+2], dx
|
||
mov word ptr [bp+@@var_16], ax
|
||
|
||
xx_1289A:
|
||
les bx, [bp+@@var_16]
|
||
mov ax, es:[bx+1Ah]
|
||
imul [bp+@@var_18]
|
||
mov [bp+@@var_18], ax
|
||
mov ax, [bp+@@var_18]
|
||
xor dx, dx
|
||
cmp dx, [bp+@@var_6]
|
||
jb short xx_128B8
|
||
jnz short xx_128C9
|
||
cmp ax, [bp+@@var_8]
|
||
jnb short xx_128C9
|
||
|
||
xx_128B8:
|
||
mov ax, [bp+@@var_18]
|
||
sub [bp+@@var_8], ax
|
||
sbb [bp+@@var_6], 0
|
||
add word ptr [bp+@@var_C], 0Ah
|
||
jmp xx_12770
|
||
|
||
xx_128C9:
|
||
les bx, [bp+@@var_C]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_12+2], dx
|
||
mov word ptr [bp+@@var_12], ax
|
||
les bx, [bp+@@var_C]
|
||
mov ax, es:[bx+4]
|
||
mov word ptr [bp+@@var_16+2], ax
|
||
test byte ptr [bp+@@var_16+2], 4
|
||
jz short xx_128F8
|
||
les bx, [bp+@@var_C]
|
||
mov ax, es:[bx+6]
|
||
add ax, [bp+@@arg_A]
|
||
mov word ptr [bp+@@var_16], ss
|
||
jmp short xx_12906
|
||
|
||
xx_128F8:
|
||
les bx, [bp+@@var_C]
|
||
mov dx, es:[bx+8]
|
||
mov ax, es:[bx+6]
|
||
mov word ptr [bp+@@var_16], dx
|
||
|
||
xx_12906:
|
||
mov [bp+@@var_18], ax
|
||
test byte ptr [bp+@@var_16+2], 11h
|
||
jnz short xx_12912
|
||
jmp xx_1299C
|
||
|
||
xx_12912:
|
||
les bx, [bp+@@var_12]
|
||
mov dx, es:[bx+8]
|
||
mov ax, es:[bx+6]
|
||
mov word ptr [bp+@@var_12+2], dx
|
||
mov word ptr [bp+@@var_12], ax
|
||
mov dx, word ptr [bp+@@var_16]
|
||
mov ax, [bp+@@var_18]
|
||
mov word ptr [bp+@@var_1C+2], dx
|
||
mov word ptr [bp+@@var_1C], ax
|
||
test byte ptr [bp+@@var_16+2], 80h
|
||
jz short xx_12944
|
||
les bx, [bp+@@var_1C]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_16], dx
|
||
jmp short xx_1294D
|
||
|
||
xx_12944:
|
||
les bx, [bp+@@var_1C]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_16], ds
|
||
|
||
xx_1294D:
|
||
mov [bp+@@var_18], ax
|
||
mov dx, word ptr [bp+@@var_16]
|
||
mov ax, [bp+@@var_18]
|
||
mov [bp+@@var_20+2], dx
|
||
mov [bp+@@var_20], ax
|
||
mov ax, word ptr [bp+@@var_16+2]
|
||
and ax, 48h
|
||
cmp ax, 40h ; '@'
|
||
jnz short xx_1296B
|
||
add [bp+@@var_18], 4
|
||
|
||
xx_1296B:
|
||
les bx, [bp+@@var_12]
|
||
test byte ptr es:[bx+2], 2
|
||
jz short xx_1299C
|
||
les bx, [bp+@@var_12]
|
||
test byte ptr es:[bx+8], 20h
|
||
jz short xx_1299C
|
||
test byte ptr [bp+@@var_16+2], 8
|
||
jz short xx_1299C
|
||
lea ax, [bp+@@var_12]
|
||
push ax
|
||
push word ptr [bp+@@var_16]
|
||
push [bp+@@var_18]
|
||
call xx_125FB
|
||
add sp, 6
|
||
mov word ptr [bp+@@var_16], dx
|
||
mov [bp+@@var_18], ax
|
||
|
||
xx_1299C:
|
||
cmp [bp+@@var_E], 0
|
||
jnz short xx_129EA
|
||
les bx, [bp+@@var_12]
|
||
test byte ptr es:[bx+3], 4
|
||
jz short xx_129CA
|
||
push [bp+@@arg_A]
|
||
push [bp+@@var_6]
|
||
push [bp+@@var_8]
|
||
push word ptr [bp+@@var_12+2]
|
||
push word ptr [bp+@@var_12]
|
||
push word ptr [bp+@@var_16]
|
||
push [bp+@@var_18]
|
||
call xx_124F9
|
||
add sp, 0Eh
|
||
jmp short xx_129EA
|
||
|
||
xx_129CA:
|
||
push [bp+@@arg_A]
|
||
mov ax, 1
|
||
push ax
|
||
push [bp+@@var_6]
|
||
push [bp+@@var_8]
|
||
push word ptr [bp+@@var_12+2]
|
||
push word ptr [bp+@@var_12]
|
||
push word ptr [bp+@@var_16]
|
||
push [bp+@@var_18]
|
||
call xx_1222E
|
||
add sp, 10h
|
||
|
||
xx_129EA:
|
||
mov ax, word ptr [bp+@@var_16+2]
|
||
and ax, 3
|
||
cmp ax, 3
|
||
jz short xx_129F8
|
||
jmp xx_12A96
|
||
|
||
xx_129F8:
|
||
mov ax, word ptr [bp+@@var_16+2]
|
||
and ax, 48h
|
||
cmp ax, 48h ; 'H'
|
||
jnz short xx_12A07
|
||
sub [bp+@@var_20], 4
|
||
|
||
xx_12A07:
|
||
les bx, [bp+@@var_12]
|
||
test byte ptr es:[bx+3], 4
|
||
jz short xx_12A56
|
||
les bx, [bp+@@var_12]
|
||
mov dx, es:[bx+8]
|
||
mov ax, es:[bx+6]
|
||
mov word ptr [bp+@@var_12+2], dx
|
||
mov word ptr [bp+@@var_12], ax
|
||
les bx, [bp+@@var_12]
|
||
mov ax, es:[bx+16h]
|
||
or ax, es:[bx+18h]
|
||
jz short xx_12A43
|
||
les bx, [bp+@@var_12]
|
||
push word ptr es:[bx+14h]
|
||
les bx, [bp+@@var_12]
|
||
push word ptr es:[bx+18h]
|
||
push word ptr es:[bx+16h]
|
||
jmp short xx_12A75
|
||
|
||
xx_12A43:
|
||
test byte ptr [bp+@@var_16+2], 80h
|
||
jz short xx_12A96
|
||
push [bp+@@var_20+2]
|
||
push [bp+@@var_20] ; void *
|
||
nopcall @$bdla$qnv ; operator delete[](void *)
|
||
jmp short xx_12A94
|
||
|
||
xx_12A56:
|
||
les bx, [bp+@@var_12]
|
||
mov ax, es:[bx+0Eh]
|
||
or ax, es:[bx+10h]
|
||
jz short xx_12A83
|
||
les bx, [bp+@@var_12]
|
||
push word ptr es:[bx+12h]
|
||
les bx, [bp+@@var_12]
|
||
push word ptr es:[bx+10h]
|
||
push word ptr es:[bx+0Eh]
|
||
|
||
xx_12A75:
|
||
push [bp+@@var_20+2]
|
||
push [bp+@@var_20]
|
||
call xx_10A65
|
||
add sp, 0Ah
|
||
jmp short xx_12A96
|
||
|
||
xx_12A83:
|
||
test byte ptr [bp+@@var_16+2], 80h
|
||
jz short xx_12A96
|
||
push [bp+@@var_20+2]
|
||
push [bp+@@var_20] ; void *
|
||
nopcall @$bdele$qnv ; operator delete(void *)
|
||
|
||
xx_12A94:
|
||
pop cx
|
||
pop cx
|
||
|
||
xx_12A96:
|
||
mov [bp+@@var_6], 0
|
||
mov [bp+@@var_8], 0
|
||
mov ax, word ptr [bp+@@var_C]
|
||
sub word ptr [bp+@@var_C], 0Ah
|
||
cmp ax, word ptr [bp+@@arg_0]
|
||
jbe short xx_12AAF
|
||
jmp xx_128C9
|
||
|
||
xx_12AAF:
|
||
xor ax, ax
|
||
|
||
xx_12AB1:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retn
|
||
xx_126AC endp
|
||
|
||
|
||
|
||
public __CurrExcContext
|
||
__CurrExcContext proc far
|
||
|
||
@@s1 = word ptr -6
|
||
@@s2 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = word ptr 6
|
||
@@arg_6 = word ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 6
|
||
push si
|
||
push di
|
||
mov ax, [bp+@@arg_0]
|
||
mov [bp+@@var_2], ax
|
||
cmp [bp+@@var_2], 0FFFFh
|
||
jz short xx_12AFA
|
||
mov bx, [bp+@@var_2]
|
||
mov dx, ss:[bx+4]
|
||
mov ax, ss:[bx+2]
|
||
add ax, 0FFF8h
|
||
mov [bp+@@s2], dx
|
||
mov [bp+@@s1], ax
|
||
mov ax, 8
|
||
push ax
|
||
push ds
|
||
mov ax, offset aBccxh1 ; "**BCCxh1"
|
||
push ax ; n
|
||
push [bp+@@s2] ; s2
|
||
push [bp+@@s1] ; s1
|
||
nopcall _memcmp
|
||
add sp, 0Ah
|
||
or ax, ax
|
||
jz short xx_12AFF
|
||
|
||
xx_12AFA:
|
||
mov ax, 0FFFFh
|
||
jmp short xx_12B06
|
||
|
||
xx_12AFF:
|
||
mov bx, [bp+@@var_2]
|
||
mov ax, ss:[bx+@@arg_6]
|
||
|
||
xx_12B06:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
__CurrExcContext endp
|
||
|
||
|
||
; __ThrowFileName(void)
|
||
public @__ThrowFileName$qv
|
||
@__ThrowFileName$qv proc far
|
||
push si
|
||
push di
|
||
les bx, ss:16h
|
||
mov dx, es:[bx+18h]
|
||
mov ax, es:[bx+16h]
|
||
pop di
|
||
pop si
|
||
retf
|
||
@__ThrowFileName$qv endp
|
||
|
||
|
||
; __ThrowLineNumber(void)
|
||
public @__ThrowLineNumber$qv
|
||
@__ThrowLineNumber$qv proc far
|
||
push si
|
||
push di
|
||
les bx, ss:16h
|
||
mov ax, es:[bx+1Ah]
|
||
pop di
|
||
pop si
|
||
retf
|
||
@__ThrowLineNumber$qv endp
|
||
|
||
|
||
; __ThrowExceptionName(void)
|
||
public @__ThrowExceptionName$qv
|
||
@__ThrowExceptionName$qv proc far
|
||
push si
|
||
push di
|
||
les bx, ss:16h
|
||
mov dx, es:[bx+1Eh]
|
||
mov ax, es:[bx+1Ch]
|
||
pop di
|
||
pop si
|
||
retf
|
||
@__ThrowExceptionName$qv endp
|
||
|
||
|
||
|
||
; int __fastcall __far typeinfo__typeinfo(int, int, int, __int32)
|
||
public @typeinfo@0$bctr$qmx8typeinfo
|
||
@typeinfo@0$bctr$qmx8typeinfo proc far
|
||
|
||
n = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = dword ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 4
|
||
push si
|
||
push di
|
||
mov ax, word ptr [bp+@@arg_0]
|
||
or ax, word ptr [bp+@@arg_0+2]
|
||
jnz short xx_12B62
|
||
mov ax, 8
|
||
push ax
|
||
nopcall @$bnew$qui ; operator new(uint)
|
||
pop cx
|
||
mov word ptr [bp+@@arg_0+2], dx
|
||
mov word ptr [bp+@@arg_0], ax
|
||
or ax, dx
|
||
jz short xx_12BA0
|
||
|
||
xx_12B62:
|
||
les bx, [bp+@@arg_0]
|
||
mov word ptr es:[bx+2], seg xx_1313E
|
||
mov word ptr es:[bx], offset xx_1313E
|
||
xor ax, ax
|
||
push ax ; int
|
||
push ax ; int
|
||
xor ax, ax
|
||
push ax ; int
|
||
xor ax, ax
|
||
push ax ; int
|
||
xor ax, ax
|
||
push ax ; int
|
||
xor ax, ax
|
||
push ax ; int
|
||
push ax ; int
|
||
xor ax, ax
|
||
push ax ; int
|
||
push ax ; int
|
||
mov [bp+@@var_2], 0
|
||
mov [bp+n], 0
|
||
lea ax, [bp+n]
|
||
push ss ; int
|
||
push ax ; n
|
||
push cs ; int
|
||
mov ax, offset xx_13120
|
||
push ax ; int
|
||
call @_ThrowException$qnvt1t1t1uiuiuinuc ; _ThrowException(void *,void *,void *,void *,uint,uint,uint,uchar *)
|
||
add sp, 1Ah
|
||
|
||
xx_12BA0:
|
||
mov dx, word ptr [bp+@@arg_0+2]
|
||
mov ax, word ptr [bp+@@arg_0]
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
@typeinfo@0$bctr$qmx8typeinfo endp
|
||
|
||
|
||
|
||
; typeinfo::operator=(typeinfo const &)
|
||
public @typeinfo@0$basg$qmx8typeinfo
|
||
@typeinfo@0$basg$qmx8typeinfo proc far
|
||
|
||
@@arg_0 = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov dx, [bp+@@arg_2]
|
||
mov ax, [bp+@@arg_0]
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf
|
||
@typeinfo@0$basg$qmx8typeinfo endp
|
||
|
||
|
||
|
||
; int __cdecl __far typeinfo___typeinfo(void *, int, int)
|
||
public @typeinfo@0$bdtr$qv
|
||
@typeinfo@0$bdtr$qv proc far
|
||
|
||
@@arg_0 = word ptr 6
|
||
@@arg_4 = word ptr 0Ah
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
mov dx, [bp+@@arg_4]
|
||
mov ax, [bp+@@arg_0]
|
||
or ax, [bp+8]
|
||
jz short xx_12BEB
|
||
les bx, dword ptr [bp+@@arg_0]
|
||
mov word ptr es:[bx+2], seg xx_1313E
|
||
mov word ptr es:[bx], offset xx_1313E
|
||
test dl, 1
|
||
jz short xx_12BEB
|
||
push word ptr [bp+8]
|
||
push [bp+@@arg_0] ; void *
|
||
nopcall @$bdele$qnv ; operator delete(void *)
|
||
pop cx
|
||
pop cx
|
||
|
||
xx_12BEB:
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf
|
||
@typeinfo@0$bdtr$qv endp
|
||
|
||
|
||
|
||
; typeinfo::operator==(typeinfo const &)const
|
||
public @typeinfo@0$beql$xqmx8typeinfo
|
||
@typeinfo@0$beql$xqmx8typeinfo proc far
|
||
|
||
@@arg_0 = dword ptr 6
|
||
@@arg_4 = dword ptr 0Ah
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
les bx, [bp+@@arg_4]
|
||
push word ptr es:[bx+6]
|
||
push word ptr es:[bx+4]
|
||
les bx, [bp+@@arg_0]
|
||
push word ptr es:[bx+6]
|
||
push word ptr es:[bx+4]
|
||
call xx_10061
|
||
add sp, 8
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf
|
||
@typeinfo@0$beql$xqmx8typeinfo endp
|
||
|
||
|
||
|
||
; typeinfo::operator!=(typeinfo const &)const
|
||
public @typeinfo@0$bneq$xqmx8typeinfo
|
||
@typeinfo@0$bneq$xqmx8typeinfo proc far
|
||
|
||
@@arg_0 = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
@@arg_4 = word ptr 0Ah
|
||
@@arg_6 = word ptr 0Ch
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
push [bp+@@arg_6]
|
||
push [bp+@@arg_4]
|
||
push [bp+@@arg_2]
|
||
push [bp+@@arg_0]
|
||
call @typeinfo@0$beql$xqmx8typeinfo ; typeinfo::operator==(typeinfo &)
|
||
add sp, 8
|
||
neg ax
|
||
sbb ax, ax
|
||
inc ax
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf
|
||
@typeinfo@0$bneq$xqmx8typeinfo endp
|
||
|
||
|
||
|
||
; typeinfo::before(typeinfo const &)const
|
||
public @typeinfo@0before$xqmx8typeinfo
|
||
@typeinfo@0before$xqmx8typeinfo proc far
|
||
|
||
@@var_8 = dword ptr -8
|
||
@@var_4 = dword ptr -4
|
||
@@arg_0 = dword ptr 6
|
||
@@arg_4 = dword ptr 0Ah
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 8
|
||
push si
|
||
push di
|
||
les bx, [bp+@@arg_0]
|
||
mov ax, es:[bx+4]
|
||
or ax, es:[bx+6]
|
||
jnz short xx_12C4F
|
||
xor ax, ax
|
||
jmp short xx_12CA8
|
||
|
||
xx_12C4F:
|
||
les bx, [bp+@@arg_4]
|
||
mov ax, es:[bx+4]
|
||
or ax, es:[bx+6]
|
||
jnz short xx_12C61
|
||
mov ax, 1
|
||
jmp short xx_12CA8
|
||
|
||
xx_12C61:
|
||
les bx, [bp+@@arg_4]
|
||
mov dx, es:[bx+6]
|
||
mov word ptr [bp+@@var_4+2], dx
|
||
mov ax, es:[bx+4]
|
||
mov word ptr [bp+@@var_4], ax
|
||
les bx, [bp+@@var_4]
|
||
add ax, es:[bx+4]
|
||
push dx
|
||
push ax
|
||
les bx, [bp+@@arg_0]
|
||
mov dx, es:[bx+6]
|
||
mov word ptr [bp+@@var_8+2], dx
|
||
mov ax, es:[bx+4]
|
||
mov word ptr [bp+@@var_8], ax
|
||
les bx, [bp+@@var_8]
|
||
add ax, es:[bx+4]
|
||
push dx ; s2
|
||
push ax ; s1
|
||
nopcall _strcmp
|
||
add sp, 8
|
||
or ax, ax
|
||
jge short xx_12CA6
|
||
mov ax, 1
|
||
jmp short xx_12CA8
|
||
|
||
xx_12CA6:
|
||
xor ax, ax
|
||
|
||
xx_12CA8:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
@typeinfo@0before$xqmx8typeinfo endp
|
||
|
||
|
||
|
||
; typeinfo::name(void)const
|
||
public @typeinfo@0name$xqv
|
||
@typeinfo@0name$xqv proc far
|
||
|
||
@@arg_0 = dword ptr 6
|
||
|
||
push bp
|
||
mov bp, sp
|
||
push si
|
||
push di
|
||
les bx, [bp+@@arg_0]
|
||
push word ptr es:[bx+6]
|
||
push word ptr es:[bx+4]
|
||
call xx_1003C
|
||
pop cx
|
||
pop cx
|
||
pop di
|
||
pop si
|
||
pop bp
|
||
retf
|
||
@typeinfo@0name$xqv endp
|
||
|
||
|
||
|
||
; int __fastcall __far __GetTypeInfo(int, int, int, int, int, __int32, int, int, int, int)
|
||
public @__GetTypeInfo$qnvt1t1t1
|
||
@__GetTypeInfo$qnvt1t1t1 proc far
|
||
|
||
@@var_8 = dword ptr -8
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
@@arg_4 = word ptr 0Ah
|
||
@@arg_C = word ptr 12h
|
||
@@arg_E = word ptr 14h
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 8
|
||
push si
|
||
push di
|
||
mov dx, [bp+@@arg_E]
|
||
mov ax, [bp+@@arg_C]
|
||
mov word ptr [bp+@@var_8+2], dx
|
||
mov word ptr [bp+@@var_8], ax
|
||
mov ax, [bp+@@arg_0]
|
||
or ax, [bp+@@arg_2]
|
||
jnz short xx_12D0A
|
||
xor ax, ax
|
||
push ax ; int
|
||
push ax ; int
|
||
xor ax, ax
|
||
push ax ; int
|
||
xor ax, ax
|
||
push ax ; int
|
||
xor ax, ax
|
||
push ax ; int
|
||
xor ax, ax
|
||
push ax ; int
|
||
push ax ; int
|
||
xor ax, ax
|
||
push ax ; int
|
||
push ax ; int
|
||
push ds ; int
|
||
mov ax, offset xx_131A8
|
||
push ax ; n
|
||
push cs ; int
|
||
mov ax, offset xx_1310A
|
||
push ax ; int
|
||
call @_ThrowException$qnvt1t1t1uiuiuinuc ; _ThrowException(void *,void *,void *,void *,uint,uint,uint,uchar *)
|
||
add sp, 1Ah
|
||
|
||
xx_12D0A:
|
||
les bx, dword ptr [bp+@@arg_4]
|
||
mov dx, [bp+@@arg_4+2]
|
||
mov ax, [bp+@@arg_4]
|
||
sub ax, es:[bx-2]
|
||
mov [bp+@@arg_4+2], dx
|
||
mov [bp+@@arg_4], ax
|
||
les bx, dword ptr [bp+@@arg_4]
|
||
mov dx, es:[bx-6]
|
||
mov ax, es:[bx-8]
|
||
mov [bp+@@var_2], dx
|
||
mov [bp+@@var_4], ax
|
||
les bx, [bp+@@var_8]
|
||
mov dx, [bp+@@var_2]
|
||
mov ax, [bp+@@var_4]
|
||
mov es:[bx+6], dx
|
||
mov es:[bx+4], ax
|
||
mov dx, word ptr [bp+@@var_8+2]
|
||
mov ax, word ptr [bp+@@var_8]
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
@__GetTypeInfo$qnvt1t1t1 endp
|
||
|
||
|
||
|
||
xx_12D4B proc near
|
||
|
||
@@var_20 = word ptr -20h
|
||
@@var_1E = word ptr -1Eh
|
||
@@var_1C = dword ptr -1Ch
|
||
@@var_18 = word ptr -18h
|
||
@@var_16 = word ptr -16h
|
||
@@var_14 = dword ptr -14h
|
||
@@var_10 = word ptr -10h
|
||
@@var_E = word ptr -0Eh
|
||
@@var_C = word ptr -0Ch
|
||
@@var_A = word ptr -0Ah
|
||
@@var_8 = word ptr -8
|
||
@@var_6 = word ptr -6
|
||
@@var_4 = dword ptr -4
|
||
@@arg_0 = word ptr 4
|
||
@@arg_2 = word ptr 6
|
||
@@arg_4 = dword ptr 8
|
||
@@arg_8 = word ptr 0Ch
|
||
@@arg_A = word ptr 0Eh
|
||
@@arg_C = word ptr 10h
|
||
@@arg_E = word ptr 12h
|
||
@@arg_10 = word ptr 14h
|
||
@@arg_12 = word ptr 16h
|
||
@@arg_14 = word ptr 18h
|
||
@@arg_16 = word ptr 1Ah
|
||
@@arg_18 = word ptr 1Ch
|
||
@@arg_1A = word ptr 1Eh
|
||
@@arg_1C = word ptr 20h
|
||
@@arg_1E = word ptr 22h
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 20h
|
||
push si
|
||
push di
|
||
mov [bp+@@var_8], 0
|
||
mov [bp+@@var_A], 0
|
||
mov [bp+@@var_C], 0
|
||
mov [bp+@@var_E], 0
|
||
mov ax, [bp+@@arg_14]
|
||
or ax, [bp+@@arg_16]
|
||
jz short xx_12D86
|
||
push word ptr [bp+@@arg_4+2]
|
||
push word ptr [bp+@@arg_4]
|
||
push [bp+@@arg_16]
|
||
push [bp+@@arg_14]
|
||
call xx_10061
|
||
add sp, 8
|
||
or ax, ax
|
||
jnz short xx_12D90
|
||
|
||
xx_12D86:
|
||
les bx, [bp+@@arg_4]
|
||
test byte ptr es:[bx+8], 4
|
||
jnz short xx_12D97
|
||
|
||
xx_12D90:
|
||
xor dx, dx
|
||
xor ax, ax
|
||
jmp xx_12F8B
|
||
|
||
xx_12D97:
|
||
mov [bp+@@var_6], 0
|
||
les bx, [bp+@@arg_4]
|
||
mov dx, word ptr [bp+@@arg_4+2]
|
||
mov ax, word ptr [bp+@@arg_4]
|
||
add ax, es:[bx+0Ch]
|
||
|
||
xx_12DA9:
|
||
mov word ptr [bp+@@var_4+2], dx
|
||
mov word ptr [bp+@@var_4], ax
|
||
|
||
xx_12DAF:
|
||
les bx, [bp+@@var_4]
|
||
mov dx, es:[bx+2]
|
||
mov ax, es:[bx]
|
||
mov word ptr [bp+@@var_1C+2], dx
|
||
mov word ptr [bp+@@var_1C], ax
|
||
mov ax, word ptr [bp+@@var_1C]
|
||
or ax, word ptr [bp+@@var_1C+2]
|
||
jnz short xx_12DCA
|
||
jmp xx_12F53
|
||
|
||
xx_12DCA:
|
||
les bx, [bp+@@var_4]
|
||
test byte ptr es:[bx+6], 8
|
||
jz short xx_12DD7
|
||
jmp xx_12F4C
|
||
|
||
xx_12DD7:
|
||
cmp [bp+@@arg_1A], 0
|
||
jz short xx_12DF1
|
||
les bx, [bp+@@var_4]
|
||
mov ax, es:[bx+6]
|
||
and ax, 3
|
||
cmp ax, 3
|
||
jnz short xx_12DF1
|
||
mov ax, 1
|
||
jmp short xx_12DF3
|
||
|
||
xx_12DF1:
|
||
xor ax, ax
|
||
|
||
xx_12DF3:
|
||
mov [bp+@@var_10], ax
|
||
les bx, [bp+@@var_4]
|
||
mov dx, [bp+@@arg_2]
|
||
mov ax, [bp+@@arg_0]
|
||
add ax, es:[bx+4]
|
||
mov word ptr [bp+@@var_14+2], dx
|
||
mov word ptr [bp+@@var_14], ax
|
||
mov dx, [bp+@@arg_1E]
|
||
mov ax, [bp+@@arg_1C]
|
||
mov [bp+@@var_16], dx
|
||
mov [bp+@@var_18], ax
|
||
les bx, [bp+@@var_4]
|
||
test byte ptr es:[bx+6], 4
|
||
jz short xx_12E3A
|
||
les bx, [bp+@@var_14]
|
||
mov ax, es:[bx]
|
||
mov dx, word ptr [bp+@@var_14+2]
|
||
mov word ptr [bp+@@var_14+2], dx
|
||
mov word ptr [bp+@@var_14], ax
|
||
mov dx, word ptr [bp+@@var_1C+2]
|
||
mov ax, word ptr [bp+@@var_1C]
|
||
mov [bp+@@var_16], dx
|
||
mov [bp+@@var_18], ax
|
||
|
||
xx_12E3A:
|
||
push word ptr [bp+@@var_1C+2]
|
||
push word ptr [bp+@@var_1C]
|
||
push [bp+@@arg_E]
|
||
push [bp+@@arg_C]
|
||
call xx_10061
|
||
add sp, 8
|
||
or ax, ax
|
||
jnz short xx_12EBC
|
||
les bx, [bp+@@var_1C]
|
||
test byte ptr es:[bx+8], 4
|
||
jnz short xx_12E5E
|
||
jmp xx_12F4C
|
||
|
||
xx_12E5E:
|
||
push [bp+@@var_16]
|
||
push [bp+@@var_18]
|
||
push [bp+@@var_10]
|
||
push [bp+@@arg_18]
|
||
push [bp+@@arg_16]
|
||
push [bp+@@arg_14]
|
||
push [bp+@@arg_12]
|
||
push [bp+@@arg_10]
|
||
push [bp+@@arg_E]
|
||
push [bp+@@arg_C]
|
||
push [bp+@@arg_A]
|
||
push [bp+@@arg_8]
|
||
push word ptr [bp+@@var_1C+2]
|
||
push word ptr [bp+@@var_1C]
|
||
push word ptr [bp+@@var_14+2]
|
||
push word ptr [bp+@@var_14]
|
||
call xx_12D4B
|
||
add sp, 20h
|
||
mov [bp+@@var_1E], dx
|
||
mov [bp+@@var_20], ax
|
||
mov ax, [bp+@@var_20]
|
||
or ax, [bp+@@var_1E]
|
||
jnz short xx_12EA5
|
||
jmp xx_12F4C
|
||
|
||
xx_12EA5:
|
||
mov dx, [bp+@@var_1E]
|
||
mov ax, [bp+@@var_20]
|
||
mov word ptr [bp+@@var_14+2], dx
|
||
mov word ptr [bp+@@var_14], ax
|
||
mov bx, [bp+@@arg_18]
|
||
mov ax, ss:[bx]
|
||
mov [bp+@@var_10], ax
|
||
jmp short xx_12F19
|
||
|
||
xx_12EBC:
|
||
mov ax, [bp+@@arg_8]
|
||
or ax, [bp+@@arg_A]
|
||
jz short xx_12EDD
|
||
mov dx, [bp+@@arg_A]
|
||
mov ax, [bp+@@arg_8]
|
||
cmp dx, word ptr [bp+@@var_14+2]
|
||
jnz short xx_12F4C
|
||
cmp ax, word ptr [bp+@@var_14]
|
||
jnz short xx_12F4C
|
||
mov dx, word ptr [bp+@@var_14+2]
|
||
mov ax, word ptr [bp+@@var_14]
|
||
jmp xx_12F8B
|
||
|
||
xx_12EDD:
|
||
mov ax, [bp+@@arg_10]
|
||
or ax, [bp+@@arg_12]
|
||
jz short xx_12F19
|
||
xor ax, ax
|
||
push ax
|
||
push ax
|
||
xor ax, ax
|
||
push ax
|
||
push [bp+@@arg_18]
|
||
xor ax, ax
|
||
push ax
|
||
push ax
|
||
xor ax, ax
|
||
push ax
|
||
push ax
|
||
push [bp+@@arg_16]
|
||
push [bp+@@arg_14]
|
||
push [bp+@@arg_12]
|
||
push [bp+@@arg_10]
|
||
push word ptr [bp+@@var_1C+2]
|
||
push word ptr [bp+@@var_1C]
|
||
push word ptr [bp+@@var_14+2]
|
||
push word ptr [bp+@@var_14]
|
||
call xx_12D4B
|
||
add sp, 20h
|
||
or ax, dx
|
||
jz short xx_12F4C
|
||
|
||
xx_12F19:
|
||
cmp [bp+@@var_E], 0
|
||
jz short xx_12F37
|
||
mov dx, word ptr [bp+@@var_14+2]
|
||
mov ax, word ptr [bp+@@var_14]
|
||
cmp dx, [bp+@@var_A]
|
||
jnz short xx_12F37
|
||
cmp ax, [bp+@@var_C]
|
||
jnz short xx_12F37
|
||
mov ax, [bp+@@var_10]
|
||
or [bp+@@var_8], ax
|
||
jmp short xx_12F4C
|
||
|
||
xx_12F37:
|
||
inc [bp+@@var_E]
|
||
mov dx, word ptr [bp+@@var_14+2]
|
||
mov ax, word ptr [bp+@@var_14]
|
||
mov [bp+@@var_A], dx
|
||
mov [bp+@@var_C], ax
|
||
mov ax, [bp+@@var_10]
|
||
mov [bp+@@var_8], ax
|
||
|
||
xx_12F4C:
|
||
add word ptr [bp+@@var_4], 8
|
||
jmp xx_12DAF
|
||
|
||
xx_12F53:
|
||
cmp [bp+@@var_6], 0
|
||
jnz short xx_12F6C
|
||
inc [bp+@@var_6]
|
||
les bx, [bp+@@arg_4]
|
||
mov dx, word ptr [bp+@@arg_4+2]
|
||
mov ax, word ptr [bp+@@arg_4]
|
||
add ax, es:[bx+0Ah]
|
||
jmp xx_12DA9
|
||
|
||
xx_12F6C:
|
||
mov bx, [bp+@@arg_18]
|
||
mov ax, [bp+@@var_8]
|
||
mov ss:[bx], ax
|
||
cmp [bp+@@var_E], 1
|
||
jz short xx_12F85
|
||
mov [bp+@@var_A], 0
|
||
mov [bp+@@var_C], 0
|
||
|
||
xx_12F85:
|
||
mov dx, [bp+@@var_A]
|
||
mov ax, [bp+@@var_C]
|
||
|
||
xx_12F8B:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retn
|
||
xx_12D4B endp
|
||
|
||
|
||
|
||
; int __fastcall __far __DynamicCast(int, int, int, int, int, __int32, int, int, int, int, int)
|
||
public @__DynamicCast$qnvt1t1t1i
|
||
@__DynamicCast$qnvt1t1t1i proc far
|
||
|
||
@@var_16 = word ptr -16h
|
||
@@var_14 = word ptr -14h
|
||
@@var_12 = word ptr -12h
|
||
@@var_10 = word ptr -10h
|
||
@@var_E = word ptr -0Eh
|
||
@@var_C = word ptr -0Ch
|
||
@@var_A = word ptr -0Ah
|
||
@@var_8 = word ptr -8
|
||
@@var_6 = word ptr -6
|
||
@@var_4 = word ptr -4
|
||
@@var_2 = word ptr -2
|
||
@@arg_0 = word ptr 6
|
||
@@arg_2 = word ptr 8
|
||
@@arg_4 = word ptr 0Ah
|
||
@@arg_8 = word ptr 0Eh
|
||
@@arg_A = word ptr 10h
|
||
@@arg_C = word ptr 12h
|
||
@@arg_E = word ptr 14h
|
||
@@arg_10 = word ptr 16h
|
||
|
||
push bp
|
||
mov bp, sp
|
||
sub sp, 16h
|
||
push si
|
||
push di
|
||
mov dx, [bp+@@arg_A]
|
||
mov ax, [bp+@@arg_8]
|
||
mov [bp+@@var_2], dx
|
||
mov [bp+@@var_4], ax
|
||
mov dx, [bp+@@arg_E]
|
||
mov ax, [bp+@@arg_C]
|
||
mov [bp+@@var_6], dx
|
||
mov [bp+@@var_8], ax
|
||
mov ax, [bp+@@arg_0]
|
||
or ax, [bp+@@arg_2]
|
||
jnz short @@xx_12FBC
|
||
jmp @@xx_130C0
|
||
|
||
@@xx_12FBC:
|
||
les bx, dword ptr [bp+@@arg_4]
|
||
mov dx, [bp+@@arg_2]
|
||
mov ax, [bp+@@arg_0]
|
||
sub ax, es:[bx-4]
|
||
mov [bp+@@var_E], dx
|
||
mov [bp+@@var_10], ax
|
||
les bx, dword ptr [bp+@@arg_4]
|
||
mov dx, [bp+@@arg_4+2]
|
||
mov ax, [bp+@@arg_4]
|
||
sub ax, es:[bx-2]
|
||
mov [bp+@@arg_4+2], dx
|
||
mov [bp+@@arg_4], ax
|
||
les bx, dword ptr [bp+@@arg_4]
|
||
mov dx, es:[bx-6]
|
||
mov ax, es:[bx-8]
|
||
mov [bp+@@var_A], dx
|
||
mov [bp+@@var_C], ax
|
||
mov ax, [bp+@@arg_C]
|
||
or ax, [bp+@@arg_E]
|
||
jz short @@xx_13012
|
||
push [bp+@@var_A]
|
||
push [bp+@@var_C]
|
||
push [bp+@@var_6]
|
||
push [bp+@@var_8]
|
||
call xx_10061
|
||
add sp, 8
|
||
or ax, ax
|
||
jz short @@xx_1301B
|
||
|
||
@@xx_13012:
|
||
mov dx, [bp+@@var_E]
|
||
mov ax, [bp+@@var_10]
|
||
jmp @@xx_130F0
|
||
|
||
@@xx_1301B:
|
||
push [bp+@@var_A]
|
||
push [bp+@@var_C]
|
||
push [bp+@@var_2]
|
||
push [bp+@@var_4]
|
||
call xx_10061
|
||
add sp, 8
|
||
or ax, ax
|
||
jnz short @@xx_13074
|
||
xor ax, ax
|
||
push ax
|
||
push ax
|
||
mov ax, 1
|
||
push ax
|
||
lea ax, [bp+@@var_16]
|
||
push ax
|
||
push [bp+@@var_2]
|
||
push [bp+@@var_4]
|
||
push [bp+@@arg_2]
|
||
push [bp+@@arg_0]
|
||
push [bp+@@var_6]
|
||
push [bp+@@var_8]
|
||
xor ax, ax
|
||
push ax
|
||
push ax
|
||
push [bp+@@var_A]
|
||
push [bp+@@var_C]
|
||
push [bp+@@var_E]
|
||
push [bp+@@var_10]
|
||
call xx_12D4B
|
||
add sp, 20h
|
||
mov [bp+@@var_12], dx
|
||
mov [bp+@@var_14], ax
|
||
mov ax, [bp+@@var_14]
|
||
or ax, [bp+@@var_12]
|
||
jnz short @@xx_130B8
|
||
|
||
@@xx_13074:
|
||
xor ax, ax
|
||
push ax
|
||
push ax
|
||
mov ax, 1
|
||
push ax
|
||
lea ax, [bp+@@var_16]
|
||
push ax
|
||
xor ax, ax
|
||
push ax
|
||
push ax
|
||
xor ax, ax
|
||
push ax
|
||
push ax
|
||
push [bp+@@var_6]
|
||
push [bp+@@var_8]
|
||
xor ax, ax
|
||
push ax
|
||
push ax
|
||
push [bp+@@var_A]
|
||
push [bp+@@var_C]
|
||
push [bp+@@var_E]
|
||
push [bp+@@var_10]
|
||
call xx_12D4B
|
||
add sp, 20h
|
||
mov [bp+@@var_12], dx
|
||
mov [bp+@@var_14], ax
|
||
mov ax, [bp+@@var_14]
|
||
or ax, [bp+@@var_12]
|
||
jz short @@xx_130C0
|
||
cmp [bp+@@var_16], 0
|
||
jz short @@xx_130C0
|
||
|
||
@@xx_130B8:
|
||
mov dx, [bp+@@var_12]
|
||
mov ax, [bp+@@var_14]
|
||
jmp short @@xx_130F0
|
||
|
||
@@xx_130C0:
|
||
cmp [bp+@@arg_10], 0
|
||
jz short @@xx_130EC
|
||
xor ax, ax
|
||
push ax ; int
|
||
push ax ; int
|
||
xor ax, ax
|
||
push ax ; int
|
||
xor ax, ax
|
||
push ax ; int
|
||
xor ax, ax
|
||
push ax ; int
|
||
xor ax, ax
|
||
push ax ; int
|
||
push ax ; int
|
||
xor ax, ax
|
||
push ax ; int
|
||
push ax ; int
|
||
push ds ; int
|
||
mov ax, offset xx_131A9
|
||
push ax ; n
|
||
push cs ; int
|
||
mov ax, offset xx_130F6
|
||
push ax ; int
|
||
call @_ThrowException$qnvt1t1t1uiuiuinuc ; _ThrowException(void *,void *,void *,void *,uint,uint,uint,uchar *)
|
||
add sp, 1Ah
|
||
|
||
@@xx_130EC:
|
||
xor dx, dx
|
||
xor ax, ax
|
||
|
||
@@xx_130F0:
|
||
pop di
|
||
pop si
|
||
mov sp, bp
|
||
pop bp
|
||
retf
|
||
@__DynamicCast$qnvt1t1t1i endp
|
||
|
||
xx_130F6 dw 1
|
||
dw 1
|
||
dw 0Ah
|
||
db 0FFh
|
||
db 0FFh
|
||
dw 0
|
||
db 'Bad_cast',0
|
||
db 0
|
||
xx_1310A dw 1
|
||
dw 1
|
||
dw 0Ah
|
||
dw 0FFFFh
|
||
dw 0
|
||
db 'Bad_typeid',0
|
||
db 0
|
||
xx_13120 db 4, 0, 10h, 20h, 0Ah, 0
|
||
dd xx_13142
|
||
db 'typeinfo *',0
|
||
db 0
|
||
dd xx_13142
|
||
dd 0
|
||
xx_1313E dd @typeinfo@0$bdtr$qv
|
||
; typeinfo::~typeinfo(void)
|
||
xx_13142 db 8, 0, 3, 0, 26h, 3 dup(0), 73h, 10h, 30h, 0, 34h, 0Dh dup(0)
|
||
db 1, 0, 1, 0
|
||
dd @typeinfo@0$bdtr$qv ; typeinfo::~typeinfo(void)
|
||
dw 5
|
||
dw 38h
|
||
db 'typeinfo',0
|
||
dd 0
|
||
dd 0
|
||
dd 0
|
||
db 0
|