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

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x18
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
mov eax, dword [edx]
mov dword [esp + 8], eax
test eax, eax
je 0x45cc68
mov ecx, eax
call fcn.0040b9a0
mov ebx, dword [esp + 0x48]
push ebx
mov eax, dword [esp + 0x48]
push eax
mov ebp, dword [esp + 0x48]
push ebp
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x48]
push dword [esp + 0x48]
push esi
push edi
mov ecx, dword [esp + 0x24]
call fcn.0044ff40
cmp dword [esp + 8], 0
je 0x45cc9f
mov ecx, dword [esp + 8]
call fcn.0040b9e0
mov eax, dword [esp + 4]
mov dword [eax], 0x4bea88
push 0x40
push 0x1c
push 0x4086b0
push 0x45cf60
mov eax, dword [esp + 0x14]
add eax, 0x78
push eax
call fcn.004946a0
add esp, 0x14
push 0x40
push 4
push 0x401cb0
push 0x41dd40
mov eax, dword [esp + 0x14]
add eax, 0x784
push eax
call fcn.004946a0
add esp, 0x14
mov eax, dword [esp + 4]
mov byte [eax + 0x779], 0
mov eax, dword [esp + 4]
mov dword [eax + 0x780], 0
mov eax, dword [esp + 4]
mov dword [eax + 0x8c8], 0
mov eax, dword [esp + 4]
mov dword [eax + 0x8cc], 0
mov eax, dword [esp + 4]
mov dword [eax + 0x77c], 1
mov eax, dword [esp + 4]
mov byte [eax + 0x778], 0
movsx ecx, word [esp + 0x36]
movsx edx, word [esp + 0x3a]
sub edx, ecx
mov eax, dword [esp + 4]
mov dword [eax + 0x88], edx
mov eax, dword [esp + 4]
mov dword [eax + 0x8e4], 0
mov dword [eax + 0x8e0], 0
mov ebx, dword [esp + 4]
mov dword [ebx + 0x8dc], 2
mov ebp, dword [esp + 4]
mov eax, dword [ebx + 0x8dc]
mov dword [ebp + 0x8d8], eax
mov ecx, dword [esp + 4]
mov eax, dword [ebp + 0x8d8]
mov dword [ecx + 0x8d4], eax
mov edx, dword [esp + 4]
mov eax, dword [ecx + 0x8d4]
mov dword [edx + 0x8d0], eax
xor bl, bl
push 0x78
call fcn.004496d0
pop ecx
mov ebp, eax
test ebp, ebp
je 0x45ce09
mov dword [esp + 0xc], 0
push 0x4c9228
call fcn.0040ca30
pop ecx
push eax
push 0x4c9228
lea ecx, [esp + 0x14]
call fcn.0040bb00
cmp dword [esp + 0xc], 0
je 0x45cde6
mov ebx, dword [esp + 0xc]
mov eax, dword [0x4bf2dc]
mov dword [ebx + 0x10], eax
mov bl, 1
push 0x20
push 0
push 0x4c9229
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x48]
push dword [esp + 0x48]
push esi
push edi
mov ecx, ebp
call fcn.0044ff40
mov ebp, eax
mov eax, dword [esp + 4]
mov dword [eax + 0x8e8], ebp
test bl, bl
je 0x45ce27
cmp dword [esp + 0xc], 0
je 0x45ce27
mov ecx, dword [esp + 0xc]
call fcn.0040b9e0
push 0
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x8e8]
mov ebp, dword [ecx]
call dword [ebp + 0xe0]
xor esi, esi
xor edi, edi
nop
mov eax, dword [esp + 4]
mov byte [eax + esi + 0x884], 1
mov eax, dword [esp + 4]
mov byte [eax + edi + 0x78], 0
mov eax, dword [esp + 4]
mov byte [eax + edi + 0x79], 0
mov eax, dword [esp + 4]
mov byte [eax + edi + 0x7a], 0
mov dword [esp + 0x10], 0
push 0x4c9231
call fcn.0040ca30
pop ecx
push eax
push 0x4c9231
lea ecx, [esp + 0x18]
call fcn.0040bb00
cmp dword [esp + 0x10], 0
je 0x45ce9c
mov ecx, dword [esp + 0x10]
mov eax, dword [0x4bf2dc]
mov dword [ecx + 0x10], eax
lea eax, [esp + 0x10]
push eax
mov ecx, dword [esp + 8]
add ecx, edi
sub ecx, 0xffffff80
call fcn.0040bbd0
cmp dword [esp + 0x10], 0
je 0x45cebf
mov ecx, dword [esp + 0x10]
call fcn.0040b9e0
mov dword [esp + 0x14], 0
push 0x4c9233
call fcn.0040ca30
pop ecx
push eax
push 0x4c9233
lea ecx, [esp + 0x1c]
call fcn.0040bb00
cmp dword [esp + 0x14], 0
je 0x45cef4
mov edx, dword [esp + 0x14]
mov eax, dword [0x4bf2dc]
mov dword [edx + 0x10], eax
lea eax, [esp + 0x14]
push eax
mov ecx, dword [esp + 8]
add ecx, edi
add ecx, 0x84
call fcn.0040bbd0
cmp dword [esp + 0x14], 0
je 0x45cf1a
mov ecx, dword [esp + 0x14]
call fcn.0040b9e0
mov eax, dword [esp + 4]
mov dword [eax + edi + 0x8c], 0
mov eax, dword [esp + 4]
or dword [eax + edi + 0x90], 0xffffffff
mov eax, dword [esp + 4]
mov byte [eax + edi + 0x7b], 0
add edi, 0x1c
inc esi
cmp esi, 0x40
jl 0x45ce40
mov eax, dword [esp + 4]
add esp, 0x18
pop ebp
pop edi
pop esi
pop ebx
ret 0x20