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

Disassembly:
push ebp
mov ebp, esp
push ebp
sub esp, 0x28
push ebx
push esi
push edi
push 0xffffffffffffffff
push 1
call fcn.0040fa01
push dword [ebp + 8]
call fcn.0053d756
mov ebx, eax
cmp eax, reloc.gdi32.dll_AbortDoc
je 0x53e5e9
mov esi, dword [ebp + 8]
cmp eax, 1
jne 0x53ddba
push 0xbe
push 0xa2a
push dword [esi + 0x868]
push 0
push 0x107
lea eax, [esi + 0x28]
push eax
push 0xa47
push 1
push 0x107
add eax, 0x210
push eax
push 0xa48
push 2
push 0x107
add eax, 0x210
push eax
push 0xa4a
push 2
push 0
push 0x5c5ce0
push 0
push 0
push 0
push 0x5c5ce0
push 0
push 0
push 0
push 0x5c5ce0
push 0
push 0
push 0
push 0x5c5ce0
push 0
push 0
push 0
push 0x5c5ce0
push 0
push 0
push 0x107
add eax, 0x210
push eax
push 0xa49
push 0
push 0x5c5ce0
push 0
call fcn.004ad59a
test ebx, ebx
jne 0x53e5e9
call sub.kernel32.dll_GetTickCount
mov dword [esi + reloc.gdi32.dll_AbortDoc], eax
mov dl, 0
cmp dword [esi + reloc.gdi32.dll_AbortDoc], ebx
jle 0x53dde1
cmp dword [esi + reloc.gdi32.dll_AbortDoc], ebx
jle 0x53dde1
inc dl
mov byte [esi + 0xde2], dl
cmp dl, bl
jne 0x53de7d
push 0xbe
push 0xa2a
push dword [esi + 0x868]
push ebx
push 0x107
lea eax, [esi + 0x28]
push eax
push 0xa47
push 1
push 0x107
add eax, 0x210
push eax
push 0xa48
push 2
push 0x107
add eax, 0x210
push eax
push 0xa4a
push 2
push ebx
push 0x5c5ce0
push ebx
push ebx
push ebx
push 0x5c5ce0
push ebx
push ebx
push ebx
push 0x5c5ce0
push ebx
push ebx
push ebx
push 0x5c5ce0
push ebx
push ebx
push ebx
push 0x5c5ce0
push ebx
push ebx
push 0x107
add eax, 0x210
push eax
push 0xa49
push ebx
push 0x5c5ce0
push ebx
call fcn.004ad59a
jmp 0x53e5e9
push esi
lea eax, [esi + 8]
push eax
call fcn.00534838
mov dx, word [esi + 0xde0]
test dl, 2
jne 0x53de98
test dl, 0x40
je 0x53dea5
fld qword [esi]
fstp qword [esi + 0x10]
fld qword [esi + 8]
fstp qword [esi + 0x18]
jmp 0x53dec1
mov dword [esi + 0x10], reloc.gdi32.dll_AbortDoc
mov dword [esi + 0x14], 0x7fefffff
mov dword [esi + 0x18], reloc.gdi32.dll_AbortDoc
mov dword [esi + 0x1c], 0xffefffff
push 2
push 1
push dword [esi + 0x868]
push 1
call fcn.0040d8c7
test al, al
je 0x53e5e9
mov eax, dword [esi + reloc.gdi32.dll_AbortDoc]
lea eax, [eax*4 + 8]
push eax
lea eax, reloc.gdi32.dll_AbortDoc
push eax
call sub.mclib32.dll__ALLOCATE_8
cmp dword [esi + reloc.gdi32.dll_AbortDoc], ebx
je 0x53df33
add dword [esi + reloc.gdi32.dll_AbortDoc], 4
mov ecx, dword [esi + reloc.gdi32.dll_AbortDoc]
mov eax, dword [esi + reloc.gdi32.dll_AbortDoc]
mov dword [ecx - 4], eax
mov ecx, dword [esi + reloc.gdi32.dll_AbortDoc]
cmp ecx, ebx
je 0x53df33
push dword [0x5cb670]
push ecx
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
call fcn.00405e12
mov edi, ebx
mov dword [ebp - 8], ebx
mov eax, dword [esi + reloc.gdi32.dll_AbortDoc]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0xc], ebx
jmp 0x53e52c
mov eax, dword [esi + reloc.gdi32.dll_AbortDoc]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0
imul eax, dword [ebp - 0xc], 0x24
mov dword [ebp - 0x2c], eax
jmp 0x53e51b
lea edx, [eax*4]
add edx, dword [ebp - 0x2c]
mov ebx, dword [esi + edx + reloc.gdi32.dll_AbortDoc]
test ebx, ebx
je 0x53e516
mov dword [ebx + 0x38], reloc.gdi32.dll_AbortDoc
mov dword [ebx + 0x3c], 0x7fefffff
mov dword [ebx + 0x40], reloc.gdi32.dll_AbortDoc
mov dword [ebx + 0x44], 0x7fefffff
mov edi, dword [ebp - 8]
mov dword [ebx + 0x94], edi
inc edi
push 1
push 3
push edi
push 1
push dword [ebx + 0x90]
call fcn.0040da66
mov ecx, dword [esi + reloc.gdi32.dll_AbortDoc]
test ecx, ecx
je 0x53dfe1
mov eax, dword [ebp - 8]
lea eax, [ecx + eax*4 + 4]
mov ecx, dword [0x5cb670]
push eax
lea eax, [ecx + 4]
push eax
mov eax, dword [ebx + 0x90]
shl eax, 2
push eax
call fcn.00405e12
push 3
push dword [ebx + 0x90]
call fcn.0040d7cc
test al, al
je 0x53e5e9
cmp dword [esi + reloc.gdi32.dll_AbortDoc], 0
je 0x53e026
mov ecx, dword [0x5cb670]
lea eax, [ecx + 4]
mov ecx, dword [esi + reloc.gdi32.dll_AbortDoc]
push eax
mov eax, dword [ebp - 8]
lea eax, [ecx + eax*4 + 4]
push eax
mov eax, dword [ebx + 0x90]
shl eax, 2
push eax
call fcn.00405e12
push 3
push 1
push 1
push edi
push dword [ebx + 0x90]
call fcn.0040da66
push 3
push dword [ebx + 0x90]
push ebx
lea eax, [ebx + 8]
push eax
add eax, 8
push eax
add eax, 0x38
push eax
add eax, 8
push eax
call fcn.004f32a5
test al, al
je 0x53e5e9
mov dx, word [esi + 0xde0]
test dl, 8
jne 0x53e07d
test dl, 0x10
jne 0x53e07d
test dl, 0x20
jne 0x53e07d
test dh, 1
je 0x53e361
cmp dword [esi + 0x20], 1
jne 0x53e162
fld qword [ebx]
fstp qword [ebx + 0x30]
mov edx, dword [esi + 0x24]
dec edx
cmp edx, 5
ja case.default.0x53e099
jmp dword [edx*4 + 0x53e0a0]
mov eax, dword [ebx + 0x90]
dec eax
push eax
call fcn.004aa235
fstp qword [ebp - 0x20]
push dword [ebx + 4]
push dword [ebx]
fld qword [ebx + 0x10]
fmul qword [ebp - 0x20]
jmp 0x53e100
push dword [ebx + 4]
push dword [ebx]
push dword [ebx + 0xc]
push dword [ebx + 8]
jmp 0x53e113
push dword [ebx + 4]
push dword [ebx]
fld qword [ebx + 8]
fmul dword [0x5c5ce8]
jmp 0x53e100
push dword [ebx + 4]
push dword [ebx]
fld qword [ebx + 8]
fmul dword [0x5c5cec]
sub esp, 8
fstp qword [esp]
jmp 0x53e113
push dword [ebx + 4]
push dword [ebx]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
lea eax, [ebx + 0x38]
push eax
add eax, 8
push eax
call fcn.0053dc9c
jmp case.default.0x53e099
fld qword [ebx + 0x48]
fstp qword [ebx + 0x38]
fld qword [ebx + 0x50]
fstp qword [ebx + 0x40]
fld qword [esi + 0x18]
fcomp qword [ebx + 0x50]
wait
fnstsw ax
test ah, 1
je 0x53e145
fld qword [ebx + 0x50]
fstp qword [esi + 0x18]
fld qword [esi + 0x10]
fcomp qword [ebx + 0x48]
wait
fnstsw ax
test ah, 0x41
jne case.default.0x53e099
fld qword [ebx + 0x48]
fstp qword [esi + 0x10]
jmp case.default.0x53e099
mov dword [ebx + 0x38], reloc.gdi32.dll_AbortDoc
mov dword [ebx + 0x3c], 0x7fefffff
mov dword [ebx + 0x40], reloc.gdi32.dll_AbortDoc
mov dword [ebx + 0x44], 0x7fefffff
push 3
push dword [ebx + 0x90]
push 0x40490000
push 0
lea eax, [ebx + 0x30]
push eax
call fcn.0043d45b
mov edx, dword [esi + 0x24]
dec edx
cmp edx, 6
ja case.default.0x53e1a3
jmp dword [edx*4 + 0x53e1aa]
push 3
push 0x5f
push 0x40490000
push 0
push dword [ebx + 0x90]
push 0
lea eax, [ebx + 0x38]
push eax
add eax, 8
push eax
call fcn.0043da1a
test al, al
jne case.default.0x53e1a3
mov dword [ebx + 0x38], reloc.gdi32.dll_AbortDoc
mov dword [ebx + 0x3c], 0x7fefffff
mov dword [ebx + 0x40], reloc.gdi32.dll_AbortDoc
mov dword [ebx + 0x44], 0x7fefffff
jmp case.default.0x53e1a3
push 3
push dword [ebx + 0x90]
push 0x40390000
push 0
lea eax, [ebx + 0x38]
push eax
call fcn.0043d45b
push 3
push dword [ebx + 0x90]
push 0x4052c000
jmp 0x53e2e4
push 3
push dword [ebx + 0x90]
push 0x40240000
push 0
lea eax, [ebx + 0x38]
push eax
call fcn.0043d45b
push 3
push dword [ebx + 0x90]
push 0x40568000
jmp 0x53e2e4
push 3
push dword [ebx + 0x90]
push 0x40140000
push 0
lea eax, [ebx + 0x38]
push eax
call fcn.0043d45b
push 3
push dword [ebx + 0x90]
push 0x4057c000
jmp 0x53e2e4
push 3
push dword [ebx + 0x90]
push 0x3ff00000
push 0
lea eax, [ebx + 0x38]
push eax
call fcn.0043d45b
push 3
push dword [ebx + 0x90]
push 0x4058c000
jmp 0x53e2e4
fld qword [ebx + 0x48]
fstp qword [ebx + 0x38]
fld qword [ebx + 0x50]
fstp qword [ebx + 0x40]
jmp case.default.0x53e1a3
push 3
push dword [ebx + 0x90]
push 0x40040000
push 0
lea eax, [ebx + 0x38]
push eax
call fcn.0043d45b
push 3
push dword [ebx + 0x90]
push 0x40586000
push 0
lea eax, [ebx + 0x40]
push eax
call fcn.0043d45b
fld qword [0x5c5cf0]
fcomp qword [ebx + 0x38]
wait
fnstsw ax
test ah, 0x40
jne 0x53e314
fld qword [esi + 0x10]
fcomp qword [ebx + 0x38]
wait
fnstsw ax
test ah, 0x41
jne 0x53e314
fld qword [ebx + 0x38]
fstp qword [esi + 0x10]
fld qword [0x5c5cf0]
fcomp qword [ebx + 0x40]
wait
fnstsw ax
test ah, 0x40
jne case.default.0x53e099
fld qword [esi + 0x18]
fcomp qword [ebx + 0x40]
wait
fnstsw ax
test ah, 1
je case.default.0x53e099
fld qword [ebx + 0x40]
fstp qword [esi + 0x18]
fld qword [esi + 0x18]
fcomp qword [ebx + 0x30]
wait
fnstsw ax
test ah, 1
je 0x53e34d
fld qword [ebx + 0x30]
fstp qword [esi + 0x18]
fld qword [esi + 0x10]
fcomp qword [ebx + 0x30]
wait
fnstsw ax
test ah, 0x41
jne 0x53e361
fld qword [ebx + 0x30]
fstp qword [esi + 0x10]
test byte [esi + 0xde0], 2
je 0x53e50d
push 3
push dword [ebx + 0x90]
push 0x40390000
push 0
lea eax, [ebx + 0x18]
push eax
call fcn.0043d45b
push 3
push dword [ebx + 0x90]
push 0x40490000
push 0
lea eax, [ebx + 0x20]
push eax
call fcn.0043d45b
push 3
push dword [ebx + 0x90]
push 0x4052c000
push 0
lea eax, [ebx + 0x28]
push eax
call fcn.0043d45b
cmp dword [ebx + 0x90], 1
je 0x53e3cd
fld qword [ebx + 0x50]
fcomp qword [ebx + 0x48]
wait
fnstsw ax
test ah, 0x40
je 0x53e400
fld qword [ebx + 0x48]
fstp qword [ebx + 0x68]
fld qword [ebx + 0x50]
fstp qword [ebx + 0x70]
mov dword [ebx + 0x78], reloc.gdi32.dll_AbortDoc
mov dword [ebx + 0x7c], 0x7fefffff
mov dword [ebx + 0x80], reloc.gdi32.dll_AbortDoc
mov dword [ebx + 0x84], 0x7fefffff
jmp 0x53e4b7
fld qword [ebx + 0x18]
fld qword [ebx + 0x28]
fsub qword [ebx + 0x18]
fmul dword [0x5c5cec]
fsubp st(1)
fstp qword [ebx + 0x78]
fld qword [ebx + 0x28]
fsub qword [ebx + 0x18]
fmul dword [0x5c5cec]
fadd qword [ebx + 0x28]
fstp qword [ebx + 0x80]
fld qword [ebx + 0x18]
fld qword [ebx + 0x28]
fsub qword [ebx + 0x18]
fmul dword [0x5c5cf8]
fsubp st(1)
fstp qword [ebp - 0x18]
mov edi, 1
jmp 0x53e445
inc edi
cmp edi, dword [ebx + 0x90]
jge 0x53e462
fld qword [ebp - 0x18]
push 3
push edi
call fcn.0040d401
fcompp
wait
fnstsw ax
test ah, 1
jne 0x53e444
push 3
push edi
call fcn.0040d401
fstp qword [ebx + 0x68]
mov dword [ebx + 0x88], edi
fld qword [ebx + 0x28]
fsub qword [ebx + 0x18]
fmul dword [0x5c5cf8]
fadd qword [ebx + 0x28]
fstp qword [ebp - 0x18]
jmp 0x53e488
inc edi
cmp edi, dword [ebx + 0x90]
jg 0x53e4a5
fld qword [ebp - 0x18]
push 3
push edi
call fcn.0040d401
fcompp
wait
fnstsw ax
test ah, 0x41
jne 0x53e487
dec edi
push 3
push edi
call fcn.0040d401
fstp qword [ebx + 0x70]
mov dword [ebx + 0x8c], edi
cmp byte [esi + 0xde4], 0
je 0x53e50d
fld qword [ebx + 0x28]
fsub qword [ebx + 0x18]
sub esp, 8
fstp qword [esp]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x90]
lea eax, [ebx + 0x58]
push eax
add eax, 8
push eax
call fcn.0043d657
fld qword [esi + 0x10]
fcomp qword [ebx + 0x58]
wait
fnstsw ax
test ah, 0x41
jne 0x53e4f9
fld qword [ebx + 0x58]
fstp qword [esi + 0x10]
fld qword [esi + 0x18]
fcomp qword [ebx + 0x60]
wait
fnstsw ax
test ah, 1
je 0x53e50d
fld qword [ebx + 0x60]
fstp qword [esi + 0x18]
mov eax, dword [ebx + 0x90]
add dword [ebp - 8], eax
inc dword [ebp - 0x10]
jo 0x53e527
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x28]
jle 0x53df65
inc dword [ebp - 0xc]
jo 0x53e538
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x24]
jle 0x53df49
lea eax, [esi + 0x10]
push eax
add eax, 8
push eax
call fcn.00534838
mov dx, word [esi + 0xde0]
test dl, 2
jne 0x53e556
test dl, 0x40
je 0x53e5ab
mov eax, dword [esi + reloc.gdi32.dll_AbortDoc]
lea eax, [eax*8 + 0xc]
push eax
lea eax, reloc.gdi32.dll_AbortDoc
push eax
call sub.mclib32.dll__ALLOCATE_8
cmp dword [esi + reloc.gdi32.dll_AbortDoc], 0
je 0x53e5ab
add dword [esi + reloc.gdi32.dll_AbortDoc], 4
mov ecx, dword [esi + reloc.gdi32.dll_AbortDoc]
mov eax, dword [esi + reloc.gdi32.dll_AbortDoc]
mov dword [ecx - 4], eax
cmp dword [esi + reloc.gdi32.dll_AbortDoc], 0
je 0x53e5ab
push 1
push dword [esi + 0xdd8]
push dword [esi + 0x868]
call fcn.0040dab3
mov ecx, dword [ebp + 8]
mov dword [0x5e9a20], ecx
push dword [ecx + 0x870]
push 0x53d528
push 0x53d42f
call fcn.00446465
test al, al
je 0x53e5e9
mov ecx, dword [ebp + 8]
push dword [ecx + 0x86c]
push 0x53d4ae
push 0x53d3af
call fcn.00446465
test al, al
jne 0x53e5ed
mov al, 0
jmp 0x53e5ef
mov al, 1
pop edi
pop esi
pop ebx
leave
ret 4