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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x128
push ebx
push esi
mov ebx, dword [ebp + 8]
push 0xffffffffffffffff
push 1
call fcn.0040fa01
push 0x107
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x107
add eax, 0x210
push eax
push 0
push 0x5c3800
push 0
push 1
sub eax, 0x230
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebx + 0x200]
push eax
call fcn.00463b3f
xor esi, esi
test al, al
je 0x51d66f
mov dword [ebx + 0x10], esi
mov dword [ebx + 0x14], esi
mov dword [ebx + 0x18], esi
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x88], esi
mov dword [ebx + 0x8c], esi
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x80], esi
mov dword [ebx + 0x84], esi
mov dword [ebx + 0x90], esi
mov dword [ebx + 0x94], esi
mov dword [ebx + 0x98], esi
mov dword [ebx + 0x9c], esi
mov dword [ebx + 0x40], esi
mov dword [ebx + 0x44], esi
mov dword [ebx + 0x48], esi
mov dword [ebx + 0x4c], esi
mov dword [ebx + 0x50], esi
mov dword [ebx + 0x54], esi
mov dword [ebx + 0x58], esi
mov dword [ebx + 0x5c], esi
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x34], esi
mov dword [ebx + 0x20], esi
mov dword [ebx + 0x24], esi
mov dword [ebx + 0x28], esi
mov dword [ebx + 0x2c], esi
mov dword [ebx + 0x60], esi
mov dword [ebx + 0x64], esi
mov dword [ebx + 0x68], esi
mov dword [ebx + 0x6c], esi
mov dword [ebx + 0x70], esi
mov dword [ebx + 0x74], esi
mov dword [ebx + 0x78], esi
mov dword [ebx + 0x7c], esi
mov dword [ebx + 0x38], esi
mov dword [ebx + 0x3c], esi
mov dword [ebx + 0xc0], esi
mov dword [ebx + 0xc4], esi
mov dword [ebx + 0xc8], esi
mov dword [ebx + 0xcc], esi
mov dword [ebx + 0xd0], esi
mov dword [ebx + 0xd4], esi
mov dword [ebx + 0xd8], esi
mov dword [ebx + 0xdc], esi
mov dword [ebx + 0xe0], reloc.gdi32.dll_AbortDoc
mov dword [ebx + 0xe4], 0x7fefffff
mov dword [ebx + 0xe8], reloc.gdi32.dll_AbortDoc
mov dword [ebx + 0xec], 0x7fefffff
fild dword [ebx + 0x1e8]
fst qword [ebp - 0xc]
fsub dword [0x5c3800]
fst qword [ebp - 0xd8]
fstp qword [ebp - 0x34]
cmp dword [ebx + reloc.gdi32.dll_AbortDoc], 1
jne 0x51c7c9
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], 0x3ff00000
cmp dword [ebx + reloc.gdi32.dll_AbortDoc], 2
jge 0x51c84f
push 0x578
push 0xa23
push dword [ebx + 0x1e8]
push esi
push 0x107
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x4fff
push 1
push esi
push 0x5c3800
push esi
push esi
push esi
push 0x5c3800
push esi
push esi
push esi
push 0x5c3800
push esi
push esi
push esi
push 0x5c3800
push esi
push esi
push esi
push 0x5c3800
push esi
push esi
push esi
push 0x5c3800
push esi
push esi
push esi
push 0x5c3800
push esi
push esi
push 0x107
add eax, 0x210
push eax
push 0x156
push esi
push 0x5c3800
push esi
call fcn.004ad59a
jmp 0x51d66f
call sub.kernel32.dll_GetTickCount
mov dword [ebx + reloc.gdi32.dll_AbortDoc], eax
push 1
push dword [ebx + 0x1e8]
call fcn.0040d7cc
test al, al
je 0x51d66f
push 1
push 9
push dword [ebx + 0x1e8]
call fcn.0040da27
push 1
push 1
call fcn.0040d401
fstp qword [ebx + 0x10]
push 1
push dword [ebx + 0x1e8]
call fcn.0040d401
fstp qword [ebx + 0x18]
mov edx, dword [0x5cb670]
mov eax, dword [edx + 4]
mov dword [ebx + reloc.gdi32.dll_AbortDoc], eax
mov eax, dword [ebx + reloc.gdi32.dll_AbortDoc]
mov eax, dword [edx + eax*4]
mov dword [ebx + reloc.gdi32.dll_AbortDoc], eax
cmp byte [ebx + 0xa48], 0
je 0x51c959
mov eax, dword [ebx + reloc.gdi32.dll_AbortDoc]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 4], 1
jmp 0x51c949
rol dword [0x5cb780], 1
test byte [0x5cb780], 1
je 0x51c8ff
rol dword [0x5cb784], 1
test byte [0x5cb784], 1
je 0x51c8ff
call fcn.0040f884
jmp 0x51c901
mov al, 0
test al, al
jne 0x51d66f
mov esi, dword [ebp - 4]
push 1
push esi
call fcn.0040d401
fstp qword [ebp - 0x14]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
call fcn.0042c8d3
fstp qword [ebp - 0x14]
call fcn.00405af5
test al, al
je 0x51ca9d
push 1
push esi
push dword [ebp - 0x10]
push dword [ebp - 0x14]
call fcn.0040d42c
inc dword [ebp - 4]
jo 0x51cae6
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xb8]
jle 0x51c8da
jmp 0x51cae6
cmp byte [ebx + 0xa4e], 0
je 0x51cae6
mov eax, dword [ebx + reloc.gdi32.dll_AbortDoc]
and eax, 0x7fffffff
or eax, dword [ebx + reloc.gdi32.dll_AbortDoc]
mov eax, dword [ebx + reloc.gdi32.dll_AbortDoc]
jne 0x51ca17
mov dword [ebp - 0xbc], eax
mov dword [ebp - 4], 1
jmp 0x51ca07
rol dword [0x5cb780], 1
test byte [0x5cb780], 1
je 0x51c9b7
rol dword [0x5cb784], 1
test byte [0x5cb784], 1
je 0x51c9b7
call fcn.0040f884
jmp 0x51c9b9
mov al, 0
test al, al
jne 0x51d66f
mov esi, dword [ebp - 4]
push 1
push esi
call fcn.0040d401
fstp qword [ebp - 0x14]
push 1
push esi
fld qword [ebx + 0x128]
fadd qword [ebp - 0x14]
sub esp, 8
fstp qword [esp]
call fcn.0042c8d3
sub esp, 8
fstp qword [esp]
call fcn.0040d42c
call fcn.00405af5
test al, al
je 0x51ca9d
inc dword [ebp - 4]
jo 0x51cae6
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xbc]
jle 0x51c992
jmp 0x51cae6
mov dword [ebp - 0xc0], eax
mov dword [ebp - 4], 1
jmp 0x51cad7
rol dword [0x5cb780], 1
test byte [0x5cb780], 1
je 0x51ca4e
rol dword [0x5cb784], 1
test byte [0x5cb784], 1
je 0x51ca4e
call fcn.0040f884
jmp 0x51ca50
mov al, 0
test al, al
jne 0x51d66f
mov esi, dword [ebp - 4]
push 1
push esi
call fcn.0040d401
fstp qword [ebp - 0x14]
push 1
push esi
fld qword [ebx + 0x128]
fadd qword [ebp - 0x14]
sub esp, 8
fstp qword [esp]
push dword [ebx + 0x124]
push dword [ebx + 0x120]
call fcn.0042c667
sub esp, 8
fstp qword [esp]
call fcn.0040d42c
call fcn.00405af5
test al, al
jne 0x51cad2
mov ecx, dword [0x5cb670]
push 1
push 0x578
push 0xa23
push 0x107
lea eax, reloc.gdi32.dll_AbortDoc
push eax
mov eax, dword [ebp - 4]
push 0
push 0x5c3800
push dword [ecx + eax*4]
call fcn.004ad544
jmp 0x51d66f
inc dword [ebp - 4]
jo 0x51cae6
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc0]
jle 0x51ca29
mov dword [ebx + reloc.gdi32.dll_AbortDoc], reloc.gdi32.dll_AbortDoc
mov dword [ebx + reloc.gdi32.dll_AbortDoc], 0x7fefffff
mov dword [ebx + reloc.gdi32.dll_AbortDoc], reloc.gdi32.dll_AbortDoc
mov dword [ebx + reloc.gdi32.dll_AbortDoc], 0xffefffff
test byte [ebx + 0x1d4], 0x20
je 0x51cb49
push 1
push 1
call fcn.0040d401
fstp qword [ebx + 0x130]
push 1
push dword [ebx + 0x1e8]
call fcn.0040d401
fstp qword [ebx + 0x138]
lea eax, reloc.gdi32.dll_AbortDoc
push eax
add eax, 8
push eax
call fcn.00446a23
push 1
push 1
call fcn.0040d401
fstp qword [ebx + 0xa0]
push 1
push dword [ebx + 0x1e8]
call fcn.0040d401
fstp qword [ebx + 0xa8]
push 1
push 2
call fcn.0040d401
fstp qword [ebx + 0xb0]
mov eax, dword [ebx + reloc.gdi32.dll_AbortDoc]
push 1
dec eax
push eax
call fcn.0040d401
fstp qword [ebx + 0xb8]
xor esi, esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], esi
mov eax, dword [ebx + reloc.gdi32.dll_AbortDoc]
mov dword [ebp - 0xc4], eax
mov dword [ebp - 4], 1
jmp 0x51cbf6
rol dword [0x5cb780], 1
test byte [0x5cb780], 1
je 0x51cbd1
rol dword [0x5cb784], 1
test byte [0x5cb784], 1
je 0x51cbd1
call fcn.0040f884
jmp 0x51cbd3
mov al, 0
test al, al
jne 0x51d66f
push 1
push dword [ebp - 4]
call fcn.0040d401
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x2c]
fadd qword [ebp - 0x1c]
fstp qword [ebp - 0x2c]
inc dword [ebp - 4]
jo 0x51cc01
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc4]
jle 0x51cbac
fld qword [ebp - 0x2c]
fdiv qword [ebp - 0xc]
fstp qword [ebx + 0x88]
fld qword [0x5c3848]
fld qword [ebx + 0x18]
fsub qword [ebx + 0x10]
fcompp
wait
fnstsw ax
sahf
mov esi, 0
je case.default.0x51d3b3
mov edx, dword [ebx + reloc.gdi32.dll_AbortDoc]
cmp edx, 1
jle case.default.0x51d3b3
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0xc8], edx
mov dword [ebp - 4], 1
jmp 0x51cccc
rol dword [0x5cb780], 1
test byte [0x5cb780], 1
je 0x51cc73
rol dword [0x5cb784], 1
test byte [0x5cb784], 1
je 0x51cc73
call fcn.0040f884
jmp 0x51cc75
mov al, 0
test al, al
jne 0x51d66f
push 1
push dword [ebp - 4]
call fcn.0040d401
fsub qword [ebx + 0x88]
fst qword [ebp - 0x14]
fmul qword [ebp - 0x14]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x2c]
fadd qword [ebp - 0x24]
fstp qword [ebp - 0x2c]
fld qword [ebx + 0xc0]
fld qword [ebp - 0x24]
fmul qword [ebp - 0x14]
faddp st(1)
fstp qword [ebx + 0xc0]
fld qword [ebx + 0xc8]
fld qword [ebp - 0x24]
fmul qword [ebp - 0x24]
faddp st(1)
fstp qword [ebx + 0xc8]
inc dword [ebp - 4]
jo 0x51ccdb
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xc8]
jle 0x51cc4e
fld qword [ebp - 0x2c]
fdiv qword [ebp - 0x34]
fstp qword [ebx + 0x80]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
call fcn.0042c7b4
fstp qword [ebx + 0x90]
fld qword [ebx + 0x90]
push dword [ebp - 8]
push dword [ebp - 0xc]
call fcn.0042c7b4
fdivp st(1)
fstp qword [ebx + 0x98]
fld qword [0x5c3848]
fcomp qword [ebx + 0x90]
wait
fnstsw ax
test ah, 1
je 0x51d1be
cmp dword [ebx + reloc.gdi32.dll_AbortDoc], 2
jle 0x51cf11
fld qword [ebp - 0xc]
fsub dword [0x5c3844]
fstp qword [ebp - 0xe0]
fld qword [ebx + 0xc0]
fmul qword [ebp - 0xc]
fld qword [ebp - 0xd8]
fmul qword [ebp - 0xe0]
fdivp st(1)
fstp qword [ebx + 0xc0]
fld qword [ebx + 0xc0]
fld qword [ebx + 0x80]
fmul qword [ebx + 0x90]
fdivp st(1)
fstp qword [ebx + 0xc0]
cmp dword [ebx + reloc.gdi32.dll_AbortDoc], 7
jle 0x51cf11
fld qword [ebx + 0xc0]
fmul qword [ebp - 0xe0]
fld qword [ebp - 0xc]
fmul qword [ebp - 0xd8]
sub esp, 8
fstp qword [esp]
call fcn.0042c7b4
fdivp st(1)
fstp qword [ebp - 0x4c]
fld qword [ebp - 0xc]
fadd dword [0x5c3800]
fstp qword [ebp - 0xe8]
fld qword [ebp - 0xc]
fadd dword [0x5c3850]
fstp qword [ebp - 0xf0]
fld qword [ebp - 0xe8]
fmul qword [ebp - 0xf0]
fld dword [0x5c3854]
fmul qword [ebp - 0xe0]
fdivp st(1)
sub esp, 8
fstp qword [esp]
call fcn.0042c7b4
fmul qword [ebp - 0x4c]
fstp qword [ebp - 0x54]
fld qword [ebp - 0xc]
fmul qword [ebp - 0xc]
fld dword [0x5c3858]
fmul qword [ebp - 0xc]
faddp st(1)
fsub dword [0x5c385c]
fmul dword [0x5c3850]
fmul qword [ebp - 0xe8]
fmul qword [ebp - 0xf0]
fld qword [ebp - 0xc]
fadd dword [0x5c3840]
fmul qword [ebp - 0xe0]
fld qword [ebp - 0xc]
fadd dword [0x5c3860]
fmulp st(1)
fld qword [ebp - 0xc]
fadd dword [0x5c3864]
fmulp st(1)
fdivp st(1)
fst qword [ebp - 0x5c]
fsub dword [0x5c3800]
fmul dword [0x5c3844]
sub esp, 8
fstp qword [esp]
call fcn.0042c7b4
fsub dword [0x5c3800]
fstp qword [ebp - 0x64]
push dword [ebp - 0x60]
push dword [ebp - 0x64]
call fcn.0042c7b4
fstp qword [ebp - 0x6c]
fld dword [0x5c3800]
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.0042c849
sub esp, 8
fstp qword [esp]
call fcn.0042c7b4
fdivp st(1)
fstp qword [ebp - 0x74]
fld qword [ebp - 0x54]
fld dword [0x5c3844]
fld qword [ebp - 0x64]
fsub dword [0x5c3800]
fdivp st(1)
sub esp, 8
fstp qword [esp]
call fcn.0042c7b4
fdivp st(1)
fst qword [ebp - 0x7c]
fmul qword [ebp - 0x7c]
fadd dword [0x5c3800]
sub esp, 8
fstp qword [esp]
call fcn.0042c7b4
fadd qword [ebp - 0x7c]
sub esp, 8
fstp qword [esp]
call fcn.0042c849
fmul qword [ebp - 0x74]
fst qword [ebp - 0x84]
fstp qword [ebx + 0xd0]
push dword [ebx + 0xd4]
push dword [ebx + 0xd0]
call fcn.004a9fb3
fmul dword [0x5c3844]
fstp qword [ebx + 0xe0]
cmp dword [ebx + reloc.gdi32.dll_AbortDoc], 3
jle 0x51d1be
fld qword [ebp - 0xc]
fadd dword [0x5c3800]
fstp qword [ebp - 0x108]
fld qword [ebx + 0xc8]
fmul qword [ebp - 0xc]
fmul qword [ebp - 0x108]
fdiv qword [ebp - 0xd8]
fld dword [0x5c3850]
fmul qword [ebp - 0x2c]
fmul qword [ebp - 0x2c]
fsubp st(1)
fstp qword [ebx + 0xc8]
fld qword [ebp - 0xc]
fsub dword [0x5c3844]
fstp qword [ebp - 0xf8]
fld qword [ebp - 0xc]
fsub dword [0x5c3850]
fstp qword [ebp - 0x100]
fld qword [ebp - 0xf8]
fmul qword [ebp - 0x100]
fstp qword [ebp - 0x110]
fld qword [ebx + 0xc8]
fdiv qword [ebp - 0x110]
fstp qword [ebx + 0xc8]
fld qword [ebx + 0xc8]
fld qword [ebx + 0x80]
fmul qword [ebx + 0x80]
fdivp st(1)
fstp qword [ebx + 0xc8]
fld qword [ebp - 0xc]
fadd dword [0x5c3850]
fstp qword [ebp - 0x118]
fld qword [ebp - 0xc]
fadd dword [0x5c3840]
fstp qword [ebp - 0x120]
fld dword [0x5c3868]
fmul qword [ebp - 0xc]
fmul qword [ebp - 0xf8]
fmul qword [ebp - 0x100]
fld qword [ebp - 0x108]
fmul qword [ebp - 0x108]
fmul qword [ebp - 0x118]
fmul qword [ebp - 0x120]
fdivp st(1)
fstp qword [ebp - 0x94]
fld qword [ebx + 0xc8]
fmul qword [ebp - 0x110]
push dword [ebp - 0x90]
push dword [ebp - 0x94]
call fcn.0042c7b4
fld qword [ebp - 0x108]
fmul qword [ebp - 0xd8]
fmulp st(1)
fdivp st(1)
fstp qword [ebp - 0x9c]
fld qword [ebp - 0xc]
fmul qword [ebp - 0xc]
fld dword [0x5c3840]
fmul qword [ebp - 0xc]
fsubp st(1)
fadd dword [0x5c3844]
fmul dword [0x5c3854]
fld qword [ebp - 0xc]
fadd dword [0x5c3860]
fld qword [ebp - 0xc]
fadd dword [0x5c3864]
fmulp st(1)
fdivp st(1)
fstp qword [ebp - 0xa4]
fld dword [0x5c3854]
fmul qword [ebp - 0x118]
fmul qword [ebp - 0x120]
fld qword [ebp - 0xc]
fmul qword [ebp - 0xf8]
fmul qword [ebp - 0x100]
fdivp st(1)
sub esp, 8
fstp qword [esp]
call fcn.0042c7b4
fmul qword [ebp - 0xa4]
fstp qword [ebp - 0xa4]
fld dword [0x5c386c]
fld qword [ebp - 0xa4]
fmul qword [ebp - 0xa4]
fdivp st(1)
fadd dword [0x5c3800]
sub esp, 8
fstp qword [esp]
call fcn.0042c7b4
fld dword [0x5c3844]
fdiv qword [ebp - 0xa4]
faddp st(1)
fld dword [0x5c3870]
fdiv qword [ebp - 0xa4]
fmulp st(1)
fadd dword [0x5c3854]
fstp qword [ebp - 0xac]
fld dword [0x5c3800]
fld dword [0x5c3844]
fdiv qword [ebp - 0xac]
fsubp st(1)
fld dword [0x5c3844]
fld qword [ebp - 0xac]
fsub dword [0x5c386c]
fdivp st(1)
sub esp, 8
fstp qword [esp]
call fcn.0042c7b4
fmul qword [ebp - 0x9c]
fadd dword [0x5c3800]
fdivp st(1)
fstp qword [ebp - 0xb4]
fld dword [0x5c3844]
fld dword [0x5c3864]
fmul qword [ebp - 0xac]
fdivp st(1)
fstp qword [ebp - 0x128]
fld dword [0x5c3800]
fsub qword [ebp - 0x128]
push dword [ebp - 0xb0]
push dword [ebp - 0xb4]
push 0x3fd55555
push 0x55555555
call fcn.0042c667
fsubp st(1)
push dword [ebp - 0x124]
push dword [ebp - 0x128]
call fcn.0042c7b4
fdivp st(1)
fst qword [ebp - 0x84]
fstp qword [ebx + 0xd8]
push dword [ebx + 0xdc]
push dword [ebx + 0xd8]
call fcn.004a9fb3
fmul dword [0x5c3844]
fstp qword [ebx + 0xe8]
cmp byte [ebx + 0xa4b], 0
mov dword [ebp - 0x8c], 0
je 0x51d1dd
mov dword [ebp - 0x88], reloc.gdi32.dll_AbortDoc
jmp 0x51d1e7
mov dword [ebp - 0x88], reloc.gdi32.dll_AbortDoc
push 1
push dword [ebx + 0x1e8]
fld qword [ebp - 0x8c]
fmul dword [0x5c3874]
sub esp, 8
fstp qword [esp]
lea eax, [ebx + 0x28]
push eax
call fcn.0043d45b
push 1
push dword [ebx + 0x1e8]
fld qword [ebp - 0x8c]
fmul dword [0x5c3878]
sub esp, 8
fstp qword [esp]
lea eax, [ebx + 0x20]
push eax
call fcn.0043d45b
push 1
push dword [ebx + 0x1e8]
push 0x40490000
push 0
lea eax, [ebx + 8]
push eax
call fcn.0043d45b
push 1
push dword [ebx + 0x1e8]
fld qword [ebp - 0x8c]
fmul dword [0x5c3804]
sub esp, 8
fstp qword [esp]
lea eax, [ebx + 0x40]
push eax
call fcn.0043d45b
push 1
push dword [ebx + 0x1e8]
fld qword [ebp - 0x8c]
fmul dword [0x5c387c]
sub esp, 8
fstp qword [esp]
lea eax, [ebx + 0x48]
push eax
call fcn.0043d45b
push 1
push dword [ebx + 0x1e8]
fld qword [ebp - 0x8c]
fmul dword [0x5c3880]
sub esp, 8
fstp qword [esp]
lea eax, [ebx + 0x50]
push eax
call fcn.0043d45b
push 1
push dword [ebx + 0x1e8]
fld qword [ebp - 0x8c]
fmul dword [0x5c3884]
sub esp, 8
fstp qword [esp]
lea eax, [ebx + 0x60]
push eax
call fcn.0043d45b
push 1
push dword [ebx + 0x1e8]
fld qword [ebp - 0x8c]
fmul dword [0x5c3840]
sub esp, 8
fstp qword [esp]
lea eax, [ebx + 0x68]
push eax
call fcn.0043d45b
push 1
push dword [ebx + 0x1e8]
fld qword [ebp - 0x8c]
fmul dword [0x5c3888]
sub esp, 8
fstp qword [esp]
lea eax, [ebx + 0x70]
push eax
call fcn.0043d45b
push 1
push dword [ebx + 0x1e8]
fld qword [ebp - 0x8c]
fmul dword [0x5c3800]
sub esp, 8
fstp qword [esp]
lea eax, [ebx + 0x58]
push eax
call fcn.0043d45b
push 1
push dword [ebx + 0x1e8]
fld qword [ebp - 0x8c]
fmul dword [0x5c388c]
sub esp, 8
fstp qword [esp]
lea eax, [ebx + 0x78]
push eax
call fcn.0043d45b
push 1
push dword [ebx + 0x1e8]
fld qword [ebp - 0x8c]
fmul dword [0x5c3890]
sub esp, 8
fstp qword [esp]
lea eax, [ebx + 0x30]
push eax
call fcn.0043d45b
push 1
push dword [ebx + 0x1e8]
fld qword [ebp - 0x8c]
fmul dword [0x5c3894]
sub esp, 8
fstp qword [esp]
lea eax, [ebx + 0x38]
push eax
call fcn.0043d45b
mov edx, dword [ebx + reloc.gdi32.dll_AbortDoc]
dec edx
cmp edx, 4
ja case.default.0x51d3b3
jmp dword [edx*4 + 0x51d3ba]
fld qword [ebx + 0x10]
fstp qword [ebp - 0x3c]
fld qword [ebx + 0x18]
fstp qword [ebp - 0x44]
cmp byte [ebx + 0xa48], 0
je 0x51d3ff
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
call fcn.0042c8d3
fstp qword [ebp - 0x3c]
push dword [ebp - 0x40]
push dword [ebp - 0x44]
call fcn.0042c8d3
fstp qword [ebp - 0x44]
push 1
push dword [ebx + 0x1e8]
push dword [ebx + 0x8c]
push dword [ebx + 0x88]
push dword [ebx + 0x94]
push dword [ebx + 0x90]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push dword [ebp - 0x44]
lea eax, [ebp - 0x14]
push eax
push 0x107
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x107
add eax, 0x210
push eax
call fcn.004e5ecf
jmp case.default.0x51d3b3
push 1
push 1
push dword [ebx + 0x1e8]
push dword [ebx + 0x8c]
push dword [ebx + 0x88]
push dword [ebx + 0x94]
push dword [ebx + 0x90]
lea eax, [ebp - 0x14]
push eax
push 0x107
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x107
add eax, 0x210
push eax
call fcn.004e64b4
jmp case.default.0x51d3b3
push dword [ebx + 0x1e8]
push dword [ebx + 0x94]
push dword [ebx + 0x90]
push dword [ebx + 0xd4]
push dword [ebx + 0xd0]
push dword [ebx + 0xdc]
push dword [ebx + 0xd8]
lea eax, [ebp - 0x14]
push eax
push 0x107
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x107
add eax, 0x210
push eax
call fcn.004e676a
jmp case.default.0x51d3b3
push 1
push 1
push dword [ebx + 0x1e8]
push dword [ebx + 0x94]
push dword [ebx + 0x90]
lea eax, [ebp - 0x14]
push eax
push 0x107
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x107
add eax, 0x210
push eax
call fcn.004e685e
jmp case.default.0x51d3b3
push 1
push 1
push dword [ebx + 0x1e8]
push dword [ebx + 0x94]
push dword [ebx + 0x90]
lea eax, [ebp - 0x14]
push eax
push 0x107
lea eax, reloc.gdi32.dll_AbortDoc
push eax
push 0x107
add eax, 0x210
push eax
call fcn.004e697b
mov byte [ebx + 0xa4d], 0
cmp byte [ebx + 0xa4c], 0
je 0x51d581
push dword [ebx + 0x1e0]
call fcn.0042aaaf
push dword [ebp + 8]
call fcn.0051c2ec
mov byte [ebx + 0xa4d], al
push 0
call fcn.0042aaaf
xor esi, esi
mov dword [ebx + 4], esi
mov dword [ebx], esi
test byte [ebx + 0x1d4], 2
je 0x51d6e1
mov eax, dword [ebx + reloc.gdi32.dll_AbortDoc]
lea eax, [eax*8 + 0xc]
push eax
push ebx
call sub.mclib32.dll__ALLOCATE_8
cmp dword [ebx], esi
je 0x51d6e1
add dword [ebx], 4
mov ecx, dword [ebx]
mov eax, dword [ebx + reloc.gdi32.dll_AbortDoc]
mov dword [ecx - 4], eax
cmp dword [ebx], esi
je 0x51d6e1
cmp byte [ebx + 0xa48], 0
mov eax, dword [ebx + reloc.gdi32.dll_AbortDoc]
je 0x51d635
mov dword [ebp - 0xcc], eax
mov dword [ebp - 4], 1
jmp 0x51d628
rol dword [0x5cb780], 1
test byte [0x5cb780], 1
je 0x51d60a
rol dword [0x5cb784], 1
test byte [0x5cb784], 1
je 0x51d60a
call fcn.0040f884
jmp 0x51d60c
mov al, 0
test al, al
jne 0x51d66f
push 1
push dword [ebp - 4]
call fcn.0040d401
mov ecx, dword [ebx]
mov eax, dword [ebp - 4]
fstp qword [ecx + eax*8]
inc eax
mov dword [ebp - 4], eax
jo 0x51d696
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xcc]
jle 0x51d5e5
jmp 0x51d696
mov dword [ebp - 0xd0], eax
mov dword [ebp - 4], 1
jmp 0x51d68b
rol dword [0x5cb780], 1
test byte [0x5cb780], 1
je 0x51d669
rol dword [0x5cb784], 1
test byte [0x5cb784], 1
je 0x51d669
call fcn.0040f884
jmp 0x51d66b
mov al, 0
test al, al
je 0x51d673
mov al, 0
jmp 0x51d6e3
push 9
push dword [ebp - 4]
call fcn.0040d401
mov ecx, dword [ebx]
mov eax, dword [ebp - 4]
fstp qword [ecx + eax*8]
inc eax
mov dword [ebp - 4], eax
jo 0x51d696
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0xd0]
jle 0x51d644
mov eax, dword [ebx + reloc.gdi32.dll_AbortDoc]
lea eax, [eax*4 + 8]
push eax
lea eax, [ebx + 4]
push eax
call sub.mclib32.dll__ALLOCATE_8
cmp dword [ebx + 4], 0
je 0x51d6e1
add dword [ebx + 4], 4
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + reloc.gdi32.dll_AbortDoc]
mov dword [ecx - 4], eax
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x51d6e1
push dword [0x5cb670]
push ecx
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
call fcn.00405e12
mov al, 1
pop esi
pop ebx
leave
ret 4