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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff84
mov edi, edx
mov ebx, eax
cmp dword [ebx + 0x44], 0
jne 0x56025a
test ecx, ecx
je 0x56025a
mov edx, 1
mov eax, ebx
call fcn.0055fffc
mov ecx, 0x4b
xor edx, edx
mov eax, ebx
call fcn.00656c9c
mov ecx, 1
xor edx, edx
mov eax, ebx
call fcn.00656c9c
mov eax, dword [edi + 0x10]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x64], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x68], eax
mov ebp, dword [edi + 4]
mov eax, edi
call fcn.00561bcc
mov esi, eax
mov edx, dword [esp + 0x68]
sub edx, dword [esi + 0x28]
mov eax, esi
call fcn.00548764
call fcn.0062c1a8
mov dword [ebx + 0x54], eax
inc dword [esp + 0x68]
mov dl, 0x59
mov eax, ebp
call fcn.00565be8
mov ecx, 0x675038
lea edx, [esp + 0x64]
mov eax, ebp
call fcn.005c8438
mov eax, ebp
call fcn.00565c80
mov eax, dword [edi + 0x10]
mov edx, dword [eax + 0x18]
mov eax, dword [esi + 0x30]
mov eax, dword [eax + 0x30]
call fcn.0055de1c
mov edx, dword [esi + 8]
mov edx, dword [edx + 0x10]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
mov ebp, dword [esi + 0x24]
sub ebp, dword [eax + 0x24]
mov eax, esi
call fcn.0054b734
add ebp, eax
movsx eax, word [esi + 0x12]
call fcn.0062c1a8
mov edx, dword [edi + 4]
call fcn.00633cd8
add ebp, eax
lea edx, [esp + 0x74]
mov eax, edi
call fcn.00561c90
mov eax, dword [esp + 0x78]
imul dword [ebx + 0x30]
mov ecx, 0x64
cdq
idiv ecx
sub ebp, eax
mov dword [ebx + 0x58], ebp
push 0x64
lea edx, [esp + 0x78]
mov eax, edi
call fcn.00561c90
mov eax, dword [esp + 0x78]
push eax
mov eax, dword [ebx + 0x2c]
push eax
call sub.kernel32.dll_MulDiv
add eax, dword [ebx + 0x54]
mov dword [ebx + 0x5c], eax
push 0x64
lea edx, [esp + 0x78]
mov eax, edi
call fcn.00561c90
mov eax, dword [esp + 0x7c]
push eax
mov eax, dword [ebx + 0x30]
push eax
call sub.kernel32.dll_MulDiv
add eax, dword [ebx + 0x58]
mov dword [ebx + 0x60], eax
mov edx, 0x38f
mov eax, ebx
call fcn.0055ff14
test al, al
jne 0x5601d0
mov eax, dword [edi + 0x10]
mov al, byte [eax + 0x26]
dec al
je 0x56018c
dec al
je 0x56019f
jmp 0x5601b2
mov ecx, 2
mov edx, 0x38f
mov eax, ebx
call fcn.0055ff64
jmp 0x5601d0
mov ecx, 3
mov edx, 0x38f
mov eax, ebx
call fcn.0055ff64
jmp 0x5601d0
mov edx, 0x38f
mov eax, ebx
call fcn.0055ff14
test al, al
jne 0x5601d0
xor ecx, ecx
mov edx, 0x38f
mov eax, ebx
call fcn.0055ff64
mov edx, 0x391
mov eax, ebx
call fcn.0055ff14
test al, al
jne 0x5601ee
xor ecx, ecx
mov edx, 0x391
mov eax, ebx
call fcn.0055ff64
mov edx, 0x390
mov eax, ebx
call fcn.0055ff14
test al, al
jne 0x56020f
mov ecx, 2
mov edx, 0x390
mov eax, ebx
call fcn.0055ff64
mov edx, 0x392
mov eax, ebx
call fcn.0055ff14
test al, al
jne 0x560230
mov ecx, 2
mov edx, 0x392
mov eax, ebx
call fcn.0055ff64
mov edx, 0x3b0
mov eax, ebx
call fcn.0055ff14
test al, al
jne 0x560251
mov ecx, 1
mov edx, 0x3b0
mov eax, ebx
call fcn.0055ff64
mov byte [ebx + 0x3c], 0
jmp 0x5603ba
cmp dword [ebx + 0x44], 0
je 0x5603ba
test ecx, ecx
jne 0x5603ba
mov ebp, 0xffffffe8
mov esi, dword [0x672444]
add esi, 0x5c
mov eax, dword [esi]
sub eax, 0x78
je 0x560297
mov edx, dword [esi]
mov eax, ebx
call fcn.0055ff14
test al, al
je 0x560297
mov edx, dword [esi]
mov eax, ebx
call fcn.0055fffc
sub esi, 4
inc ebp
jne 0x56027a
xor edx, edx
mov eax, dword [edi + 0xc]
call fcn.0055e4e0
mov esi, dword [edi + 0xc]
mov al, byte [esi + 0x46]
sub al, 1
jb 0x5602c0
je 0x560322
dec al
je 0x56033d
jmp 0x560356
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x5602d7
mov dword [ebx + 0x2c], 0x5a0
mov dword [ebx + 0x30], 0x5a0
jmp 0x560356
mov dword [esp + 4], 0x64
push esp
push 0x64
push eax
call sub.gdi32.dll_GetEnhMetaFileHeader
imul eax, dword [esp + 0x50], 0x64
push eax
mov eax, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x20]
push eax
call sub.kernel32.dll_MulDiv
mov dword [ebx + 0x2c], eax
imul eax, dword [esp + 0x54], 0x64
push eax
mov eax, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x24]
push eax
call sub.kernel32.dll_MulDiv
mov dword [ebx + 0x30], eax
jmp 0x560356
mov eax, dword [esi + 0x38]
mov edx, dword [eax]
call dword [edx + 0x28]
mov dword [ebx + 0x2c], eax
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx + 0x1c]
mov dword [ebx + 0x30], eax
jmp 0x560356
mov eax, dword [esi + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x28]
mov dword [ebx + 0x2c], eax
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x3c]
mov edx, dword [eax]
call dword [edx + 0x1c]
mov dword [ebx + 0x30], eax
call fcn.0053a1b8
test al, al
je 0x560369
mov dl, 1
mov eax, dword [edi + 0xc]
call fcn.0055e4e0
mov eax, dword [ebx + 0x2c]
mov edx, eax
shl eax, 4
sub eax, edx
mov dword [ebx + 0x2c], eax
mov eax, dword [ebx + 0x30]
mov edx, eax
shl eax, 4
sub eax, edx
mov dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x2c]
push eax
push 0x64
mov eax, dword [ebx + 0x5c]
sub eax, dword [ebx + 0x54]
push eax
call sub.kernel32.dll_MulDiv
mov dword [ebx + 0x34], eax
mov eax, dword [ebx + 0x30]
push eax
push 0x64
mov eax, dword [ebx + 0x60]
sub eax, dword [ebx + 0x58]
push eax
call sub.kernel32.dll_MulDiv
mov dword [ebx + 0x38], eax
lea eax, [ebx + 0x54]
mov edx, 0x10
call fcn.00660d08
add esp, 0x7c
pop ebp
pop edi
pop esi
pop ebx
ret