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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x68
mov eax, dword [0x44f834]
mov ecx, dword [esp + 0x7c]
lea edi, [esp + 0x4c]
xor eax, esp
mov dword [esp + 0x64], eax
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
add eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x20]
add eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [eax + 0x18]
mov dword [esp + 0x1c], eax
mov eax, 0xcb19cfb5
cmp eax, 0x26367474
jg 0x405cdb
jmp 0x406140
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, 0xcb19cfb5
nop dword [eax]
cmp eax, 0x26367474
jle 0x406140
cmp eax, 0x45f5b88b
jg 0x405d20
cmp eax, 0x26367475
je 0x405d7a
cmp eax, 0x44930c97
jne 0x405cd0
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x10], 0
mov eax, 0x45f5b88c
mov ecx, dword [esp + 0x2c]
add ebp, 4
mov dword [esp + 0xc], ecx
cmp eax, 0x26367474
jg 0x405cdb
jmp 0x406140
cmp eax, 0x45f5b88c
je 0x405ec9
cmp eax, 0x67c84518
jne 0x405cd0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x7c]
mov eax, dword [eax + 0x24]
mov edx, ecx
add eax, ecx
mov ecx, dword [esp + 0x28]
movzx eax, word [eax + ecx*2]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], 2
mov ecx, dword [ecx + 0x1c]
add ecx, edx
mov eax, dword [ecx + eax*4]
mov dword [esp + 0xc], eax
mov eax, 0x45f5b88c
mov ebp, dword [esp + 0x24]
cmp eax, 0x26367474
jg 0x405cdb
jmp 0x406140
mov dword [esp + 0x14], ebp
mov ebp, esi
mov eax, dword [esp + 0x24]
mov esi, dword [eax]
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x5c], 0
add esi, dword [esp + 0x7c]
push esi
call fcn.0042d0d0
add esp, 4
mov dword [esp + 0x3c], edi
mov ebx, eax
mov eax, dword [esp + 0x3c]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x40], eax
mov eax, 0xdf525684
nop dword [eax]
cmp eax, 0xdf525683
jg 0x405e10
cmp eax, 0x834bf741
je 0x4060eb
cmp eax, 0x94bdbd64
jne 0x405dd0
sub esp, 0xc
movzx eax, byte [esp + 0x44]
mov ecx, edi
mov byte [esp + 4], al
mov dword [esp + 8], esi
mov dword [esp], ebx
call fcn.00407c40
mov eax, 0x834bf741
cmp eax, 0xdf525683
jle 0x405dd7
nop
cmp eax, 0x15f7cc9a
je 0x405e3a
cmp eax, 0xdf525684
jne 0x405dd0
mov eax, dword [esp + 0x40]
mov ecx, 0x94bdbd64
cmp eax, ebx
mov eax, 0x15f7cc9a
cmovb eax, ecx
cmp eax, 0xdf525683
jle 0x405dd7
jmp 0x405e10
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x48], ecx
mov ecx, 0xc5bf5291
nop
cmp ecx, 0xb86a72eb
je 0x405e9a
cmp ecx, 0x16192ea3
je 0x405e87
cmp ecx, 0xc5bf5291
jne 0x405e50
cmp dword [eax + 0x14], 0xf
mov edi, dword [esp + 0x48]
mov ecx, 0xb86a72eb
mov edx, 0x16192ea3
cmova ecx, edx
cmp ecx, 0xb86a72eb
jne 0x405e58
jmp 0x405e9a
mov ecx, dword [esp + 0x44]
mov edi, dword [ecx]
mov ecx, 0xb86a72eb
cmp ecx, 0xb86a72eb
jne 0x405e58
mov eax, dword [esp + 0x3c]
mov dword [eax + 0x10], ebx
push ebx
push esi
push edi
call fcn.00424580
add esp, 0xc
mov byte [edi + ebx], 0
mov eax, 0x834bf741
lea edi, [esp + 0x4c]
cmp eax, 0xdf525683
jle 0x405dd7
jmp 0x405e10
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x48], edi
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x48]
mov eax, 0x1f827f1
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0xe63e0ae3
je 0x405f46
cmp eax, 0x5b63c86a
je 0x405f23
cmp eax, 0x1f827f1
jne 0x405ef0
mov eax, dword [esp + 0x48]
mov ecx, 0x5b63c86a
cmp dword [eax + 0x14], 0xf
mov eax, 0xe63e0ae3
cmova eax, ecx
cmp eax, 0xe63e0ae3
jne 0x405ef7
jmp 0x405f46
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x48]
mov ecx, dword [ecx + 0x14]
inc ecx
push ecx
push dword [eax]
call fcn.004078e0
add esp, 8
mov eax, 0xe63e0ae3
cmp eax, 0xe63e0ae3
jne 0x405ef7
mov eax, dword [esp + 0x48]
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x48]
mov dword [eax + 0x14], 0xf
mov eax, dword [esp + 0x48]
mov byte [eax], 0
mov ecx, dword [0x450520]
mov eax, dword [0x450524]
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, edx
xor ecx, 0xe5421e36
and ecx, edx
not edx
mov esi, edx
and esi, 0xe5421e36
mov edi, esi
and edi, ecx
xor ecx, esi
or ecx, edi
lea edi, [esp + 0x4c]
mov esi, ecx
and ecx, 0xc9d00810
not esi
and esi, 0x362ff7ef
or ecx, esi
mov esi, ecx
xor ecx, 0xc308c990
xor esi, 0x20101621
and ecx, 0xcf8ac996
and esi, 0x30753669
or esi, ecx
xor esi, 0x30753669
mov ecx, esi
xor esi, edx
and ecx, edx
or esi, ecx
cmp esi, 0xffffffff
mov esi, 0x6901612f
sete cl
setne dl
sete byte [esp + 0x44]
cmp eax, 9
setg ch
cmp eax, 0xa
setl al
setl byte [esp + 0x48]
mov ah, al
and al, dl
or ah, cl
and cl, ch
xor ch, dl
xor ah, 1
or al, cl
or ah, ch
xor al, 1
mov cl, ah
or cl, al
xor al, ah
mov edx, ecx
xor dl, al
test al, al
mov eax, 0xe725cd14
cmovne eax, esi
test cl, cl
mov ecx, 0xe725cd14
cmovne eax, ecx
test dl, dl
mov ecx, 0x8664642e
cmove eax, esi
nop
cmp ecx, 0x541df2d9
jg 0x406060
cmp ecx, 0x8664642e
je 0x406075
cmp ecx, 0xe725cd14
jne 0x406030
mov ecx, 0x541df2da
cmp ecx, 0x541df2d9
jle 0x406038
nop word cs:[eax + eax]
nop
cmp ecx, 0x541df2da
je 0x4060d8
cmp ecx, 0x6901612f
jne 0x406030
jmp 0x406112
movzx ecx, byte [esp + 0x44]
movzx edx, byte [esp + 0x48]
mov esi, 0xe725cd14
mov ch, dl
mov ebx, ecx
mov dh, cl
xor ch, 1
or bl, dl
xor dh, dl
xor bl, 1
and ch, cl
xor cl, 1
or bl, dh
and cl, dl
xor bl, 1
or ch, cl
xor ch, bl
mov dl, ch
xor dl, 1
and dl, bl
mov ebx, 0x541df2da
mov dh, dl
xor dh, ch
test ch, 1
mov ecx, 0xe725cd14
cmovne ecx, ebx
test dl, 1
cmove ecx, esi
test dh, 1
cmovne ecx, ebx
cmp ecx, 0x541df2d9
jg 0x406060
jmp 0x406038
mov ecx, eax
cmp ecx, 0x541df2d9
jg 0x406060
jmp 0x406038
push 0x235
push edi
call fcn.004044e0
add esp, 8
cmp eax, dword [esp + 0x80]
mov esi, ebp
mov ebp, dword [esp + 0x14]
mov eax, 0x44930c97
mov ecx, 0x67c84518
jmp 0x406129
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x10], 0
mov esi, dword [esp + 0x34]
mov eax, 0x1177f92
mov ecx, 0xaf09072f
cmove eax, ecx
cmp eax, 0x26367474
jg 0x405cdb
nop word [eax + eax]
cmp eax, 0xcb19cfb4
jg 0x406180
cmp eax, 0xaf09072f
je 0x405caf
cmp eax, 0xb51affd7
jne 0x405cd0
mov esi, dword [esp + 0x2c]
mov eax, 0x1177f92
cmp eax, 0x26367474
jg 0x405cdb
jmp 0x406140
cmp eax, 0xcb19cfb5
je 0x406194
cmp eax, 0x1177f92
jne 0x405cd0
jmp 0x4061d2
mov eax, dword [esp + 8]
mov edx, 0x26367475
mov dword [esp + 0x24], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esp]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
cmp ecx, eax
mov eax, 0xb51affd7
cmovb eax, edx
cmp eax, 0x26367474
jg 0x405cdb
jmp 0x406140
mov ecx, dword [esp + 0x64]
add esi, dword [esp + 0x7c]
xor ecx, esp
call fcn.0041ede8
mov eax, esi
add esp, 0x68
pop esi
pop edi
pop ebx
pop ebp
ret