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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov esi, esp
mov dword [esi + 0x18], ecx
mov eax, dword [ebp + 0x28]
mov dword [esi + 0x1c], eax
mov al, byte [ebp + 0x24]
mov byte [esi + 0x21], al
mov al, byte [ebp + 0x20]
mov byte [esi + 0x22], al
mov al, byte [ebp + 0x1c]
mov byte [esi + 0x23], al
mov eax, dword [ebp + 0x18]
mov dword [esi + 0x24], eax
vmovsd xmm0, qword [ebp + 0x10]
vmovsd qword [esi + 0x28], xmm0
vmovsd xmm0, qword [ebp + 8]
vmovsd qword [esi + 0x30], xmm0
mov eax, dword [0x44f080]
xor eax, ebp
mov dword [esi + 0xa0], eax
mov ecx, dword [0x45059c]
mov eax, dword [0x450598]
mov edx, ecx
add edx, 0x96f432c7
sub edx, 1
sub edx, 0x96f432c7
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x42], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x43], al
mov dword [esi + 0x3c], 0xa6f1c1c6
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x14], eax
sub eax, 0x8363e255
je 0x40a3a6
jmp 0x409d89
mov eax, dword [esi + 0x14]
sub eax, 0x8c7c5c8a
je 0x40a315
jmp 0x409d9c
mov eax, dword [esi + 0x14]
sub eax, 0x8d0df55a
je 0x40a05f
jmp 0x409daf
mov eax, dword [esi + 0x14]
sub eax, 0x9bd605c3
je 0x40a0b7
jmp 0x409dc2
mov eax, dword [esi + 0x14]
sub eax, 0xa1aa5b25
je 0x40a2f7
jmp 0x409dd5
mov eax, dword [esi + 0x14]
sub eax, 0xa6f1c1c6
je 0x40a014
jmp 0x409de8
mov eax, dword [esi + 0x14]
sub eax, 0xac28abc1
je 0x40a0c3
jmp 0x409dfb
mov eax, dword [esi + 0x14]
sub eax, 0xc744f5ef
je 0x40a72c
jmp 0x409e0e
mov eax, dword [esi + 0x14]
sub eax, 0xd041f653
je 0x40a5ea
jmp 0x409e21
mov eax, dword [esi + 0x14]
sub eax, 0xd8ba0279
je 0x40a4d9
jmp 0x409e34
mov eax, dword [esi + 0x14]
sub eax, 0xd95eec46
je 0x40a1c2
jmp 0x409e47
mov eax, dword [esi + 0x14]
sub eax, 0xdde24b59
je 0x40a409
jmp 0x409e5a
mov eax, dword [esi + 0x14]
sub eax, 0xe7ea64e0
je 0x40a4b5
jmp 0x409e6d
mov eax, dword [esi + 0x14]
sub eax, 0xe91ab9c5
je 0x40a4f9
jmp 0x409e80
mov eax, dword [esi + 0x14]
sub eax, 0xee49d3f0
je 0x40a421
jmp 0x409e93
mov eax, dword [esi + 0x14]
sub eax, 0xf894b20
je 0x40a6e4
jmp 0x409ea6
mov eax, dword [esi + 0x14]
sub eax, 0x1030d6de
je 0x40a708
jmp 0x409eb9
mov eax, dword [esi + 0x14]
sub eax, 0x1874181e
je 0x40a78b
jmp 0x409ecc
mov eax, dword [esi + 0x14]
sub eax, 0x1efed754
je 0x40a571
jmp 0x409edf
mov eax, dword [esi + 0x14]
sub eax, 0x2afe6d5e
je 0x40a6d8
jmp 0x409ef2
mov eax, dword [esi + 0x14]
sub eax, 0x2ea7194c
je 0x40a2b9
jmp 0x409f05
mov eax, dword [esi + 0x14]
sub eax, 0x2ee70f63
je 0x40a497
jmp 0x409f18
mov eax, dword [esi + 0x14]
sub eax, 0x388a5938
je 0x40a415
jmp 0x409f2b
mov eax, dword [esi + 0x14]
sub eax, 0x38e67e12
je 0x40a4cd
jmp 0x409f3e
mov eax, dword [esi + 0x14]
sub eax, 0x3e8fc444
je 0x40a2dd
jmp 0x409f51
mov eax, dword [esi + 0x14]
sub eax, 0x4a3a86bb
je 0x40a738
jmp 0x409f64
mov eax, dword [esi + 0x14]
sub eax, 0x5510bd20
je 0x40a321
jmp 0x409f77
mov eax, dword [esi + 0x14]
sub eax, 0x603eae60
je 0x40a79d
jmp 0x409f8a
mov eax, dword [esi + 0x14]
sub eax, 0x6104a07e
je 0x40a5f6
jmp 0x409f9d
mov eax, dword [esi + 0x14]
sub eax, 0x685fa1e1
je 0x40a517
jmp 0x409fb0
mov eax, dword [esi + 0x14]
sub eax, 0x68a4b87b
je 0x40a33b
jmp 0x409fc3
mov eax, dword [esi + 0x14]
sub eax, 0x6f6db46b
je 0x40a2d1
jmp 0x409fd6
mov eax, dword [esi + 0x14]
sub eax, 0x70345e2f
je 0x40a523
jmp 0x409fe9
mov eax, dword [esi + 0x14]
sub eax, 0x7340302d
je 0x40a692
jmp 0x409ffc
mov eax, dword [esi + 0x14]
sub eax, 0x7a776015
je 0x40a61f
jmp 0x40a00f
jmp 0x40a7a4
mov bl, byte [esi + 0x42]
mov dh, byte [esi + 0x43]
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xc744f5ef
mov ecx, 0x8d0df55a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x40a7a4
push eax
mov eax, esp
mov dword [esi + 0x44], eax
push eax
mov eax, esp
mov dword [esi + 0x48], eax
push eax
mov eax, esp
mov dword [esi + 0x4c], eax
mov eax, dword [0x45059c]
mov ecx, dword [0x450598]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xc744f5ef
mov ecx, 0x9bd605c3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x40a7a4
mov dword [esi + 0x3c], 0xac28abc1
jmp 0x40a7a4
vmovsd xmm0, qword [esi + 0x30]
vmovsd xmm1, qword [esi + 0x28]
mov edi, dword [esi + 0x24]
mov ecx, dword [esi + 0x1c]
push eax
mov ebx, esp
push eax
mov edx, esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xc], eax
mov esp, eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x10], eax
mov esp, eax
push eax
mov eax, esp
mov dword [esi + 0x50], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x54], eax
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x58], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x5c], eax
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x60], eax
push eax
mov eax, esp
mov dword [esi + 0x64], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x68], eax
push eax
mov eax, esp
mov dword [esi + 0x6c], eax
push eax
mov eax, esp
mov dword [esi + 0x70], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x74], eax
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x78], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x7c], eax
push eax
mov eax, esp
mov dword [esi + 0x80], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x84], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x88], eax
push eax
mov eax, esp
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x44]
mov dword [eax], ecx
mov cl, byte [esi + 0x22]
mov ch, byte [esi + 0x21]
and ch, 1
mov eax, dword [esi + 0x48]
mov byte [eax], ch
and cl, 1
mov eax, dword [esi + 0x4c]
mov byte [eax], cl
mov ecx, dword [esi + 0xc]
mov al, byte [esi + 0x23]
and al, 1
mov byte [ebx], al
mov eax, dword [esi + 0x10]
mov dword [edx], edi
vmovsd qword [ecx], xmm1
vmovsd qword [eax], xmm0
mov dword [esi + 0x3c], 0xd95eec46
jmp 0x40a7a4
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x50]
mov dword [eax], ecx
mov eax, dword [esi + 0x50]
mov eax, dword [esi + 0x54]
vmovsd xmm0, qword [0x42c230]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x58]
lea eax, str.nzmgmrt
sub esp, 4
mov dword [esp], eax
call fcn.00413c50
mov eax, dword [esi + 0x5c]
vmovsd xmm0, qword [0x42c228]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x60]
lea eax, str.kohbjzuqsd
sub esp, 4
mov dword [esp], eax
call fcn.00413c50
mov eax, dword [esi + 0x64]
mov byte [eax], 1
mov ecx, dword [esi + 0x68]
lea eax, str.xmhqlsgfuyywoabmyyhskqgfvctyiatkpmflgipjbxswkseyklkiizshregskndrvtxmhhanruqbgul
sub esp, 4
mov dword [esp], eax
call fcn.00413c50
mov eax, dword [esi + 0x6c]
mov dword [eax], 0x117a
mov eax, dword [esi + 0x70]
mov byte [eax], 0
mov eax, dword [esi + 0x74]
vmovsd xmm0, qword [0x42c220]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x78]
lea eax, str.nzmgmrt
sub esp, 4
mov dword [esp], eax
call fcn.00413c50
mov ecx, dword [esi + 0x7c]
lea eax, str.nzmgmrt
sub esp, 4
mov dword [esp], eax
call fcn.00413c50
mov eax, dword [esi + 0x78]
mov ecx, dword [esi + 0x7c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00414040
add esp, 8
mov byte [esi + 0xb], al
mov ecx, dword [esi + 0x7c]
call fcn.00413fd0
mov ecx, dword [esi + 0x78]
call fcn.00413fd0
mov dl, byte [esi + 0xb]
mov eax, 0xee49d3f0
mov ecx, 0x2ea7194c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x40a7a4
mov eax, dword [esi + 0x80]
mov dword [eax], 0xb
mov dword [esi + 0x3c], 0x6f6db46b
jmp 0x40a7a4
mov dword [esi + 0x3c], 0x3e8fc444
jmp 0x40a7a4
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x90], eax
mov dword [esi + 0x3c], 0xa1aa5b25
jmp 0x40a7a4
mov edx, dword [esi + 0x90]
mov eax, 0x388a5938
mov ecx, 0x8c7c5c8a
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x40a7a4
mov dword [esi + 0x3c], 0x5510bd20
jmp 0x40a7a4
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x94], eax
mov dword [esi + 0x3c], 0x68a4b87b
jmp 0x40a7a4
mov ecx, dword [0x45059c]
mov eax, dword [0x450598]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x4a3a86bb
mov ecx, 0x8363e255
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x40a7a4
mov ecx, dword [esi + 0x94]
sub ecx, 0xb85ce25b
add ecx, 0xffffffff
add ecx, 0xb85ce25b
mov eax, dword [esi + 0x80]
mov dword [eax], ecx
mov eax, dword [0x45059c]
mov ecx, dword [0x450598]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x4a3a86bb
mov ecx, 0xdde24b59
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x40a7a4
mov dword [esi + 0x3c], 0x3e8fc444
jmp 0x40a7a4
mov dword [esi + 0x3c], 0xee49d3f0
jmp 0x40a7a4
mov ecx, dword [esi + 0x84]
lea eax, str.kohbjzuqsd
sub esp, 4
mov dword [esp], eax
call fcn.00413c50
mov ecx, dword [esi + 0x88]
lea eax, str.kohbjzuqsd
sub esp, 4
mov dword [esp], eax
call fcn.00413c50
mov eax, dword [esi + 0x84]
mov ecx, dword [esi + 0x88]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00414040
add esp, 8
and al, 1
mov byte [esi + 0x9a], al
mov ecx, dword [esi + 0x88]
call fcn.00413fd0
mov ecx, dword [esi + 0x84]
call fcn.00413fd0
mov dword [esi + 0x3c], 0x2ee70f63
jmp 0x40a7a4
mov dl, byte [esi + 0x9a]
mov eax, 0xf894b20
mov ecx, 0xe7ea64e0
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x40a7a4
mov eax, dword [esi + 0x8c]
mov dword [eax], 0x20
mov dword [esi + 0x3c], 0x38e67e12
jmp 0x40a7a4
mov dword [esi + 0x3c], 0xd8ba0279
jmp 0x40a7a4
mov eax, dword [esi + 0x8c]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x9b], al
mov dword [esi + 0x3c], 0xe91ab9c5
jmp 0x40a7a4
mov dl, byte [esi + 0x9b]
mov eax, 0x7a776015
mov ecx, 0x685fa1e1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x40a7a4
mov dword [esi + 0x3c], 0x70345e2f
jmp 0x40a7a4
mov eax, dword [0x45059c]
mov ecx, dword [0x450598]
mov edx, eax
add edx, 0xd63f523a
sub edx, 1
sub edx, 0xd63f523a
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x1874181e
mov ecx, 0x1efed754
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x40a7a4
mov eax, dword [esi + 0x8c]
mov eax, dword [eax]
mov dword [esi + 0x9c], eax
mov ecx, dword [0x45059c]
mov eax, dword [0x450598]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x1874181e
mov ecx, 0xd041f653
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x40a7a4
mov dword [esi + 0x3c], 0x6104a07e
jmp 0x40a7a4
mov ecx, dword [esi + 0x9c]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0xffffffff
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [esi + 0x8c]
mov dword [eax], ecx
mov dword [esi + 0x3c], 0xd8ba0279
jmp 0x40a7a4
mov ecx, dword [0x45059c]
mov eax, dword [0x450598]
mov edx, ecx
add edx, 0xc754e589
sub edx, 1
sub edx, 0xc754e589
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x603eae60
mov ecx, 0x7340302d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x40a7a4
mov eax, dword [0x45059c]
mov ecx, dword [0x450598]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x603eae60
mov ecx, 0x2afe6d5e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x40a7a4
mov dword [esi + 0x3c], 0xf894b20
jmp 0x40a7a4
mov ecx, dword [esi + 0x68]
call fcn.00413fd0
mov ecx, dword [esi + 0x60]
call fcn.00413fd0
mov ecx, dword [esi + 0x58]
call fcn.00413fd0
mov dword [esi + 0x3c], 0x1030d6de
jmp 0x40a7a4
mov al, 1
and al, 1
movzx eax, al
mov dword [esi + 4], eax
mov ecx, dword [esi + 0xa0]
xor ecx, ebp
call fcn.0041d6e0
mov eax, dword [esi + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x24
mov dword [esi + 0x3c], 0x8d0df55a
jmp 0x40a7a4
mov eax, dword [esi + 0x94]
mov eax, dword [esi + 0x94]
mov eax, dword [esi + 0x94]
mov eax, dword [esi + 0x94]
mov eax, dword [esi + 0x94]
mov eax, dword [esi + 0x94]
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x94]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0xffffffff
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [esi + 0x80]
mov dword [eax], ecx
mov dword [esi + 0x3c], 0x8363e255
jmp 0x40a7a4
mov eax, dword [esi + 0x8c]
mov dword [esi + 0x3c], 0x1efed754
jmp 0x40a7a4
mov dword [esi + 0x3c], 0x7340302d
jmp 0x409d73