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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb8
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 [0x479080]
xor eax, ebp
mov dword [esi + 0xb0], eax
mov dword [esi + 0x3c], 0xcabd844f
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x14], eax
sub eax, 0x88110cc5
je 0x409530
jmp 0x408f40
mov eax, dword [esi + 0x14]
sub eax, 0x8a44a58f
je 0x4095c1
jmp 0x408f53
mov eax, dword [esi + 0x14]
sub eax, 0x8db01789
je 0x4094a4
jmp 0x408f66
mov eax, dword [esi + 0x14]
sub eax, 0x8e5e1fbc
je 0x409777
jmp 0x408f79
mov eax, dword [esi + 0x14]
sub eax, 0x9003a03e
je 0x4099d0
jmp 0x408f8c
mov eax, dword [esi + 0x14]
sub eax, 0x9110c816
je 0x4096a7
jmp 0x408f9f
mov eax, dword [esi + 0x14]
sub eax, 0xaad0c0d3
je 0x40997b
jmp 0x408fb2
mov eax, dword [esi + 0x14]
sub eax, 0xaad31842
je 0x4094c4
jmp 0x408fc5
mov eax, dword [esi + 0x14]
sub eax, 0xae2211f0
je 0x409498
jmp 0x408fd8
mov eax, dword [esi + 0x14]
sub eax, 0xaf9a6eb2
je 0x4099e8
jmp 0x408feb
mov eax, dword [esi + 0x14]
sub eax, 0xafb75b33
je 0x409961
jmp 0x408ffe
mov eax, dword [esi + 0x14]
sub eax, 0xb57cd9c5
je 0x409634
jmp 0x409011
mov eax, dword [esi + 0x14]
sub eax, 0xcabd844f
je 0x4091f1
jmp 0x409024
mov eax, dword [esi + 0x14]
sub eax, 0xd4b67a3b
je 0x409a17
jmp 0x409037
mov eax, dword [esi + 0x14]
sub eax, 0xdf0d272d
je 0x40984e
jmp 0x40904a
mov eax, dword [esi + 0x14]
sub eax, 0xed18db4c
je 0x409480
jmp 0x40905d
mov eax, dword [esi + 0x14]
sub eax, 0xf3d08748
je 0x409a23
jmp 0x409070
mov eax, dword [esi + 0x14]
sub eax, 0xf3f28cde
je 0x40968f
jmp 0x409083
mov eax, dword [esi + 0x14]
sub eax, 0xf4aa8038
je 0x409934
jmp 0x409096
mov eax, dword [esi + 0x14]
sub eax, 0xf4c0f6f8
je 0x4096e1
jmp 0x4090a9
mov eax, dword [esi + 0x14]
sub eax, 0xfea1466d
je 0x40999e
jmp 0x4090bc
mov eax, dword [esi + 0x14]
sub eax, 0xfad8d24
je 0x409733
jmp 0x4090cf
mov eax, dword [esi + 0x14]
sub eax, 0x20b48c41
je 0x409830
jmp 0x4090e2
mov eax, dword [esi + 0x14]
sub eax, 0x25643bb8
je 0x40923f
jmp 0x4090f5
mov eax, dword [esi + 0x14]
sub eax, 0x3bdcf4b8
je 0x409987
jmp 0x409108
mov eax, dword [esi + 0x14]
sub eax, 0x47dfb295
je 0x4095a7
jmp 0x40911b
mov eax, dword [esi + 0x14]
sub eax, 0x5da0475e
je 0x409940
jmp 0x40912e
mov eax, dword [esi + 0x14]
sub eax, 0x67bff9c3
je 0x4098c1
jmp 0x409141
mov eax, dword [esi + 0x14]
sub eax, 0x69b8f668
je 0x409310
jmp 0x409154
mov eax, dword [esi + 0x14]
sub eax, 0x6c46fae3
je 0x40974b
jmp 0x409167
mov eax, dword [esi + 0x14]
sub eax, 0x6f748287
je 0x40969b
jmp 0x40917a
mov eax, dword [esi + 0x14]
sub eax, 0x704ff507
je 0x4097c5
jmp 0x40918d
mov eax, dword [esi + 0x14]
sub eax, 0x708d2df2
je 0x40959b
jmp 0x4091a0
mov eax, dword [esi + 0x14]
sub eax, 0x7910d38c
je 0x409304
jmp 0x4091b3
mov eax, dword [esi + 0x14]
sub eax, 0x7c4d356f
je 0x409757
jmp 0x4091c6
mov eax, dword [esi + 0x14]
sub eax, 0x7e16d4d7
je 0x4094e2
jmp 0x4091d9
mov eax, dword [esi + 0x14]
sub eax, 0x7f43294e
je 0x4099dc
jmp 0x4091ec
jmp 0x409a2a
mov eax, dword [0x47a5cc]
mov ecx, dword [0x47a5c8]
mov edx, eax
sub edx, 0xbab6cbc7
sub edx, 1
add edx, 0xbab6cbc7
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, 0x9003a03e
mov ecx, 0x25643bb8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409a2a
push eax
sub esp, 0x14
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
push eax
mov eax, esp
mov dword [esi + 0x7c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x80], eax
push eax
mov eax, esp
mov dword [esi + 0x84], eax
push eax
mov eax, esp
mov dword [esi + 0x88], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x8c], eax
mov ecx, dword [0x47a5cc]
mov eax, dword [0x47a5c8]
mov edx, ecx
sub edx, 0xcf9253f
sub edx, 1
add edx, 0xcf9253f
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, 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, 0x9003a03e
mov ecx, 0x7910d38c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409a2a
mov dword [esi + 0x3c], 0x69b8f668
jmp 0x409a2a
vmovsd xmm0, qword [esi + 0x30]
vmovsd xmm1, qword [esi + 0x28]
mov ecx, dword [esi + 0x24]
mov dl, byte [esi + 0x23]
mov dh, byte [esi + 0x22]
mov bl, byte [esi + 0x21]
mov edi, dword [esi + 0x1c]
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0xc], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 8], eax
push eax
mov eax, esp
mov dword [esi + 0x90], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x94], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x98], eax
push eax
mov eax, esp
mov dword [esi + 0x9c], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x6c], edi
and bl, 1
mov byte [esi + 0x6b], bl
and dh, 1
mov byte [esi + 0x6a], dh
and dl, 1
mov byte [esi + 0x69], dl
mov dword [esi + 0x64], ecx
vmovsd qword [esi + 0x58], xmm1
vmovsd qword [esi + 0x50], xmm0
mov dword [esi + 0x4c], eax
vmovsd xmm0, qword [0x42c230]
vmovsd qword [esi + 0x40], xmm0
mov ecx, dword [esi + 0x70]
lea eax, str.nzmgmrt
sub esp, 4
mov dword [esp], eax
call fcn.00412f60
mov eax, dword [esi + 0x74]
vmovsd xmm0, qword [0x42c228]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x78]
lea eax, str.kohbjzuqsd
sub esp, 4
mov dword [esp], eax
call fcn.00412f60
mov eax, dword [esi + 0x7c]
mov byte [eax], 1
mov ecx, dword [esi + 0x80]
lea eax, str.xmhqlsgfuyywoabmyyhskqgfvctyiatkpmflgipjbxswkseyklkiizshregskndrvtxmhhanruqbgul
sub esp, 4
mov dword [esp], eax
call fcn.00412f60
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x84]
mov dword [eax], 0x117a
mov eax, dword [esi + 0x88]
mov byte [eax], 0
mov eax, dword [esi + 0x8c]
vmovsd xmm0, qword [0x42c220]
vmovsd qword [eax], xmm0
lea eax, str.nzmgmrt
sub esp, 4
mov dword [esp], eax
call fcn.00412f60
mov ecx, dword [esi + 8]
lea eax, str.nzmgmrt
sub esp, 4
mov dword [esp], eax
call fcn.00412f60
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00413260
mov ecx, dword [esi + 8]
add esp, 8
mov byte [esi + 0x13], al
call fcn.004130c0
mov ecx, dword [esi + 0xc]
call fcn.004130c0
mov dl, byte [esi + 0x13]
mov eax, 0x9110c816
mov ecx, 0xed18db4c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409a2a
mov eax, dword [esi + 0x90]
mov dword [eax], 0xb
mov dword [esi + 0x3c], 0xae2211f0
jmp 0x409a2a
mov dword [esi + 0x3c], 0x8db01789
jmp 0x409a2a
mov eax, dword [esi + 0x90]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0xa3], al
mov dword [esi + 0x3c], 0xaad31842
jmp 0x409a2a
mov dl, byte [esi + 0xa3]
mov eax, 0x6f748287
mov ecx, 0x7e16d4d7
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409a2a
mov eax, dword [0x47a5cc]
mov ecx, dword [0x47a5c8]
mov edx, eax
add edx, 0x1e152993
sub edx, 1
sub edx, 0x1e152993
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, 0x7f43294e
mov ecx, 0x88110cc5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409a2a
mov ecx, dword [0x47a5cc]
mov eax, dword [0x47a5c8]
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, 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, 0x7f43294e
mov ecx, 0x708d2df2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409a2a
mov dword [esi + 0x3c], 0x47dfb295
jmp 0x409a2a
mov eax, dword [esi + 0x90]
mov eax, dword [eax]
mov dword [esi + 0xa4], eax
mov dword [esi + 0x3c], 0x8a44a58f
jmp 0x409a2a
mov ecx, dword [0x47a5cc]
mov eax, dword [0x47a5c8]
mov edx, ecx
sub edx, 0xd40bc914
sub edx, 1
add edx, 0xd40bc914
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, 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, 0xaf9a6eb2
mov ecx, 0xb57cd9c5
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409a2a
mov ecx, dword [esi + 0xa4]
xor eax, eax
sub eax, 0xffffffff
sub ecx, eax
mov eax, dword [esi + 0x90]
mov dword [eax], ecx
mov eax, dword [0x47a5cc]
mov ecx, dword [0x47a5c8]
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, 0xaf9a6eb2
mov ecx, 0xf3f28cde
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409a2a
mov dword [esi + 0x3c], 0x8db01789
jmp 0x409a2a
mov dword [esi + 0x3c], 0x9110c816
jmp 0x409a2a
mov ecx, dword [esi + 0x94]
lea eax, str.kohbjzuqsd
sub esp, 4
mov dword [esp], eax
call fcn.00412f60
mov ecx, dword [esi + 0x98]
lea eax, str.kohbjzuqsd
sub esp, 4
mov dword [esp], eax
call fcn.00412f60
mov dword [esi + 0x3c], 0xf4c0f6f8
jmp 0x409a2a
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x98]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00413260
add esp, 8
mov byte [esi + 7], al
mov ecx, dword [esi + 0x98]
call fcn.004130c0
mov ecx, dword [esi + 0x94]
call fcn.004130c0
mov dl, byte [esi + 7]
mov eax, 0x3bdcf4b8
mov ecx, 0xfad8d24
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409a2a
mov eax, dword [esi + 0x9c]
mov dword [eax], 0x20
mov dword [esi + 0x3c], 0x6c46fae3
jmp 0x409a2a
mov dword [esi + 0x3c], 0x7c4d356f
jmp 0x409a2a
mov eax, dword [esi + 0x9c]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0xab], al
mov dword [esi + 0x3c], 0x8e5e1fbc
jmp 0x409a2a
mov eax, dword [0x47a5cc]
mov ecx, dword [0x47a5c8]
mov edx, eax
sub edx, 0xd782ef34
sub edx, 1
add edx, 0xd782ef34
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, 0xd4b67a3b
mov ecx, 0x704ff507
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409a2a
mov ecx, dword [0x47a5cc]
mov eax, dword [0x47a5c8]
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, 0xd4b67a3b
mov ecx, 0x20b48c41
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409a2a
mov dl, byte [esi + 0xab]
mov eax, 0xaad0c0d3
mov ecx, 0xdf0d272d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409a2a
mov ecx, dword [0x47a5cc]
mov eax, dword [0x47a5c8]
mov edx, ecx
add edx, 0xf6966fac
sub edx, 1
sub edx, 0xf6966fac
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, 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, 0xf3d08748
mov ecx, 0x67bff9c3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409a2a
mov ecx, dword [0x47a5cc]
mov eax, dword [0x47a5c8]
mov edx, ecx
sub edx, 0x22319931
sub edx, 1
add edx, 0x22319931
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, 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, 0xf3d08748
mov ecx, 0xf4aa8038
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409a2a
mov dword [esi + 0x3c], 0x5da0475e
jmp 0x409a2a
mov eax, dword [esi + 0x9c]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0xffffffff
sub eax, ecx
mov dword [esi + 0xac], eax
mov dword [esi + 0x3c], 0xafb75b33
jmp 0x409a2a
mov eax, dword [esi + 0x9c]
mov ecx, dword [esi + 0xac]
mov dword [eax], ecx
mov dword [esi + 0x3c], 0x7c4d356f
jmp 0x409a2a
mov dword [esi + 0x3c], 0x3bdcf4b8
jmp 0x409a2a
mov ecx, dword [esi + 0x80]
call fcn.004130c0
mov dword [esi + 0x3c], 0xfea1466d
jmp 0x409a2a
mov ecx, dword [esi + 0x78]
call fcn.004130c0
mov ecx, dword [esi + 0x70]
call fcn.004130c0
mov al, 1
and al, 1
movzx eax, al
mov dword [esi], eax
mov ecx, dword [esi + 0xb0]
xor ecx, ebp
call fcn.0041cac0
mov eax, dword [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x24
mov dword [esi + 0x3c], 0x25643bb8
jmp 0x409a2a
mov dword [esi + 0x3c], 0x88110cc5
jmp 0x409a2a
mov eax, dword [esi + 0xa4]
mov ecx, dword [esi + 0xa4]
sub ecx, 0x95808f4c
add ecx, 0xffffffff
add ecx, 0x95808f4c
mov eax, dword [esi + 0x90]
mov dword [eax], ecx
mov dword [esi + 0x3c], 0xb57cd9c5
jmp 0x409a2a
mov dword [esi + 0x3c], 0x704ff507
jmp 0x409a2a
mov dword [esi + 0x3c], 0x67bff9c3
jmp 0x408f2a