Function at 0x4081c0
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 + 0x54], ecx
vmovsd xmm0, qword [ebp + 0x28]
vmovsd qword [esi + 0x58], xmm0
mov al, byte [ebp + 0x24]
mov byte [esi + 0x64], al
mov al, byte [ebp + 0x20]
mov byte [esi + 0x65], al
mov al, byte [ebp + 0x1c]
mov byte [esi + 0x66], al
mov al, byte [ebp + 0x18]
mov byte [esi + 0x67], al
vmovsd xmm0, qword [ebp + 0x10]
vmovsd qword [esi + 0x68], xmm0
vmovsd xmm0, qword [ebp + 8]
vmovsd qword [esi + 0x70], xmm0
mov eax, dword [0x52d080]
xor eax, ebp
mov dword [esi + 0xa0], eax
mov ecx, dword [0x52e5a4]
mov eax, dword [0x52e5a0]
mov edx, ecx
sub edx, 0x988e8149
sub edx, 1
add edx, 0x988e8149
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x7e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x7f], al
mov dword [esi + 0x78], 0xb60398f7
mov eax, dword [esi + 0x78]
mov dword [esi + 0x50], eax
sub eax, 0xa0329e5d
je 0x4088c6
jmp 0x40826d
mov eax, dword [esi + 0x50]
sub eax, 0xab1aff94
je 0x408732
jmp 0x408280
mov eax, dword [esi + 0x50]
sub eax, 0xaee96c26
je 0x408918
jmp 0x408293
mov eax, dword [esi + 0x50]
sub eax, 0xb000a1c2
je 0x4088d2
jmp 0x4082a6
mov eax, dword [esi + 0x50]
sub eax, 0xb60398f7
je 0x40844d
jmp 0x4082b9
mov eax, dword [esi + 0x50]
sub eax, 0xbf65862b
je 0x40883a
jmp 0x4082cc
mov eax, dword [esi + 0x50]
sub eax, 0xc1ed29c2
je 0x408473
jmp 0x4082df
mov eax, dword [esi + 0x50]
sub eax, 0xc5ffec88
je 0x408820
jmp 0x4082f2
mov eax, dword [esi + 0x50]
sub eax, 0xc6101e2c
je 0x408a90
jmp 0x408305
mov eax, dword [esi + 0x50]
sub eax, 0xd501e44f
je 0x408880
jmp 0x408318
mov eax, dword [esi + 0x50]
sub eax, 0xd7110adc
je 0x40863b
jmp 0x40832b
mov eax, dword [esi + 0x50]
sub eax, 0xe942eb9a
je 0x408679
jmp 0x40833e
mov eax, dword [esi + 0x50]
sub eax, 0xf021b470
je 0x408814
jmp 0x408351
mov eax, dword [esi + 0x50]
sub eax, 0xfc69df7f
je 0x4085c7
jmp 0x408364
mov eax, dword [esi + 0x50]
sub eax, 0x15fd40c0
je 0x408a72
jmp 0x408377
mov eax, dword [esi + 0x50]
sub eax, 0x17349b40
je 0x40865b
jmp 0x40838a
mov eax, dword [esi + 0x50]
sub eax, 0x1cdda803
je 0x4085d3
jmp 0x40839d
mov eax, dword [esi + 0x50]
sub eax, 0x1d006bf1
je 0x408600
jmp 0x4083b0
mov eax, dword [esi + 0x50]
sub eax, 0x2415a135
je 0x408a84
jmp 0x4083c3
mov eax, dword [esi + 0x50]
sub eax, 0x499a842b
je 0x408983
jmp 0x4083d6
mov eax, dword [esi + 0x50]
sub eax, 0x5351d6c8
je 0x40878c
jmp 0x4083e9
mov eax, dword [esi + 0x50]
sub eax, 0x56e3bd5f
je 0x408a66
jmp 0x4083fc
mov eax, dword [esi + 0x50]
sub eax, 0x5af62ae8
je 0x40873e
jmp 0x40840f
mov eax, dword [esi + 0x50]
sub eax, 0x647cdaa1
je 0x408621
jmp 0x408422
mov eax, dword [esi + 0x50]
sub eax, 0x66e866f9
je 0x4089a6
jmp 0x408435
mov eax, dword [esi + 0x50]
sub eax, 0x7e46a732
je 0x4086bf
jmp 0x408448
jmp 0x408a97
mov al, byte [esi + 0x7e]
mov cl, byte [esi + 0x7f]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x66e866f9
mov ecx, 0xc1ed29c2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x78], eax
jmp 0x408a97
vmovsd xmm0, qword [esi + 0x70]
vmovsd xmm1, qword [esi + 0x68]
vmovsd xmm2, qword [esi + 0x58]
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x30], eax
mov esp, eax
push eax
mov ecx, esp
push eax
mov eax, esp
mov dword [esi + 0x34], eax
push eax
mov eax, esp
mov dword [esi + 0x38], eax
push eax
mov eax, esp
mov dword [esi + 0x3c], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x44], eax
mov esp, eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x48], eax
mov esp, eax
push eax
mov ebx, esp
push eax
mov edi, esp
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [esi + 0x40], eax
push eax
mov eax, esp
mov dword [esi + 0x4c], eax
push eax
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
push eax
mov eax, esp
mov dword [esi + 0x8c], eax
push eax
mov eax, esp
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x30]
vmovsd qword [eax], xmm2
mov al, byte [esi + 0x64]
and al, 1
mov byte [ecx], al
mov eax, dword [esi + 0x34]
mov cl, byte [esi + 0x65]
and cl, 1
mov byte [eax], cl
mov ecx, dword [esi + 0x38]
mov al, byte [esi + 0x66]
and al, 1
mov byte [ecx], al
mov eax, dword [esi + 0x3c]
mov cl, byte [esi + 0x67]
and cl, 1
mov byte [eax], cl
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
vmovsd qword [eax], xmm1
mov eax, dword [esi + 0x48]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x54]
mov dword [ebx], eax
mov eax, dword [esi + 0x4c]
mov byte [edi], 0
mov byte [edx], 0
mov byte [ecx], 1
mov dword [eax], 0x61f
mov ecx, dword [0x52e5a4]
mov eax, dword [0x52e5a0]
mov edx, ecx
sub edx, 0xa8280a61
sub edx, 1
add edx, 0xa8280a61
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, 0x66e866f9
mov ecx, 0xfc69df7f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x78], eax
jmp 0x408a97
mov dword [esi + 0x78], 0x1cdda803
jmp 0x408a97
mov eax, dword [esi + 0x80]
mov dword [eax], 0x122f
mov eax, dword [esi + 0x84]
mov byte [eax], 1
mov eax, dword [esi + 0x88]
mov dword [eax], 0xef8
mov dword [esi + 0x78], 0x1d006bf1
jmp 0x408a97
mov eax, dword [esi + 0x8c]
mov byte [eax], 0
mov eax, dword [esi + 0x90]
mov dword [eax], 0xa
mov dword [esi + 0x78], 0x647cdaa1
jmp 0x408a97
mov eax, dword [esi + 0x90]
mov eax, dword [eax]
mov dword [esi + 0x94], eax
mov dword [esi + 0x78], 0xd7110adc
jmp 0x408a97
mov eax, dword [esi + 0x94]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x9b], al
mov dword [esi + 0x78], 0x17349b40
jmp 0x408a97
mov dl, byte [esi + 0x9b]
mov eax, 0xb000a1c2
mov ecx, 0xe942eb9a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x78], eax
jmp 0x408a97
mov eax, dword [0x52e5a4]
mov ecx, dword [0x52e5a0]
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, 0x56e3bd5f
mov ecx, 0x7e46a732
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x78], eax
jmp 0x408a97
mov ecx, dword [0x52e5a4]
mov eax, dword [0x52e5a0]
mov edx, ecx
add edx, 0x28f7a72f
sub edx, 1
sub edx, 0x28f7a72f
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, 0x56e3bd5f
mov ecx, 0xab1aff94
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x78], eax
jmp 0x408a97
mov dword [esi + 0x78], 0x5af62ae8
jmp 0x408a97
mov eax, dword [0x52e5a4]
mov ecx, dword [0x52e5a0]
mov edx, eax
sub edx, 0xbcebbd93
sub edx, 1
add edx, 0xbcebbd93
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, 0x15fd40c0
mov ecx, 0x5351d6c8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x78], eax
jmp 0x408a97
mov eax, dword [esi + 0x90]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0xffffffff
sub eax, ecx
mov dword [esi + 0x9c], eax
mov ecx, dword [0x52e5a4]
mov eax, dword [0x52e5a0]
mov edx, ecx
sub edx, 0x67f0e569
sub edx, 1
add edx, 0x67f0e569
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, 0x15fd40c0
mov ecx, 0xf021b470
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x78], eax
jmp 0x408a97
mov dword [esi + 0x78], 0xc5ffec88
jmp 0x408a97
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x9c]
mov dword [eax], ecx
mov dword [esi + 0x78], 0xbf65862b
jmp 0x408a97
mov eax, dword [0x52e5a4]
mov ecx, dword [0x52e5a0]
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, 0x2415a135
mov ecx, 0xd501e44f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x78], eax
jmp 0x408a97
mov eax, dword [0x52e5a4]
mov ecx, dword [0x52e5a0]
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, 0x2415a135
mov ecx, 0xa0329e5d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x78], eax
jmp 0x408a97
mov dword [esi + 0x78], 0x647cdaa1
jmp 0x408a97
mov eax, dword [0x52e5a4]
mov ecx, dword [0x52e5a0]
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, 0xc6101e2c
mov ecx, 0xaee96c26
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x78], eax
jmp 0x408a97
mov ecx, dword [0x52e5a4]
mov eax, dword [0x52e5a0]
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, 0xc6101e2c
mov ecx, 0x499a842b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x78], eax
jmp 0x408a97
fld dword [0x42c238]
fstp xword [esi + 0x24]
mov ecx, dword [esi + 0xa0]
xor ecx, ebp
call fcn.0041cb50
fld xword [esi + 0x24]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x28
vmovsd xmm0, qword [esi + 0x70]
vmovsd xmm1, qword [esi + 0x68]
vmovsd xmm2, qword [esi + 0x58]
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 4], eax
mov esp, eax
push eax
mov ecx, esp
push eax
mov eax, esp
mov dword [esi + 8], eax
push eax
mov eax, esp
mov dword [esi + 0xc], eax
push eax
mov eax, esp
mov dword [esi + 0x10], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x18], eax
mov esp, eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x1c], eax
mov esp, eax
push eax
mov ebx, esp
push eax
mov edi, esp
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [esi + 0x14], eax
push eax
mov eax, esp
mov dword [esi + 0x20], eax
mov eax, dword [esi + 4]
vmovsd qword [eax], xmm2
mov al, byte [esi + 0x64]
and al, 1
mov byte [ecx], al
mov eax, dword [esi + 8]
mov cl, byte [esi + 0x65]
and cl, 1
mov byte [eax], cl
mov ecx, dword [esi + 0xc]
mov al, byte [esi + 0x66]
and al, 1
mov byte [ecx], al
mov eax, dword [esi + 0x10]
mov cl, byte [esi + 0x67]
and cl, 1
mov byte [eax], cl
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
vmovsd qword [eax], xmm1
mov eax, dword [esi + 0x1c]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x54]
mov dword [ebx], eax
mov eax, dword [esi + 0x20]
mov byte [edi], 0
mov byte [edx], 0
mov byte [ecx], 1
mov dword [eax], 0x61f
mov dword [esi + 0x78], 0xc1ed29c2
jmp 0x408a97
mov dword [esi + 0x78], 0x7e46a732
jmp 0x408a97
mov eax, dword [esi + 0x90]
mov dword [esi + 0x78], 0x5351d6c8
jmp 0x408a97
mov dword [esi + 0x78], 0xd501e44f
jmp 0x408a97
mov dword [esi + 0x78], 0xaee96c26
jmp 0x408257