ReC98/libs/BorlandC/xx.asm

6111 lines
109 KiB
NASM
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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