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

Disassembly:
sub esp, 0x84
push ebx
push ebp
mov ebp, dword [esp + 0x90]
push esi
mov esi, dword [ebp]
push edi
mov dword [esp + 0x10], ecx
push ebp
lea ecx, [esp + 0x48]
call fcn.004d5260
mov eax, dword [ebp + 4]
mov dword [esp + 0x18], eax
mov al, byte [esp + 0x58]
test al, al
jne 0x44f445
mov al, byte [ebp + 0x20]
test al, al
je 0x44f16e
mov eax, dword [ebp + 8]
test eax, eax
je 0x44f164
mov ebx, dword [esi + 0x40]
push 0
push 0x53da00
mov ecx, esi
mov edi, 1
call fcn.00484b60
test eax, eax
jl 0x44f157
lea ecx, [ecx]
cmp eax, ebx
jge 0x44f15c
inc edi
inc eax
push eax
push 0x53da00
mov ecx, esi
call fcn.00484b60
test eax, eax
jge 0x44f140
mov edi, 1
mov dword [ebp + 0x1c], edi
mov dword [ebp + 0x18], edi
jmp 0x44f16e
mov eax, dword [esi + 0x40]
inc eax
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x18], eax
mov eax, dword [esi + 0x2c]
add eax, 0x194
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x24], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x28], ecx
mov edx, dword [eax + 0xc]
mov al, byte [esp + 0x9c]
test al, 8
mov dword [esp + 0x2c], edx
je 0x44f20e
mov ecx, dword [esi + 0x54]
mov ebx, dword [esi + 0x40]
push 0
push 0
lea eax, [esp + 0x28]
push eax
push ecx
call fcn.0047a990
mov eax, dword [esi + 0x44]
add esp, 0x10
xor edi, edi
test eax, eax
jle 0x44f20b
lea ecx, [ecx]
mov eax, dword [ebp + 8]
test eax, eax
mov ecx, esi
push edi
je 0x44f1d7
push 0x53da00
call fcn.00484b60
push eax
mov ecx, esi
call fcn.0048fa00
mov eax, dword [esi + 0x54]
push 0
push 0
lea edx, [esp + 0x3c]
push edx
push eax
call fcn.0047a990
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x48]
push edx
mov eax, ecx
push eax
call fcn.00438540
mov eax, dword [esi + 0x44]
add esp, 0x1c
inc edi
cmp edi, eax
jl 0x44f1c0
push ebx
jmp 0x44f249
test al, 0x10
jne 0x44f250
push 0xffffffffffffffff
push 0x53d9fc
mov ecx, esi
call fcn.00484b60
test eax, eax
jl 0x44f250
mov edi, dword [esi + 0x40]
push eax
mov ecx, esi
mov dword [esp + 0x1c], edi
call fcn.0048fa00
mov edx, dword [esi + 0x54]
push 0
push 0
lea ecx, [esp + 0x28]
push ecx
push edx
call fcn.0047a990
add esp, 0x10
push edi
mov ecx, esi
call fcn.0048fa00
mov ebx, dword [ebp + 0x18]
cmp ebx, dword [ebp + 0x1c]
mov dword [esp + 0x1c], ebx
jg 0x44f431
dec ebx
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + 8]
test eax, eax
mov edi, ebx
je 0x44f2a6
push 0
push 0x53da00
mov ecx, esi
call fcn.00484b60
test ebx, ebx
mov edi, eax
je 0x44f29e
mov ebp, ebx
inc edi
push edi
push 0x53da00
mov ecx, esi
call fcn.00484b60
dec ebp
mov edi, eax
jne 0x44f284
mov ebp, dword [esp + 0x98]
test edi, edi
jl 0x44f431
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x24]
push ecx
call dword [sym.imp.GDI32.dll_StartPage]
test eax, eax
jle 0x44f42a
mov al, byte [esp + 0x58]
test al, al
jne 0x44f445
mov eax, dword [ebp + 8]
test eax, eax
mov ecx, esi
push 1
jle 0x44f2d9
push edi
jmp 0x44f2da
push ebx
call fcn.0048f720
mov eax, dword [esi + 0x54]
mov ecx, dword [eax + 0x4c]
mov ebx, dword [esp + 0x9c]
and ecx, 0x10
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 0x4c]
or ecx, 0x10
test bl, 0x10
mov dword [eax + 0x4c], ecx
je 0x44f316
mov eax, dword [esi + 0x54]
push 0
push 0
lea edx, [esp + 0x28]
push edx
push eax
call fcn.0047a990
add esp, 0x10
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov al, bl
shr ebx, 5
shr al, 5
not bl
and al, 1
and bl, 1
xor edi, edi
xor ebp, ebp
test al, al
mov dword [esp + 0x38], ecx
mov dword [esp + 0x40], edx
je 0x44f378
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x4a0]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ebp
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x5c]
push edx
push esi
push eax
call fcn.0044ee30
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x5c]
add esp, 0x24
test bl, bl
je 0x44f3cb
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x4a0]
push ebx
xor eax, eax
sub esp, 0x10
mov ebx, esp
mov dword [ebx], eax
mov eax, dword [esp + 0x78]
mov dword [ebx + 4], eax
xor eax, eax
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [ebx + 0xc], eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ebp
mov dword [eax + 4], ecx
mov dword [eax + 8], edi
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x6c]
push edx
push esi
push eax
call fcn.0044efb0
add esp, 0x34
mov eax, dword [esp + 0x30]
mov ecx, dword [esi + 0x54]
test eax, eax
mov eax, dword [ecx + 0x4c]
je 0x44f3de
or eax, 0x10
jmp 0x44f3e1
and eax, 0xffffffef
mov dword [ecx + 0x4c], eax
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx + 0x24]
push edx
call dword [sym.imp.GDI32.dll_EndPage]
test eax, eax
jle 0x44f42a
mov al, byte [esp + 0x58]
test al, al
jne 0x44f445
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x98]
mov edx, dword [ecx + 0x1c]
inc eax
inc edi
cmp eax, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], edi
jg 0x44f431
mov ebx, edi
mov ebp, ecx
jmp 0x44f265
mov byte [esp + 0x58], 1
jmp 0x44f445
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.00493240
push 2
mov ecx, edi
call fcn.004a5560
test byte [esi + 0x28], 2
mov ecx, esi
je 0x44f462
mov edx, dword [esp + 0x18]
push edx
call fcn.0048fa00
push 0
mov ecx, esi
call fcn.004909a0
jmp 0x44f46c
mov eax, dword [esp + 0x18]
push eax
call fcn.0048fa00
lea ecx, [esp + 0x44]
call fcn.004d5370
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret 8