Function at 0x45cd50
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x13
push 0
push 0
dec ecx
jne 0x45cd59
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0x10], ecx
mov ebx, edx
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x45d27b
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x11], 0
cmp dword [ebp - 0xc], 0
je 0x45d235
test ebx, ebx
je 0x45d235
push ebp
push 0x45d22e
push dword fs:[0]
mov dword fs:[0], esp
mov ecx, dword [ebp - 0xc]
cmp word [ecx], 0x5a4d
je 0x45cdbb
call fcn.00404430
jmp 0x45d235
mov eax, dword [ebp - 0xc]
xor edx, edx
push edx
push eax
mov eax, dword [ecx + 0x3c]
cdq
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
cmp dword [eax], 0x4550
je 0x45cde2
call fcn.00404430
jmp 0x45d235
cmp dword [eax + 0x78], 0
jne 0x45cdf2
call fcn.00404430
jmp 0x45d235
add eax, 0x78
mov edx, dword [eax]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x60], 0x2081d
add edx, dword [eax + 4]
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0xc]
add eax, dword [ebp - 0x20]
mov ecx, dword [eax + 0x10]
mov esi, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov edi, dword [eax + 0x1c]
add edi, dword [ebp - 0xc]
mov dword [ebp - 0x28], edi
mov edi, dword [eax + 0x20]
add edi, dword [ebp - 0xc]
mov dword [ebp - 0x2c], edi
mov eax, dword [eax + 0x24]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x30], eax
xor eax, eax
mov dword [ebp - 0x34], eax
cmp ebx, 0xffff
ja 0x45ce5a
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jb 0x45ce50
cmp esi, dword [ebp - 0x34]
jae 0x45ce5a
call fcn.00404430
jmp 0x45d235
xor eax, eax
inc eax
cmp eax, 0x186a1
jne 0x45ce5c
xor eax, eax
inc eax
cmp eax, 0x186a1
jne 0x45ce66
cmp ebx, 0xffff
jbe 0x45cf20
mov byte [ebp - 0x39], 0
mov edi, edx
dec edi
test edi, edi
jb 0x45cedc
inc edi
xor esi, esi
mov eax, esi
add eax, eax
add eax, eax
add eax, dword [ebp - 0x2c]
mov eax, dword [eax]
add eax, dword [ebp - 0xc]
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x80]
mov edx, ebx
call fcn.00404b54
mov eax, dword [ebp - 0x80]
push eax
lea eax, [ebp - 0x84]
mov edx, dword [ebp - 0x38]
call fcn.00404b54
mov eax, dword [ebp - 0x84]
pop edx
call fcn.0045cacc
test eax, eax
jne 0x45ced8
mov eax, esi
add eax, eax
add eax, dword [ebp - 0x30]
movzx eax, word [eax]
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x39], 1
jmp 0x45cedc
inc esi
dec edi
jne 0x45ce88
xor eax, eax
push ebp
push 0x45cf01
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x45d298
call fcn.00408d0c
mov dword [ebp - 0x60], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45cf20
mov eax, dword [ebp - 0x34]
add eax, eax
add eax, eax
add eax, dword [ebp - 0x28]
mov edx, dword [eax]
cmp edx, dword [ebp - 0x20]
jbe 0x45d214
cmp edx, dword [ebp - 0x24]
ja 0x45d214
xor eax, eax
inc eax
cmp eax, 0x186a1
jne 0x45cf40
xor eax, eax
inc eax
cmp eax, 0x186a1
jne 0x45cf4a
add edx, dword [ebp - 0xc]
mov dword [ebp - 0x40], edx
xor eax, eax
mov dword [ebp - 0x64], eax
xor eax, eax
push ebp
push 0x45cfad
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0x64], 0
jbe 0x45cf82
xor ecx, ecx
mov dl, 1
mov eax, dword [0x44e750]
call fcn.00451680
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x88]
mov edx, dword [ebp - 0x40]
call fcn.00405250
mov edx, dword [ebp - 0x88]
mov eax, 0x45d2ac
call fcn.004053b8
mov dword [ebp - 0x44], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45cfb7
cmp dword [ebp - 0x44], 0
jbe 0x45d21c
xor eax, eax
push ebp
push 0x45cfe3
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x45d2b8
call fcn.00408d0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45d03d
xor eax, eax
push ebp
push 0x45d05f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x45d2f0
call fcn.00408d0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45d0b5
mov byte [ebp - 0x49], 0
mov eax, dword [ebp - 8]
cmp byte [eax], 0x23
jne 0x45d11a
mov byte [ebp - 0x49], 1
mov eax, dword [ebp - 8]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x45d0dc
mov eax, dword [ebp - 0x7c]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0xa0]
push eax
mov ecx, dword [ebp - 0x7c]
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00404e54
mov eax, dword [ebp - 0xa0]
call fcn.00404dec
mov edx, eax
lea eax, [ebp - 0x9c]
call fcn.00404b54
mov eax, dword [ebp - 0x9c]
call fcn.00408d0c
mov word [ebp - 0x48], ax
xor eax, eax
push ebp
push 0x45d13c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x45d308
call fcn.00408d0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45d170
cmp byte [ebp - 0x49], 0
je 0x45d17f
movzx eax, word [ebp - 0x48]
mov dword [ebp - 0x50], eax
jmp 0x45d18a
mov eax, dword [ebp - 8]
call fcn.00404dec
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x6c], 2
xor eax, eax
push ebp
push 0x45d1b1
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x74]
call fcn.00457164
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45d1bb
dec dword [ebp - 0x6c]
jne 0x45d191
xor eax, eax
push ebp
push 0x45d1e2
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x45d324
call fcn.00408d0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45d21c
add edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov dword [eax], edx
mov byte [ebp - 0x11], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45d235
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45d282
lea eax, [ebp - 0xa0]
mov edx, 6
call fcn.00404980
lea eax, [ebp - 0x88]
call fcn.0040513c
lea eax, [ebp - 0x84]
mov edx, 2
call fcn.00404980
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404980
ret