Function at 0x45c39c
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 0x45c3a5
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 0x45c8c7
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 0x11], 0
cmp dword [ebp - 0xc], 0
je 0x45c881
test ebx, ebx
je 0x45c881
push ebp
push 0x45c87a
push dword fs:[0]
mov dword fs:[0], esp
mov ecx, dword [ebp - 0xc]
cmp word [ecx], 0x5a4d
je 0x45c407
call fcn.00404430
jmp 0x45c881
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 0x45c42e
call fcn.00404430
jmp 0x45c881
cmp dword [eax + 0x78], 0
jne 0x45c43e
call fcn.00404430
jmp 0x45c881
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 0x45c4a6
mov eax, ebx
sub eax, ecx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jb 0x45c49c
cmp esi, dword [ebp - 0x34]
jae 0x45c4a6
call fcn.00404430
jmp 0x45c881
xor eax, eax
inc eax
cmp eax, 0x186a1
jne 0x45c4a8
xor eax, eax
inc eax
cmp eax, 0x186a1
jne 0x45c4b2
cmp ebx, 0xffff
jbe 0x45c56c
mov byte [ebp - 0x39], 0
mov edi, edx
dec edi
test edi, edi
jb 0x45c528
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.0045c118
test eax, eax
jne 0x45c524
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 0x45c528
inc esi
dec edi
jne 0x45c4d4
xor eax, eax
push ebp
push 0x45c54d
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x45c8e4
call fcn.00408d0c
mov dword [ebp - 0x60], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45c56c
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 0x45c860
cmp edx, dword [ebp - 0x24]
ja 0x45c860
xor eax, eax
inc eax
cmp eax, 0x186a1
jne 0x45c58c
xor eax, eax
inc eax
cmp eax, 0x186a1
jne 0x45c596
add edx, dword [ebp - 0xc]
mov dword [ebp - 0x40], edx
xor eax, eax
mov dword [ebp - 0x64], eax
xor eax, eax
push ebp
push 0x45c5f9
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [ebp - 0x64], 0
jbe 0x45c5ce
xor ecx, ecx
mov dl, 1
mov eax, dword [0x44bc80]
call fcn.0044ebb0
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x88]
mov edx, dword [ebp - 0x40]
call fcn.00405250
mov edx, dword [ebp - 0x88]
mov eax, 0x45c8f8
call fcn.004053b8
mov dword [ebp - 0x44], eax
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45c603
cmp dword [ebp - 0x44], 0
jbe 0x45c868
xor eax, eax
push ebp
push 0x45c62f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x45c904
call fcn.00408d0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45c689
xor eax, eax
push ebp
push 0x45c6ab
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x45c93c
call fcn.00408d0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45c701
mov byte [ebp - 0x49], 0
mov eax, dword [ebp - 8]
cmp byte [eax], 0x23
jne 0x45c766
mov byte [ebp - 0x49], 1
mov eax, dword [ebp - 8]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x45c728
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 0x45c788
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x45c954
call fcn.00408d0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45c7bc
cmp byte [ebp - 0x49], 0
je 0x45c7cb
movzx eax, word [ebp - 0x48]
mov dword [ebp - 0x50], eax
jmp 0x45c7d6
mov eax, dword [ebp - 8]
call fcn.00404dec
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x6c], 2
xor eax, eax
push ebp
push 0x45c7fd
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x74]
call fcn.00454694
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45c807
dec dword [ebp - 0x6c]
jne 0x45c7dd
xor eax, eax
push ebp
push 0x45c82e
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x45c970
call fcn.00408d0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x45c868
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 0x45c881
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45c8ce
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