Function at 0x4b1c37
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x70
push ebx
push esi
push edi
mov ebx, dword [ebp + 0xc]
push 0xffffffffffffffff
push 1
call fcn.0040fa01
fld qword [0x5b21f8]
fcomp qword [ebx + 0x20]
wait
fnstsw ax
test ah, 1
je 0x4b1c6e
fld qword [0x5b2200]
fcomp qword [ebx + 0x20]
wait
fnstsw ax
test ah, 1
je 0x4b1c7c
mov dword [ebx + 0x20], reloc.gdi32.dll_AbortDoc
mov dword [ebx + 0x24], 0x3fa99999
mov eax, dword [ebx + 0xb8]
cmp eax, 0
jl 0x4b1c8c
cmp eax, 2
jle 0x4b1c96
mov dword [ebx + 0xb8], 0
lea eax, [ebx + 8]
push eax
push 0x107
add eax, 0xb4
push eax
push 0x107
add eax, 0x210
push eax
push 0x107
add eax, 0x210
push eax
push dword [ebx + 0xd12]
sub eax, 0x42c
push eax
sub eax, 0x50
push eax
call fcn.004b1879
test al, al
je 0x4b1f0f
mov edx, dword [ebx + 0xb0]
cmp edx, 2
jge 0x4b1d7e
push 0x4a6
push 0x142
push edx
push 0
push 0x107
lea eax, [ebx + 0xbc]
push eax
push 0x19e
push 1
push 0x107
add eax, 0x210
push eax
push 0x19f
push 2
push 0
push 0x5b21f0
push 0
push 0
push 0
push 0x5b21f0
push 0
push 0
push 0
push 0x5b21f0
push 0
push 0
push 0
push 0x5b21f0
push 0
push 0
push 0
push 0x5b21f0
push 0
push 0
push 0
push 0x5b21f0
push 0
push 0
push 0x107
add eax, 0x210
push eax
push 0x1a0
push 0
push 0x5b21f0
push 0
call fcn.004ad59a
jmp 0x4b1f0f
push 0xffffffffffffffff
push 0
call fcn.0040fa01
mov byte [ebx + 0xd13], 0
mov dword [ebp - 0x34], reloc.gdi32.dll_AbortDoc
mov dword [ebp - 0x30], 0x7fefffff
mov dword [ebx + 0xa0], 0
mov byte [ebx + 0xd11], 1
mov eax, dword [ebx + 8]
jmp 0x4b1e9d
rol dword [0x5cb780], 1
test byte [0x5cb780], 1
je 0x4b1dda
rol dword [0x5cb784], 1
test byte [0x5cb784], 1
je 0x4b1dda
call fcn.0040f884
jmp 0x4b1ddc
mov al, 0
test al, al
jne 0x4b1f0f
mov edx, dword [ebx + 4]
cmp dword [edx + 0x34], 0
jne 0x4b1e74
push 2
push dword [edx + 4]
push dword [edx]
push 6
push 0x107
lea eax, reloc.gdi32.dll_AbortDoc
push eax
call fcn.00416c9f
push 0x107
lea eax, reloc.gdi32.dll_AbortDoc
push eax
call fcn.00416083
push 0x107
lea eax, reloc.gdi32.dll_AbortDoc
push eax
call fcn.0056e571
mov ecx, dword [ebx + 4]
inc eax
mov esi, eax
lea eax, [eax + eax + 6]
push eax
lea eax, [ecx + 0x34]
push eax
call sub.mclib32.dll__ALLOCATE_8
mov edx, dword [ebx + 4]
cmp dword [edx + 0x34], 0
je 0x4b1e57
add dword [edx + 0x34], 4
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + 0x34]
mov dword [ecx - 4], esi
mov ecx, dword [ebx + 4]
mov edx, dword [ecx + 0x34]
push dword [edx - 4]
push edx
push 0x107
lea eax, reloc.gdi32.dll_AbortDoc
push eax
call fcn.00415c57
jmp 0x4b1e7a
mov byte [ebx + 0xd11], al
inc dword [ebx + 0xa0]
mov eax, dword [ebx + 4]
fld qword [eax + 8]
fidiv dword [eax + 0x24]
fstp qword [eax + 0x10]
xor edi, edi
mov ecx, dword [ebx + 4]
mov dword [ecx + 0x18], edi
mov dword [ecx + 0x1c], edi
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 0x20]
mov dword [ebx + 4], eax
test eax, eax
jne 0x4b1db5
fld qword [ebx + 0x60]
fidiv dword [ebx + 0xb0]
fstp qword [ebx + 0x68]
imul edx, dword [ebx + 0xa0], 0x18
add edx, 0x1c
push edx
push ebx
call sub.mclib32.dll__ALLOCATE_8
cmp dword [ebx], 0
je 0x4b1ed8
add dword [ebx], 4
mov ecx, dword [ebx]
mov eax, dword [ebx + 0xa0]
mov dword [ecx - 4], eax
cmp dword [ebx], 0
jne 0x4b1ef3
push dword [0x5cbb00]
call fcn.00418009
lea eax, [ebx + 8]
push eax
call fcn.004b1bec
jmp 0x4b1f0f
push 0x4a6
push 0xf1
push 0x142
lea eax, [ebp + 8]
push eax
call fcn.004cc8d0
test al, al
jne 0x4b1f16
xor eax, eax
jmp 0x4b2f52
push 0xffffffffffffffff
push 1
call fcn.0040fa01
push 0x1f4
call fcn.004cd02c
push 0x8c
push 0x19e
push 0x107
lea eax, [ebx + 0xbc]
push eax
push 0
push 0x19f
push 0x107
add eax, 0x210
push eax
push 0
push 0x1a0
push 0x107
add eax, 0x210
push eax
call fcn.004cd73f
call fcn.004cd044
push 0x1f4
call fcn.004cd02c
push 0x2b
push 0x5b2208
call fcn.004cccc3
push 0
push 0x157
call fcn.004cdf3a
push 0x13
push 0x5b2260
call fcn.004cccc3
push dword [ebx + 0xb0]
call fcn.004ce4a8
push 0xa
push 0x5b2288
call fcn.004cccc3
call fcn.004cd044
mov eax, dword [ebx + 8]
jmp 0x4b2032
rol dword [0x5cb780], 1
test byte [0x5cb780], 1
je 0x4b1fe1
rol dword [0x5cb784], 1
test byte [0x5cb784], 1
je 0x4b1fe1
call fcn.0040f884
jmp 0x4b1fe3
mov al, 0
test al, al
jne 0x4b2f23
mov edx, dword [ebx + 4]
fld qword [edx + 0x10]
mov ecx, dword [ebx]
imul eax, dword [edx + 0x30], 0x18
fstp qword [ecx + eax]
xor edi, edi
mov ecx, dword [ebx]
mov esi, dword [ebx + 4]
mov eax, dword [esi + 0x24]
imul edx, dword [esi + 0x30], 0x18
mov dword [ecx + edx + 0x10], eax
mov ecx, dword [ebx + 4]
imul eax, dword [ecx + 0x30], 0x18
mov ecx, dword [ebx]
mov dword [ecx + eax + 8], edi
mov dword [ecx + eax + 0xc], edi
mov ecx, dword [ebx + 4]
mov eax, ecx
imul edx, dword [ecx + 0x30], 0x18
mov ecx, dword [ebx]
mov dword [ecx + edx + 0x14], eax
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 0x20]
mov dword [ebx + 4], eax
test eax, eax
jne 0x4b1fbc
mov edi, eax
mov dword [ebx + 0x70], eax
mov dword [ebx + 0x74], eax
mov dword [ebx + 0x58], eax
mov dword [ebx + 0x5c], eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x7c], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x40], eax
mov esi, 1
jmp 0x4b2127
rol dword [0x5cb780], 1
test byte [0x5cb780], 1
je 0x4b2085
rol dword [0x5cb784], 1
test byte [0x5cb784], 1
je 0x4b2085
call fcn.0040f884
jmp 0x4b2087
mov al, 0
test al, al
jne 0x4b2f23
push 1
push esi
call fcn.0040d401
call fcn.0056d163
push 2
push esi
mov edi, eax
call fcn.0040d401
fst qword [ebp - 0x2c]
fsub qword [ebx + 0x68]
fstp qword [ebp - 0xc]
fld qword [ebx + 0x70]
fld qword [ebp - 0xc]
fmul qword [ebp - 0xc]
faddp st(1)
fstp qword [ebx + 0x70]
mov edx, dword [ebx]
imul edi, edi, 0x18
fld qword [ebp - 0x2c]
fsub qword [edx + edi]
fstp qword [ebp - 0xc]
mov eax, dword [edx + edi + 0x14]
fld qword [ebp - 0xc]
fmul qword [ebp - 0xc]
fstp qword [ebp - 0x70]
fld qword [eax + 0x18]
fadd qword [ebp - 0x70]
fstp qword [eax + 0x18]
fld qword [ebx + 0x58]
fadd qword [ebp - 0x70]
fstp qword [ebx + 0x58]
push 4
push esi
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.0040d42c
fld qword [ebp - 0xc]
fabs
fstp qword [ebp - 0xc]
push 3
push esi
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.0040d42c
fld qword [ebx + 0x78]
fadd qword [ebp - 0xc]
fstp qword [ebx + 0x78]
mov edx, dword [ebx]
fld qword [edx + edi + 8]
fadd qword [ebp - 0xc]
fstp qword [edx + edi + 8]
inc esi
jo 0x4b2130
cmp esi, dword [ebp - 0x40]
jle 0x4b2060
fld qword [ebx + 0x70]
fsub qword [ebx + 0x58]
fstp qword [ebx + 0x50]
xor esi, esi
mov eax, dword [ebx + 0xa0]
dec eax
mov dword [ebp - 0x44], eax
jmp 0x4b218a
rol dword [0x5cb780], 1
test byte [0x5cb780], 1
je 0x4b216c
rol dword [0x5cb784], 1
test byte [0x5cb784], 1
je 0x4b216c
call fcn.0040f884
jmp 0x4b216e
mov al, 0
test al, al
jne 0x4b2f23
mov edx, dword [ebx]
imul eax, esi, 0x18
fld qword [edx + eax + 8]
fidiv dword [edx + eax + 0x10]
fstp qword [edx + eax + 8]
inc esi
jo 0x4b218f
cmp esi, dword [ebp - 0x44]
jle 0x4b2147
fld qword [ebx + 0x78]
fidiv dword [ebx + 0xb0]
fstp qword [ebx + 0x90]
xor edi, edi
mov dword [ebx + 0x98], edi
mov dword [ebx + 0x9c], edi
mov dword [ebx + 0x88], edi
mov dword [ebx + 0x8c], edi
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0x48], eax
mov esi, 1
jmp 0x4b2257
rol dword [0x5cb780], 1
test byte [0x5cb780], 1
je 0x4b21f0
rol dword [0x5cb784], 1
test byte [0x5cb784], 1
je 0x4b21f0
call fcn.0040f884
jmp 0x4b21f2
mov al, 0
test al, al
jne 0x4b2f23
push 1
push esi
call fcn.0040d401
call fcn.0056d163
push 3
push esi
mov edi, eax
call fcn.0040d401
fst qword [ebp - 0x2c]
fsub qword [ebx + 0x90]
fstp qword [ebp - 0xc]
fld qword [ebx + 0x98]
fld qword [ebp - 0xc]
fmul qword [ebp - 0xc]
faddp st(1)
fstp qword [ebx + 0x98]
fld qword [ebp - 0x2c]
mov ecx, dword [ebx]
imul eax, edi, 0x18
fsub qword [ecx + eax + 8]
fstp qword [ebp - 0xc]
fld qword [ebx + 0x88]
fld qword [ebp - 0xc]
fmul qword [ebp - 0xc]
faddp st(1)
fstp qword [ebx + 0x88]
inc esi
jo 0x4b2260
cmp esi, dword [ebp - 0x48]
jle 0x4b21cb
fld qword [ebx + 0x98]
fsub qword [ebx + 0x88]
fstp qword [ebx + 0x80]
mov eax, dword [ebx + 0x8c]
and eax, 0x7fffffff
or eax, dword [ebx + 0x88]
je 0x4b2423
mov eax, dword [ebx + 0xa0]
cmp eax, 1
jle 0x4b2423
cmp dword [ebx + 0xb0], eax
jle 0x4b2423
dec eax
mov dword [ebp - 0x4c], eax
fld qword [ebx + 0x80]
fidiv dword [ebp - 0x4c]
fstp qword [ebx + 0x38]
mov eax, dword [ebx + 0xb0]
sub eax, dword [ebx + 0xa0]
mov dword [ebp - 0x50], eax
fld qword [ebx + 0x88]
fidiv dword [ebp - 0x50]
fstp qword [ebx + 0x40]
push 2
call fcn.004cd058
push 0x501f
call fcn.004ccdf3
call fcn.004cd0a0
push 0x1f4
call fcn.004cd02c
push 0x2b
push 0x5b229e
call fcn.004cccc3
push 0
push 0x5031
call fcn.004cdf3a
push 0x13
push 0x5b22f6
call fcn.004cccc3
fld qword [ebx + 0x38]
fdiv qword [ebx + 0x40]
sub esp, 8
fstp qword [esp]
push 3
call fcn.004ce751
push 0xa
push 0x5b2288
call fcn.004cccc3
push 0x21
push 0x5b231e
call fcn.004cccc3
push 0
push 0xbe
call fcn.004cdf3a
push 0x13
push 0x5b22f6
call fcn.004cccc3
mov eax, dword [ebx + 0xa0]
dec eax
push eax
call fcn.004ce4a8
push 0xa
push 0x5b2288
call fcn.004cccc3
push 0x21
push 0x5b231e
call fcn.004cccc3
push 0
push 0xbf
call fcn.004cdf3a
push 0x13
push 0x5b22f6
call fcn.004cccc3
mov eax, dword [ebx + 0xb0]
sub eax, dword [ebx + 0xa0]
push eax
call fcn.004ce4a8
push 0xa
push 0x5b2288
call fcn.004cccc3
push 0x21
push 0x5b231e
call fcn.004cccc3
push 0
push 0x1cc
call fcn.004cdf3a
push 0x13
push 0x5b22f6
call fcn.004cccc3
mov edx, dword [ebx + 0xa0]
push 0
lea eax, [edx - 1]
push eax
mov eax, dword [ebx + 0xb0]
sub eax, edx
push eax
fld qword [ebx + 0x38]
fdiv qword [ebx + 0x40]
sub esp, 8
fstp qword [esp]
lea eax, [ebx + 0x48]
push eax
call fcn.004aa16f
push 1
push 1
push dword [ebx + 0x4c]
push dword [ebx + 0x48]
push 3
push 0
call fcn.004ce4dc
push 0xa
push 0x5b2288
call fcn.004cccc3
call fcn.004cd044
push 2
call fcn.004cd058
cmp byte [ebx + 0xd12], 0
je 0x4b243a
push 0xb07
jmp 0x4b243f
push 0x5033
call fcn.004ccdf3
call fcn.004cd0a0
push 0x1f4
call fcn.004cd02c
push 0x1f
push 0x5b2362
call fcn.004cccc3
push 0
push 0x5032
call fcn.004cdf3a
push 5
push 0x5b23a2
call fcn.004cccc3
push 0x15
push 0x5b23ae
call fcn.004cccc3
push 0
push 0x5018
call fcn.004cdf3a
push 5
push 0x5b23a2
call fcn.004cccc3
push 0x15
push 0x5b23ae
call fcn.004cccc3
push 0
push 0x3d
call fcn.004cdf3a
push 5
push 0x5b23a2
call fcn.004cccc3
push 0x15
push 0x5b23ae
call fcn.004cccc3
push 0
push 0x5019
call fcn.004cdf3a
push 0xa
push 0x5b23da
call fcn.004cccc3
push 0x15
push 0x5b23f0
call fcn.004cccc3
push 0
push 0x1a3
call fcn.004cdf3a
push 4
push 0x5b241c
call fcn.004cccc3
push 0
push 0x1a4
call fcn.004cdf3a
push 0x13
push 0x5b22f6
call fcn.004cccc3
push dword [ebx + 0x54]
push dword [ebx + 0x50]
push 4
call fcn.004ce751
push 5
push 0x5b2426
call fcn.004cccc3
push 0xe
push 0x5b2432
call fcn.004cccc3
mov eax, dword [ebx + 0xa0]
dec eax
push eax
call fcn.004ce4a8
push 5
push 0x5b2426
call fcn.004cccc3
push 0xe
push 0x5b2432
call fcn.004cccc3
mov eax, dword [ebx + 0xa0]
cmp eax, 1
jle 0x4b258d
dec eax
mov dword [ebp - 0x54], eax
fld qword [ebx + 0x50]
fidiv dword [ebp - 0x54]
fstp qword [ebx + 0x38]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push 4
call fcn.004ce751
jmp 0x4b25a1
xor edi, edi
mov dword [ebx + 0x38], edi
mov dword [ebx + 0x3c], edi
push 6
push 0x5b2450
call fcn.004cccc3
push 0xa
push 0x5b2288
call fcn.004cccc3
push 0x15
push 0x5b23f0
call fcn.004cccc3
push 0
push 0x1a5
call fcn.004cdf3a
push 4
push 0x5b241c
call fcn.004cccc3
push 0
push 0x1a6
call fcn.004cdf3a
push 0x13
push 0x5b22f6
call fcn.004cccc3
push dword [ebx + 0x5c]
push dword [ebx + 0x58]
push 4
call fcn.004ce751
push 0xe
push 0x5b2432
call fcn.004cccc3
mov eax, dword [ebx + 0xb0]
sub eax, dword [ebx + 0xa0]
push eax
call fcn.004ce4a8
push 0xe
push 0x5b2432
call fcn.004cccc3
mov esi, dword [ebx + 0xa0]
mov eax, dword [ebx + 0xb0]
cmp eax, esi
je 0x4b265b
sub eax, esi
mov dword [ebp - 0x58], eax
fld qword [ebx + 0x58]
fidiv dword [ebp - 0x58]
fstp qword [ebx + 0x40]
push dword [ebx + 0x44]
push dword [ebx + 0x40]
call fcn.0042c7b4
fstp qword [ebp - 0x34]
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push 4
call fcn.004ce751
jmp 0x4b266f
xor edi, edi
mov dword [ebx + 0x40], edi
mov dword [ebx + 0x44], edi
push 6
push 0x5b2450
call fcn.004cccc3
push 0xa
push 0x5b2288
call fcn.004cccc3
push 0x15
push 0x5b23f0
call fcn.004cccc3
push 0
push 0x1a7
call fcn.004cdf3a
push 0x13
push 0x5b22f6
call fcn.004cccc3
push dword [ebx + 0x74]
push dword [ebx + 0x70]
push 4
call fcn.004ce751
push 0xe
push 0x5b2432
call fcn.004cccc3
mov eax, dword [ebx + 0xb0]
dec eax
push eax
call fcn.004ce4a8
push 0x1e
push 0x5b245e
call fcn.004cccc3
call fcn.004cd044
push 0x1f4
call fcn.004cd02c
push 0x1f
push 0x5b249c
call fcn.004cccc3
push 0
push 0x1a8
call fcn.004cdf3a
push 0x13
push 0x5b22f6
call fcn.004cccc3
mov eax, dword [ebx + 0x44]
and eax, 0x7fffffff
or eax, dword [ebx + 0x40]
je 0x4b271a
cmp dword [ebx + 0xa0], 1
jne 0x4b2736
push 1
push 0x1a9
call fcn.004cdf3a
xor edx, edx
mov dword [ebx + 0x48], edx
mov dword [ebx + 0x4c], edx
mov byte [ebp - 1], dl
jmp 0x4b27ba
mov byte [ebp - 1], 1
fld qword [ebx + 0x38]
fdiv qword [ebx + 0x40]
sub esp, 8
fstp qword [esp]
push 3
call fcn.004ce751
push 0xa
push 0x5b2288
call fcn.004cccc3
push 0x15
push 0x5b23f0
call fcn.004cccc3
push 0
push 0x1cc
call fcn.004cdf3a
push 0x13
push 0x5b22f6
call fcn.004cccc3
mov edx, dword [ebx + 0xa0]
push 0
lea eax, [edx - 1]
push eax
mov eax, dword [ebx + 0xb0]
sub eax, edx
push eax
fld qword [ebx + 0x38]
fdiv qword [ebx + 0x40]
sub esp, 8
fstp qword [esp]
lea eax, [ebx + 0x48]
push eax
call fcn.004aa16f
push 1
push 1
push dword [ebx + 0x4c]
push dword [ebx + 0x48]
push 3
push 0
call fcn.004ce4dc
push 0xa
push 0x5b2288
call fcn.004cccc3
call fcn.004cd044
xor edi, edi
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x18], edi
jmp 0x4b287d
rol dword [0x5cb780], 1
test byte [0x5cb780], 1
je 0x4b27fb
rol dword [0x5cb784], 1
test byte [0x5cb784], 1
je 0x4b27fb
call fcn.0040f884
mov eax, dword [ebx + 8]
mov dword [ebx + 4], eax
mov dword [ebx + 0x10], eax
jmp 0x4b282f
mov eax, dword [ebx + 4]
mov dword [ebx + 0x1c], eax
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 0x20]
mov dword [ebx + 4], eax
fld qword [ebx + 0x28]
mov ecx, dword [ebx + 4]
fcomp qword [ecx + 0x10]
wait
fnstsw ax
test ah, 1
je 0x4b283b
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebx + 0xc], eax
mov ecx, dword [ebx + 4]
fld qword [ecx + 0x10]
fstp qword [ebx + 0x28]
mov ecx, dword [ebx + 4]
cmp dword [ecx + 0x20], 0
jne 0x4b2806
cmp dword [ebx + 0x14], 0
jne 0x4b2852
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0x14], eax
jmp 0x4b285e
mov ecx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x20], eax
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0x18], eax
mov ecx, dword [ebx + 8]
cmp dword [ebx + 0x10], ecx
jne 0x4b2871
mov eax, dword [ecx + 0x20]
mov dword [ebx + 8], eax
jmp 0x4b287d
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + 0x20]
mov ecx, dword [ebx + 0xc]
mov dword [ecx + 0x20], eax
cmp dword [ebx + 8], 0
jne 0x4b27d8
xor esi, esi
mov eax, dword [ebx + 0x14]
mov dword [ebx + 8], eax
jmp 0x4b289e
mov ecx, dword [ebx + 4]
inc esi
mov dword [ecx + 0x28], esi
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 0x20]
mov dword [ebx + 4], eax
cmp dword [ebx + 4], 0
jne 0x4b2891
xor edi, edi
mov dword [ebx + 0x14], edi
mov dword [ebx + 0x18], edi
jmp 0x4b29b8
rol dword [0x5cb780], 1
test byte [0x5cb780], 1
je 0x4b28d7
rol dword [0x5cb784], 1
test byte [0x5cb784], 1
je 0x4b28d7
call fcn.0040f884
mov eax, dword [ebx + 8]
mov dword [ebx + 4], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0xc], eax
cmp byte [ebx + 0xd11], 0
je 0x4b2957
jmp 0x4b2922
mov eax, dword [ebx + 4]
mov dword [ebx + 0x1c], eax
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 0x20]
mov dword [ebx + 4], eax
cmp byte [ebx + 0xd11], 0
je 0x4b292c
fld qword [ebx + 0x28]
mov ecx, dword [ebx + 4]
fcomp qword [ecx]
wait
fnstsw ax
test ah, 0x41
jne 0x4b2972
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebx + 0xc], eax
mov ecx, dword [ebx + 4]
fld qword [ecx]
fstp qword [ebx + 0x28]
jmp 0x4b2972
mov ecx, dword [ebx + 4]
mov esi, dword [ecx + 0x34]
push 0x107
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push dword [esi - 4]
push esi
call fcn.00415a2a
cmp al, 2
jne 0x4b2972
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebx + 0xc], eax
mov ecx, dword [ebx + 4]
mov edx, dword [ecx + 0x34]
push 0x107
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push dword [edx - 4]
push edx
call fcn.00415c57
mov ecx, dword [ebx + 4]
cmp dword [ecx + 0x20], 0
jne 0x4b28ee
cmp dword [ebx + 0x14], 0
jne 0x4b298d
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0x14], eax
jmp 0x4b2999
mov ecx, dword [ebx + 0x18]
mov eax, dword [ebx + 0x10]
mov dword [ecx + 0x20], eax
mov eax, dword [ebx + 0x10]
mov dword [ebx + 0x18], eax
mov ecx, dword [ebx + 8]
cmp dword [ebx + 0x10], ecx
jne 0x4b29ac
mov eax, dword [ecx + 0x20]
mov dword [ebx + 8], eax
jmp 0x4b29b8
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + 0x20]
mov ecx, dword [ebx + 0xc]
mov dword [ecx + 0x20], eax
cmp dword [ebx + 8], 0
jne 0x4b28b4
xor esi, esi
mov eax, dword [ebx + 0x14]
mov dword [ebx + 8], eax
jmp 0x4b29d9
mov ecx, dword [ebx + 4]
inc esi
mov dword [ecx + 0x2c], esi
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 0x20]
mov dword [ebx + 4], eax
cmp dword [ebx + 4], 0
jne 0x4b29cc
fld qword [ebx + 0x20]
fmul qword [0x5b24e0]
fcomp qword [ebx + 0x48]
wait
fnstsw ax
test ah, 0x41
jne 0x4b2a62
cmp dword [ebx + 0xa0], 1
jle 0x4b2a62
cmp byte [ebp - 1], 0
je 0x4b2a62
push 2
call fcn.004cd058
mov eax, dword [ebx + 0xb8]
test eax, eax
je 0x4b2a22
cmp eax, 1
je 0x4b2a29
cmp eax, 2
je 0x4b2a53
jmp 0x4b2a5d
push 0x5035
jmp 0x4b2a58
push 0x5036
call fcn.004ccdf3
mov eax, dword [ebx + 0xb0]
mov esi, dword [ebx + 0xa0]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
sub eax, esi
push eax
push esi
call fcn.004ab4f7
fstp qword [ebx + 0x30]
jmp 0x4b2a5d
push 0x5037
call fcn.004ccdf3
call fcn.004cd0a0
push 0x1f4
call fcn.004cd02c
push 0x20
push 0x5b24e8
call fcn.004cccc3
push 0
push 0xa48
call fcn.004cdf3a
push 0x16
push 0x5b252a
call fcn.004cccc3
push 0
push 0xbc
call fcn.004cdf3a
push 0x16
push 0x5b252a
call fcn.004cccc3
cmp byte [ebx + 0xd12], 0
push 0
je 0x4b2aba
push 0xbd
jmp 0x4b2abf
push 0x3e9
call fcn.004cdf3a
cmp byte [ebx + 0xd12], 0
jne 0x4b2ae5
push 0x16
push 0x5b252a
call fcn.004cccc3
push 0
push 0xb6
call fcn.004cdf3a
fld qword [ebx + 0x20]
fmul qword [0x5b24e0]
fcomp qword [ebx + 0x48]
wait
fnstsw ax
test ah, 0x41
jne 0x4b2b73
cmp dword [ebx + 0xa0], 1
jle 0x4b2b73
cmp byte [ebp - 1], 0
je 0x4b2b73
push 0x16
push 0x5b2558
call fcn.004cccc3
fld qword [0x5b2588]
fcomp qword [ebx + 0x20]
wait
fnstsw ax
test ah, 0x41
je 0x4b2b2e
cmp dword [ebx + 0xa0], 0x14
jle 0x4b2b4c
mov esi, 0x5b2590
lea edi, reloc.gdi32.dll_AbortDoc
cld
mov ecx, 6
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov byte [ebx + 0xd13], 1
jmp 0x4b2b55
mov word [ebx + 0x6ec], 0
push 0x5039
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push 0xffffffffffffffff
push 0x107
lea eax, reloc.gdi32.dll_AbortDoc
push eax
call fcn.004ce388
push 0xa
push 0x5b23da
call fcn.004cccc3
mov eax, dword [ebx + 8]
jmp 0x4b2df8
push 0x12
push 0x5b25aa
call fcn.004cccc3
mov ecx, dword [ebx + 4]
push dword [ecx + 0x2c]
call fcn.004cea6a
push 6
push 0x5b2450
call fcn.004cccc3
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 0x34]
push 0
push dword [eax - 4]
push eax
call fcn.004cdd44
push 0x13
push 0x5b25d0
call fcn.004cccc3
mov ecx, dword [ebx + 4]
push dword [ecx + 0x24]
call fcn.004ce4a8
push 0x13
push 0x5b25d0
call fcn.004cccc3
mov ecx, dword [ebx + 4]
push dword [ebx + 0xd12]
push dword [ecx + 0x14]
push dword [ecx + 0x10]
push 4
call fcn.004ce80a
cmp byte [ebx + 0xd12], 0
jne 0x4b2c31
push 0x13
push 0x5b25d0
call fcn.004cccc3
mov esi, dword [ebx + 4]
mov eax, dword [esi + 0x24]
dec eax
mov dword [ebp - 0x5c], eax
fld qword [esi + 0x18]
fidiv dword [ebp - 0x5c]
sub esp, 8
fstp qword [esp]
call fcn.0042c7b4
sub esp, 8
fstp qword [esp]
push 4
call fcn.004ce751
push 5
push 0x5b2426
call fcn.004cccc3
fld qword [ebx + 0x20]
fmul qword [0x5b24e0]
fcomp qword [ebx + 0x48]
wait
fnstsw ax
test ah, 0x41
jne 0x4b2de6
cmp dword [ebx + 0xa0], 1
jle 0x4b2de6
cmp byte [ebp - 1], 0
je 0x4b2de6
push 0xe
push 0x5b25f8
call fcn.004cccc3
mov eax, dword [ebx + 8]
jmp 0x4b2dcf
mov byte [ebp - 2], 0
mov esi, dword [ebx + 4]
cmp esi, dword [ebx + 0x1c]
je 0x4b2db8
mov edi, dword [ebx + 0x1c]
fld qword [esi + 0x10]
fsub qword [edi + 0x10]
fabs
fstp qword [ebp - 0x24]
fild dword [esi + 0x24]
fstp qword [ebp - 0x14]
fild dword [edi + 0x24]
fstp qword [ebp - 0x1c]
mov eax, dword [ebx + 0xb8]
test eax, eax
jne 0x4b2cdd
mov eax, dword [ebx + 0xb0]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
sub eax, dword [ebx + 0xa0]
push eax
mov eax, dword [esi + 0x28]
sub eax, dword [edi + 0x28]
jge 0x4b2cd1
neg eax
inc eax
push eax
call fcn.004ab4f7
fstp qword [ebx + 0x30]
jmp 0x4b2ce2
cmp eax, 1
jne 0x4b2d21
fld dword [0x5b2618]
fdiv qword [ebp - 0x14]
fld dword [0x5b2618]
fdiv qword [ebp - 0x1c]
faddp st(1)
fld qword [ebx + 0x40]
fdiv dword [0x5b261c]
fmulp st(1)
sub esp, 8
fstp qword [esp]
call fcn.0042c7b4
fmul qword [ebx + 0x30]
fcomp qword [ebp - 0x24]
wait
fnstsw ax
test ah, 1
setne byte [ebp - 2]
jmp 0x4b2db8
cmp eax, 2
jne 0x4b2db8
fld dword [0x5b2618]
fdiv qword [ebp - 0x14]
fld dword [0x5b2618]
fdiv qword [ebp - 0x1c]
faddp st(1)
fmul qword [ebx + 0x40]
sub esp, 8
fstp qword [esp]
call fcn.0042c7b4
fstp qword [ebp - 0x3c]
mov edx, dword [ebx + 0xa0]
lea eax, [edx - 1]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0xb0]
sub eax, edx
mov dword [ebp - 0x64], eax
fild dword [ebp - 0x60]
sub esp, 8
fstp qword [esp]
fild dword [ebp - 0x64]
sub esp, 8
fstp qword [esp]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
lea eax, [ebx + 0x30]
push eax
call fcn.004aa19a
test al, al
je 0x4b2db8
mov eax, dword [ebx + 0xa0]
dec eax
mov dword [ebp - 0x68], eax
fild dword [ebp - 0x68]
fmul qword [ebx + 0x30]
sub esp, 8
fstp qword [esp]
call fcn.0042c7b4
fld qword [ebp - 0x24]
fdiv qword [ebp - 0x3c]
fcompp
wait
fnstsw ax
test ah, 0x41
sete byte [ebp - 2]
cmp byte [ebp - 2], 0
je 0x4b2dc9
mov ecx, dword [ebx + 0x1c]
push dword [ecx + 0x2c]
call fcn.004cea6a
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ecx + 0x20]
mov dword [ebx + 0x1c], eax
test eax, eax
jne 0x4b2c80
push 5
push 0x5b2426
call fcn.004cccc3
push 5
push 0x5b2620
call fcn.004cccc3
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 0x20]
mov dword [ebx + 4], eax
test eax, eax
jne 0x4b2b87
call fcn.004cd044
cmp byte [ebx + 0xd13], 0
je 0x4b2e35
push 0x38
push 0x5b262c
call fcn.004cccc3
push 0
push 0x5034
call fcn.004cdf3a
push 4
push 0x5b269e
call fcn.004cccc3
push 0x1f4
call fcn.004cd305
fld qword [0x5b26a8]
fcomp qword [ebp - 0x34]
wait
fnstsw ax
test ah, 0x40
jne 0x4b2eb3
push 0x104
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x142
push 5
push 0x5b26b0
push dword [ebx + 0xb0]
push dword [0x5cb670]
push 4
push 0xffffffffffffffff
push 1
push 0
push dword [ebp - 0x30]
push dword [ebp - 0x34]
call fcn.004cf2d4
cmp word [ebx + 0x8fc], 0
je 0x4b2eb3
push 0x1f
push 0x5b26bc
call fcn.004cccc3
push 0x502f
call fcn.004ccdf3
push 8
push 0x5b26fc
call fcn.004cccc3
mov ecx, dword [ebp + 0xc]
push 0x104
lea eax, reloc.gdi32.dll_AbortDoc
push eax
lea eax, [ecx + 0xbc]
push eax
push 0x5b270e
push 0
add eax, 0x420
push eax
push 0x5b270e
sub eax, 0x210
push eax
push 0
push 0
push 0
push 0xffffffffffffffff
push dword [ecx + 0xd12]
push 0
call fcn.004cfa6d
test al, al
je 0x4b2f1c
push 0x1e
push 0x5b2920
call fcn.004cccc3
push 0x5030
call fcn.004ccdf3
push 8
push 0x5b26fc
call fcn.004cccc3
push 0xffffffffffffffff
call fcn.004cd5a8
push 1
call fcn.004ce495
push 0x1f4
push 0x104
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x104
add eax, 0x20a
push eax
push 0
push 0x5b21f0
call fcn.004cca5b
pop edi
pop esi
pop ebx
leave
ret 8