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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x60
mov eax, dword [0x4c9838]
mov ecx, dword [esp + 0x74]
xor eax, esp
mov dword [esp + 0x5c], eax
mov eax, dword [ecx + 0x3c]
mov eax, dword [ecx + eax + 0x78]
add eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x20]
add eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], 0
mov dword [esp], 0
mov eax, dword [eax + 0x18]
mov dword [esp + 0x20], eax
mov eax, 0x3747fe61
cmp eax, 0xe5691154
jg 0x406597
jmp 0x406600
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x40]
mov eax, 0x2feeaefb
nop word cs:[eax + eax]
nop
cmp eax, 0xe5691154
jle 0x406600
cmp eax, 0xece5ce5
jle 0x406770
cmp eax, 0x2feeaefa
jg 0x406936
cmp eax, 0xece5ce6
je 0x4069a5
cmp eax, 0x165d5e40
jne 0x406590
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x44]
mov dword [esp + 0x38], eax
call fcn.00411b10
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x10], 0
mov edx, dword [esp + 0x3c]
mov eax, 0xece5ce6
mov ecx, 0xd1d3538
cmove eax, ecx
mov dword [esp + 0x18], edx
cmp eax, 0xe5691154
jg 0x406597
nop dword [eax]
cmp eax, 0x9b290c54
jle 0x4067c0
cmp eax, 0xbd7d6e42
jg 0x40698a
cmp eax, 0x9b290c55
je 0x406aa7
cmp eax, 0xa3910512
jne 0x406590
mov eax, dword [0x4ca660]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0x5305aaa5
and eax, ecx
or ecx, 0xacfa555a
mov esi, eax
mov edx, ecx
mov ebp, ecx
and eax, 0x9dbb62d5
not edx
not esi
and ebp, 0x62449d2a
or ecx, esi
and edx, 0x11012285
and esi, 0x62449d2a
or edx, ebp
or eax, esi
not ecx
xor eax, edx
or ecx, eax
mov eax, ecx
and ecx, 0xf859d2e8
not eax
and eax, 0x7a62d17
or ecx, eax
mov eax, ecx
mov edx, ecx
xor ecx, 0xa18780
xor eax, 0xab5c784d
xor edx, 0xab5c784c
and ecx, 0xa8a5af8c
and edx, eax
and eax, 0x575a5073
or eax, ecx
mov ecx, edx
xor eax, 0x575a5072
and ecx, eax
xor eax, edx
or eax, ecx
mov edx, eax
mov ecx, eax
xor edx, 0xdd9e414f
not ecx
and edx, eax
or eax, 0x2261beb0
and ecx, 0x101a4045
mov esi, edx
mov ebp, eax
and edx, 0x121bd075
not esi
and ebp, 0xede42f8a
or eax, esi
and esi, 0xede42f8a
or ecx, ebp
or edx, esi
not eax
mov esi, 0xdca373b7
xor edx, ecx
or eax, edx
mov ecx, eax
and eax, 0xdd9e414f
not ecx
and ecx, 0x2261beb0
or eax, ecx
mov ecx, eax
and eax, 0xa5289161
not ecx
mov edx, ecx
and edx, 0x5ad76e9e
or eax, edx
xor eax, 0xa5289161
or eax, ecx
cmp eax, 0xffffffff
sete al
cmp dword [0x4ca664], 0xa
setl cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x96f9467c
or cl, dl
xor cl, 1
mov ch, cl
or cl, dl
xor ch, dl
xor cl, 1
or cl, ch
mov edx, ecx
xor dl, ch
test cl, 1
cmovne eax, esi
test ch, ch
mov ecx, 0x96f9467c
cmove eax, esi
test dl, 1
jmp 0x406ae1
cmp eax, 0xe5691155
je 0x406af4
cmp eax, 0xf85189a1
je 0x40655b
cmp eax, 0xd1d3538
jne 0x406590
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
mov eax, 0x3747fe61
cmp eax, 0xe5691154
jg 0x406597
jmp 0x406600
cmp eax, 0x84abea4a
je 0x406b11
cmp eax, 0x8e18e996
je 0x406b5d
cmp eax, 0x96f9467c
jne 0x406590
mov ecx, dword [0x4ca660]
lea eax, [ecx - 1]
imul eax, ecx
mov edi, eax
mov esi, eax
and eax, 0x9dd8a090
not edi
and esi, 0x9539630d
mov edx, edi
mov ecx, edi
and edi, 0x62275f6f
and edx, 0x6ac69cf2
or ecx, 0xd43ca4e5
or eax, edi
or esi, edx
mov edx, ecx
and ecx, 0xe146b265
xor eax, 0x9dd8a090
mov ebp, esi
xor esi, 0x40048060
not edx
xor ebp, 0x14380000
or esi, 0x21421200
and edx, 0xa81491a
and esi, 0xe146b265
and ebp, 0x14380480
or edx, ecx
or ebp, esi
mov esi, 0xdca373b7
xor edx, ebp
mov ecx, edx
and edx, 0xd43ca4e4
not ecx
and ecx, 0x2bc35b1b
or edx, ecx
mov ecx, edx
and edx, 0x222b1ab2
not ecx
and ecx, 0xddd4e54d
or edx, ecx
xor edx, 0x222b1ab2
mov ecx, edx
and ecx, eax
xor eax, edx
mov edx, dword [0x4ca664]
or eax, ecx
mov ecx, eax
and eax, 0xf14b928f
not ecx
and ecx, 0xeb46d70
or eax, ecx
xor eax, 0xf14b928f
sete cl
setne ah
cmp edx, 9
setg al
cmp edx, 0xa
mov dh, cl
setl dl
and dh, al
or al, cl
mov ch, dl
mov ebx, eax
and ch, ah
or ah, dl
or al, ah
xor bl, ah
mov ah, dl
or dh, ch
xor dl, cl
and ah, cl
xor dh, 1
xor al, 1
or dl, ah
mov cl, dh
or al, bl
or dh, dl
xor cl, dl
xor dh, 1
or dh, cl
mov cl, dh
mov dl, dh
xor cl, 1
and cl, dh
xor cl, 1
xor dl, cl
or cl, dh
xor cl, 1
or cl, dl
mov edx, eax
xor dl, cl
or cl, al
mov eax, 0xe5691155
xor cl, 1
or cl, dl
mov ch, cl
xor ch, dl
test cl, 1
cmovne eax, esi
test dl, 1
mov edx, 0xe5691155
cmove eax, esi
test ch, 1
cmove eax, edx
cmp eax, 0xe5691154
jg 0x406597
jmp 0x406600
cmp eax, 0x2feeaefb
je 0x406b8d
cmp eax, 0x3747fe61
jne 0x406590
mov eax, dword [esp + 8]
mov edx, 0x9b290c55
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov eax, dword [esp]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
cmp ecx, eax
mov eax, 0xa3910512
cmovb eax, edx
cmp eax, 0xe5691154
jg 0x406597
jmp 0x406600
cmp eax, 0xdca373b7
je 0x406c9a
cmp eax, 0xbd7d6e43
jne 0x406590
jmp 0x406caf
mov ecx, dword [0x4ca660]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov esi, eax
not ecx
and esi, 0xd6621ce0
mov edx, ecx
and ecx, 0xcf060dba
and edx, 0x299de31e
or esi, edx
mov edx, eax
and eax, 0x30f9f245
xor esi, 0xd6621ce0
and edx, 1
or eax, ecx
or edx, esi
mov ecx, edx
and edx, 0x18671b7c
not ecx
mov esi, ecx
and esi, 0xe798e483
or edx, esi
mov esi, eax
xor eax, 0xc7000482
xor esi, 0x10611244
and eax, 0xe798e483
and esi, 0x18671b7c
or esi, eax
xor esi, edx
mov edx, dword [0x4ca664]
xor ecx, esi
test ecx, esi
mov esi, 0xf85189a1
sete ah
setne ch
cmp edx, 0xa
setl al
cmp edx, 9
setg cl
and al, ch
and ah, cl
mov edx, ecx
xor cl, ch
or al, ah
and dl, ch
mov ah, al
or cl, dl
mov ch, al
xor ah, 1
mov edx, ecx
and ch, ah
xor dl, 1
xor ah, cl
mov dh, ch
xor ch, al
and dh, al
or al, dl
and dl, cl
xor dl, 1
xor al, 1
or ch, dh
mov ebx, edx
or dl, cl
or al, ah
xor bl, cl
xor dl, 1
mov cl, al
or dl, bl
xor ch, dl
mov edx, 0x2feeaefb
xor cl, ch
test cl, 1
cmovne edx, esi
test al, 1
mov eax, 0x2feeaefb
cmovne eax, edx
test ch, 1
cmove eax, edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x40], edx
cmp eax, 0xe5691154
jg 0x406597
jmp 0x406600
mov eax, dword [esp + 0x2c]
lea esi, [esp + 0x44]
mov eax, dword [eax]
mov dword [esp + 0x24], esi
mov ecx, dword [esp + 0x24]
mov ecx, esi
add eax, dword [esp + 0x74]
push eax
call fcn.00406cd0
push 0x235
push esi
call fcn.00402c60
add esp, 8
cmp eax, dword [esp + 0x78]
mov eax, 0x8e18e996
mov ecx, 0x84abea4a
cmove eax, ecx
cmp eax, 0xe5691154
jg 0x406597
jmp 0x406600
mov ecx, dword [esp + 0x34]
mov eax, 0xece5ce6
mov dword [esp + 0x18], ecx
cmp eax, 0xe5691154
jg 0x406597
jmp 0x406600
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x74]
mov eax, dword [eax + 0x24]
mov edx, ecx
add eax, ecx
mov ecx, dword [esp + 0x30]
movzx eax, word [eax + ecx*2]
mov ecx, dword [esp + 0x1c]
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, 0x165d5e40
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
cmp eax, 0xe5691154
jg 0x406597
jmp 0x406600
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], 0
add eax, 4
mov dword [esp + 0x14], eax
mov eax, 0x165d5e40
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xc], ecx
cmp eax, 0xe5691154
jg 0x406597
jmp 0x406600
mov eax, dword [esp + 0x40]
mov ecx, dword [0x4ca660]
add eax, dword [esp + 0x74]
mov dword [esp + 0x28], eax
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov edx, eax
mov esi, eax
not ecx
or edx, 0xf5731ad6
xor esi, 0xa8ce529
mov ebx, ecx
mov edi, edx
and esi, eax
and ecx, 0xd5f77b98
and eax, 0x2a088467
and edi, 0xa55eaff2
and ebx, 0xa804009
or eax, ecx
or ebx, edi
mov edi, esi
and esi, 0x5aa1500d
xor eax, 0x2a088467
not edi
or edx, edi
and edi, 0xa55eaff2
or esi, edi
not edx
mov edi, 0xf85189a1
xor esi, ebx
or edx, esi
mov esi, edx
and edx, 0x3e15a841
not esi
and esi, 0xc1ea57be
or edx, esi
mov esi, edx
xor edx, 0x1622012
xor esi, 0x800d01
and edx, 0x357b607a
and esi, 0xca849f85
or esi, edx
xor esi, 0xca849f85
mov ecx, esi
and ecx, eax
xor eax, esi
mov esi, 0xbd7d6e43
or eax, ecx
mov ecx, dword [0x4ca664]
cmp eax, 0xffffffff
sete al
setne dl
cmp ecx, 0xa
setl ah
cmp ecx, 9
setg cl
and ah, al
mov al, dl
and al, cl
or ah, al
mov al, ah
xor al, cl
and al, ah
xor cl, al
xor cl, dl
mov edx, ecx
mov ch, cl
not dl
and dl, al
mov eax, 0xf85189a1
xor ch, dl
test cl, cl
cmovne eax, esi
test dl, dl
cmove eax, edi
test ch, ch
cmovne eax, esi
cmp eax, 0xe5691154
jg 0x406597
jmp 0x406600
mov eax, 0x96f9467c
cmp eax, 0xe5691154
jg 0x406597
jmp 0x406600
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x5c]
xor ecx, esp
call fcn.00499068
mov eax, esi
add esp, 0x60
pop esi
pop edi
pop ebx
pop ebp
ret