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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov eax, dword [0x472ca0]
mov ebx, dword [esp + 0x74]
xor esi, esi
lea ebp, [esp + 0x44]
xor eax, esp
mov dword [esp + 0x5c], eax
mov eax, dword [ebx + 0x3c]
mov eax, dword [eax + ebx + 0x78]
add eax, ebx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov edi, dword [eax + 0x20]
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], 0
mov eax, dword [eax + 0x18]
add edi, ebx
mov dword [esp + 0x20], eax
mov eax, 0xbd5e99a
cmp eax, 0x68405d1
jle 0x40453b
jmp 0x404680
mov esi, dword [esp + 0x30]
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
inc esi
mov eax, 0xbd5e99a
mov edi, dword [esp + 0x38]
nop dword [eax]
cmp eax, 0x68405d1
jg 0x404680
cmp eax, 0xdc0a5431
jle 0x404570
cmp eax, 0xdc0a5432
je 0x404592
cmp eax, 0xec6fb712
je 0x404810
cmp eax, 0xefc552c4
jne 0x404530
mov ecx, ebp
call fcn.00406f20
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 0x3c]
jmp 0x40466f
cmp eax, 0x8a821fca
je 0x404827
cmp eax, 0xc2a72472
je 0x404844
cmp eax, 0xac15f927
jne 0x404530
jmp 0x404904
mov eax, dword [0x4735cc]
mov dword [esp], esi
mov esi, edi
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov edi, ecx
and ecx, 0xe1f31b1f
not eax
and edi, 1
mov edx, eax
and eax, 0x1e0ce4e0
and edx, 0xfffffffe
or ecx, eax
or edi, edx
xor ecx, 0xe1f31b1f
not edi
mov eax, edi
and eax, ecx
xor ecx, edi
mov edi, dword [esp + 0x14]
or ecx, eax
mov eax, dword [0x4735d0]
cmp ecx, 0xffffffff
sete cl
setne dl
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0x10]
cmp eax, 0xa
setl ch
cmp eax, 9
mov ah, dl
setg al
or dl, ch
and ch, cl
and ah, al
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0xc]
or ch, ah
mov ah, ch
xor ah, al
or al, cl
mov cl, al
and ah, ch
or al, dl
mov dword [esp + 0x40], edi
mov ch, ah
xor cl, dl
xor al, 1
or al, cl
xor ch, 1
mov cl, ah
and cl, ch
mov edx, ecx
xor cl, ah
and dl, ah
or cl, dl
mov edx, eax
mov ah, cl
xor dl, 1
xor ah, 1
and cl, dl
and ah, al
mov al, ch
and al, dl
xor dl, ch
or cl, ah
or dl, al
mov eax, 0xefc552c4
test dl, 1
jne 0x404655
mov eax, 0x74f53d15
xor dl, cl
test cl, 1
mov edi, esi
jne 0x404663
mov eax, 0xefc552c4
mov esi, dword [esp]
test dl, 1
jne 0x404530
mov eax, 0x74f53d15
cmp eax, 0x68405d1
jle 0x40453b
nop
cmp eax, 0x153fce19
jle 0x4047c0
cmp eax, 0x153fce1a
je 0x404874
cmp eax, 0x2c919223
je 0x4048ba
cmp eax, 0x74f53d15
jne 0x404530
mov ecx, ebp
mov dword [esp], esi
mov dword [esp + 0x18], edi
mov esi, ebp
call fcn.00406f20
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x3c], 0
mov eax, dword [0x4735cc]
lea ebp, [eax - 1]
sete byte [esp + 0x2b]
imul ebp, eax
mov eax, ebp
mov ecx, ebp
and ebp, 0x5ad31755
not eax
or ecx, 0x2a280000
mov edi, eax
mov ebx, eax
and ecx, 0x2e2dad98
and eax, 0xa52ce8aa
or edi, 0x44d7efba
and ebx, 0x40d24222
or eax, ebp
mov edx, edi
and edi, 0x2e2dad98
or ebx, ecx
not edx
and edx, 0x91001045
or edx, edi
xor edx, ebx
mov ecx, edx
and edx, 0x72865361
not ecx
and ecx, 0x8d79ac9e
or edx, ecx
mov ecx, edx
xor edx, 0xc9ae4325
xor ecx, 0x2400a88a
mov edi, edx
and edi, 0x5ad31755
and ecx, 0xa52ce8aa
or ecx, edi
xor eax, ecx
xor edx, eax
test edx, eax
sete al
cmp dword [0x4735d0], 0xa
mov ecx, eax
setl dl
xor cl, dl
or dl, al
xor dl, 1
mov eax, edx
xor dl, cl
and al, cl
or dl, al
xor dl, cl
and cl, dl
mov eax, edx
xor al, cl
test al, 1
mov eax, 0xefc552c4
jne 0x404784
mov eax, 0xec6fb712
test dl, dl
mov edx, eax
jne 0x40478f
mov edx, 0xec6fb712
mov ebp, esi
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x18]
mov esi, dword [esp]
test cl, cl
cmovne eax, edx
cmp eax, 0x68405d1
jle 0x40453b
jmp 0x404680
cmp eax, 0x68405d2
je 0x404516
cmp eax, 0xbd5e99a
jne 0x404530
mov eax, dword [esp + 4]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
cmp ecx, eax
mov eax, 0x2c919223
jb 0x404530
mov eax, 0x8a821fca
cmp eax, 0x68405d1
jle 0x40453b
jmp 0x404680
cmp byte [esp + 0x2b], 0
mov eax, 0x68405d2
jne 0x404821
mov eax, 0xac15f927
mov ecx, dword [esp + 0x40]
jmp 0x404830
mov ecx, dword [esp + 0x34]
mov eax, 0xac15f927
mov dword [esp + 8], ecx
cmp eax, 0x68405d1
jle 0x40453b
jmp 0x404680
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], 0
add eax, 4
mov dword [esp + 0x14], eax
mov eax, 0xdc0a5432
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xc], ecx
cmp eax, 0x68405d1
jle 0x40453b
jmp 0x404680
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x24]
mov ecx, dword [esp + 0x30]
add eax, ebx
movzx eax, word [eax + ecx*2]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x10], 2
mov ecx, dword [ecx + 0x1c]
add ecx, ebx
mov eax, dword [ecx + eax*4]
mov dword [esp + 0xc], eax
mov eax, 0xdc0a5432
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
cmp eax, 0x68405d1
jle 0x40453b
jmp 0x404680
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [esp + 0x24], ebp
mov ecx, dword [esp + 0x24]
mov ecx, ebp
add eax, ebx
push eax
call fcn.00404920
push 0x235
push ebp
call fcn.00402520
add esp, 8
cmp eax, dword [esp + 0x78]
mov eax, 0x153fce1a
je 0x404530
mov eax, 0xc2a72472
cmp eax, 0x68405d1
jle 0x40453b
jmp 0x404680
mov esi, dword [esp + 8]
mov ecx, dword [esp + 0x5c]
xor ecx, esp
add esi, ebx
call fcn.0040a6c4
mov eax, esi
add esp, 0x60
pop esi
pop edi
pop ebx
pop ebp
ret