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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xacc
mov eax, dword [0x414100]
xor eax, esp
mov dword [esp + 0xac8], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov edi, dword [ebp + 8]
xor esi, esi
push 0x4017fc
push edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], esi
call dword [0x415238]
pop ecx
pop ecx
xor ecx, ecx
inc ecx
test eax, eax
je 0xcd460e
push 0x401810
push edi
call dword [0x415238]
pop ecx
pop ecx
test eax, eax
je 0xcd460b
push 0x104
lea eax, [esp + 0xc4]
push eax
push edi
call dword [0x4150c0]
test eax, eax
je 0xcd4661
lea edi, [esp + 0xc0]
jmp 0xcd4661
xor ecx, ecx
inc ecx
mov dword [esp + 0x10], ecx
push 0x104
lea eax, [esp + 0xc4]
push eax
push 0x40182c
call dword [0x4150c0]
test eax, eax
lea esi, [esp + 0xc0]
mov eax, dword [0x414000]
cmove esi, edi
mov edi, esi
cmp eax, 0x414000
je 0xcd465f
test byte [eax + 0x1c], 1
je 0xcd465f
cmp byte [eax + 0x19], 4
jb 0xcd465f
push esi
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xf
pop ecx
call fcn.00cd3548
xor esi, esi
cmp dword [ebp + 0x14], 0
je 0xcd47c1
cmp dword [0x4145e8], 0
mov ebx, esi
jne 0xcd46ac
xor eax, eax
push eax
push eax
push 0x4017c8
call dword [0x41508c]
test eax, eax
je 0xcd46a2
push 0x401860
push eax
call dword [fcn.00415084]
test eax, eax
mov dword [0x4145e8], eax
push 1
pop eax
cmovne esi, eax
test esi, esi
je 0xcd4ac1
xor esi, esi
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0xcd46b1
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push 0x40
call dword [fcn.00415070]
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
je 0xcd49f7
mov edx, edi
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
cmp ax, word [esp + 0x14]
jne 0xcd46e3
sub edx, ecx
mov ecx, esi
sar edx, 1
push edi
inc edx
call fcn.00cd3431
cmp dword [esp + 0x18], 0
jne 0xcd4722
mov ecx, esi
call fcn.00cd4534
mov ebx, eax
test ebx, ebx
je 0xcd4722
xor eax, eax
cmp word [ebx], ax
je 0xcd4720
mov word [ebx], ax
add ebx, 2
jmp 0xcd4722
mov ebx, eax
mov ecx, esi
call fcn.00cd4196
xor eax, eax
push 0x3c
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00ce09e0
movzx eax, word [ebp + 0x18]
add esp, 0xc
mov dword [esp + 0x58], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x4c], esi
mov esi, dword [0x4145e8]
mov ecx, esi
push eax
mov dword [esp + 0x40], 0x3c
mov dword [esp + 0x44], 0x640
mov dword [esp + 0x54], ebx
mov dword [esp + 0x4c], 0x401870
call dword [fcn.004152c0]
call esi
mov ebx, dword [ebp + 0x10]
mov esi, eax
test esi, esi
je 0xcd479b
test ebx, ebx
je 0xcd4791
push 0xffffffffffffffff
push dword [esp + 0x78]
call dword [0x415178]
push dword [esp + 0x74]
call dword [fcn.00415054]
push dword [esp + 0x10]
call dword [fcn.00415074]
test esi, esi
je 0xcd4ac1
test ebx, ebx
jne 0xcd4ac1
mov ecx, edi
call fcn.00cdc72e
jmp 0xcd4ac1
xor ecx, ecx
mov eax, edi
test ebx, ebx
cmovne eax, ecx
test ebx, ebx
mov dword [esp + 0x28], eax
cmovne ecx, edi
mov dword [esp + 0x20], ecx
xor edx, edx
mov dword [esp + 0x78], 0x44
inc edx
mov dword [esp + 0x7c], edi
mov ebx, edx
mov dword [esp + 0xa4], edx
mov dx, word [ebp + 0x18]
mov word [esp + 0xa8], dx
xor edx, edx
mov word [esp + 0xaa], dx
lea edx, [esp + 0x2c]
push edx
lea edx, [esp + 0x7c]
mov dword [esp + 0x88], edi
push edx
push esi
push esi
push 0x20
push esi
push esi
push esi
push eax
push ecx
mov dword [esp + 0xa8], esi
mov dword [esp + 0xbc], esi
mov dword [esp + 0xb8], esi
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb0], esi
mov dword [esp + 0xd4], esi
call dword [0x4150d4]
mov esi, eax
test esi, esi
jne 0xcd49a7
call dword [fcn.00415040]
cmp eax, 0x2e4
jne 0xcd49fe
cmp dword [ebp + 0x1c], esi
je 0xcd49fe
xor eax, eax
mov ebx, eax
mov dword [esp + 0x1c], eax
cmp dword [0x4145e8], eax
jne 0xcd48b7
push eax
push eax
push 0x4017c8
mov esi, eax
call dword [0x41508c]
test eax, eax
je 0xcd48af
push 0x401860
push eax
call dword [fcn.00415084]
test eax, eax
mov dword [0x4145e8], eax
push 1
pop eax
cmovne esi, eax
test esi, esi
je 0xcd49fe
mov ecx, edi
xor esi, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0xcd48be
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push 0x40
call dword [fcn.00415070]
mov esi, eax
mov dword [esp + 0x24], esi
test esi, esi
je 0xcd49f7
mov edx, edi
lea ecx, [edx + 2]
mov ax, word [edx]
add edx, 2
cmp ax, word [esp + 0x14]
jne 0xcd48f0
sub edx, ecx
mov ecx, esi
sar edx, 1
push edi
inc edx
call fcn.00cd3431
cmp dword [esp + 0x18], ebx
jne 0xcd492e
mov ecx, esi
call fcn.00cd4534
mov ebx, eax
test ebx, ebx
je 0xcd492e
xor eax, eax
cmp word [ebx], ax
je 0xcd492c
mov word [ebx], ax
add ebx, 2
jmp 0xcd492e
mov ebx, eax
mov ecx, esi
call fcn.00cd4196
xor eax, eax
push 0x3c
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00ce09e0
movzx eax, word [ebp + 0x18]
add esp, 0xc
mov dword [esp + 0x58], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x4c], esi
mov esi, dword [0x4145e8]
mov ecx, esi
push eax
mov dword [esp + 0x40], 0x3c
mov dword [esp + 0x44], 0x640
mov dword [esp + 0x54], ebx
mov dword [esp + 0x4c], 0x40187c
call dword [fcn.004152c0]
call esi
push dword [esp + 0x24]
mov esi, eax
mov eax, dword [esp + 0x30]
test esi, esi
cmovne eax, dword [esp + 0x78]
mov dword [esp + 0x30], eax
call dword [fcn.00415074]
mov ebx, dword [esp + 0x1c]
test esi, esi
je 0xcd49fe
cmp dword [ebp + 0x10], 0
je 0xcd49b9
push 0xffffffffffffffff
push dword [esp + 0x30]
call dword [0x415178]
push dword [esp + 0x2c]
call dword [fcn.00415054]
test ebx, ebx
je 0xcd49d1
push dword [esp + 0x30]
call dword [fcn.00415054]
cmp dword [ebp + 0x10], 0
je 0xcd47b5
call fcn.00cdf71b
test al, al
jne 0xcd4ac1
mov eax, dword [esp + 0x28]
xor esi, esi
mov ecx, dword [esp + 0x20]
jmp 0xcd47d7
xor eax, eax
jmp 0xcd4ac3
mov eax, dword [0x414000]
mov ebx, 0x414000
cmp eax, ebx
je 0xcd4a33
test byte [eax + 0x1c], 1
je 0xcd4a33
cmp byte [eax + 0x19], 2
jb 0xcd4a33
call dword [fcn.00415040]
push eax
mov eax, dword [0x414000]
push edi
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x10
pop ecx
call fcn.00cd3721
call fcn.00cd41de
test al, al
jne 0xcd4ac1
xor eax, eax
inc eax
cmp dword [esp + 0x10], eax
jne 0xcd4ac1
call fcn.00cdf71b
test al, al
je 0xcd4ac1
mov eax, dword [0x414000]
cmp eax, ebx
je 0xcd4a7a
test byte [eax + 0x1c], 1
je 0xcd4a7a
cmp byte [eax + 0x19], 2
jb 0xcd4a7a
push dword [eax + 0x14]
mov edx, 0x401ecc
push dword [eax + 0x10]
push 0x11
pop ecx
call fcn.00cd3524
mov edi, pe_nt_image_headers32
lea eax, [esp + 0x2d0]
push edi
push eax
push 0x648
xor ebx, ebx
push ebx
call dword [0x41509c]
push edi
lea eax, [esp + 0x6d4]
push eax
push 0x647
push ebx
call dword [0x41509c]
lea eax, [esp + 0x2d0]
push eax
lea eax, [esp + 0x6d4]
push eax
call dword [0x41704c]
mov eax, esi
mov ecx, dword [esp + 0xad4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00cdfb90
mov esp, ebp
pop ebp
ret 0x18