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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x98
mov esi, esp
mov dword [esi + 4], ecx
vmovsd xmm0, qword [ebp + 0x28]
vmovsd qword [esi + 8], xmm0
mov eax, dword [ebp + 0x24]
mov dword [esi + 0x14], eax
mov eax, dword [ebp + 0x20]
mov dword [esi + 0x18], eax
mov al, byte [ebp + 0x1c]
mov byte [esi + 0x1f], al
vmovsd xmm0, qword [ebp + 0x14]
vmovsd qword [esi + 0x20], xmm0
mov al, byte [ebp + 0x10]
mov byte [esi + 0x2f], al
vmovsd xmm0, qword [ebp + 8]
vmovsd qword [esi + 0x30], xmm0
mov eax, dword [0x43e080]
xor eax, ebp
mov dword [esi + 0x90], eax
mov ecx, dword [0x43f594]
mov eax, dword [0x43f590]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
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], 0x59011f12
mov eax, dword [esi + 0x3c]
mov dword [esi], eax
sub eax, 0x862efc65
je 0x409b46
jmp 0x4095d4
mov eax, dword [esi]
sub eax, 0x871c352c
je 0x409b3a
jmp 0x4095e6
mov eax, dword [esi]
sub eax, 0x94ae2857
je 0x409c4a
jmp 0x4095f8
mov eax, dword [esi]
sub eax, 0x9a1a6695
je 0x409a42
jmp 0x40960a
mov eax, dword [esi]
sub eax, 0xa14ffc65
je 0x409b89
jmp 0x40961c
mov eax, dword [esi]
sub eax, 0xa64f8ac1
je 0x409c56
jmp 0x40962e
mov eax, dword [esi]
sub eax, 0xa914da52
je 0x409942
jmp 0x409640
mov eax, dword [esi]
sub eax, 0xb5d59038
je 0x409c6a
jmp 0x409652
mov eax, dword [esi]
sub eax, 0xb68c88e8
je 0x409b60
jmp 0x409664
mov eax, dword [esi]
sub eax, 0xb7642478
je 0x409d26
jmp 0x409676
mov eax, dword [esi]
sub eax, 0xdbbcc03d
je 0x409c8d
jmp 0x409688
mov eax, dword [esi]
sub eax, 0xe1f9b6a6
je 0x409b1c
jmp 0x40969a
mov eax, dword [esi]
sub eax, 0xe4198791
je 0x40982c
jmp 0x4096ac
mov eax, dword [esi]
sub eax, 0xe47c2752
je 0x409a4e
jmp 0x4096be
mov eax, dword [esi]
sub eax, 0xe5ee394b
je 0x409b10
jmp 0x4096d0
mov eax, dword [esi]
sub eax, 0xf3cc5b95
je 0x409820
jmp 0x4096e2
mov eax, dword [esi]
sub eax, 0x818c73c
je 0x409a68
jmp 0x4096f4
mov eax, dword [esi]
sub eax, 0x19ceabe9
je 0x4098cf
jmp 0x409706
mov eax, dword [esi]
sub eax, 0x3c43a073
je 0x409bfc
jmp 0x409718
mov eax, dword [esi]
sub eax, 0x415cdf58
je 0x409aae
jmp 0x40972a
mov eax, dword [esi]
sub eax, 0x43b851cc
je 0x409d38
jmp 0x40973c
mov eax, dword [esi]
sub eax, 0x46f548be
je 0x40979d
jmp 0x40974e
mov eax, dword [esi]
sub eax, 0x59011f12
je 0x409777
jmp 0x409760
mov eax, dword [esi]
sub eax, 0x7bc185fc
je 0x409c81
jmp 0x409772
jmp 0x409d3f
mov al, byte [esi + 0x42]
mov cl, byte [esi + 0x43]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x7bc185fc
mov ecx, 0x46f548be
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409d3f
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
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 ecx, dword [0x43f594]
mov eax, dword [0x43f590]
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, 0x7bc185fc
mov ecx, 0xf3cc5b95
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409d3f
mov dword [esi + 0x3c], 0xe4198791
jmp 0x409d3f
mov cl, byte [esi + 0x1f]
mov edi, dword [esi + 0x18]
mov ebx, dword [esi + 0x14]
vmovsd xmm0, qword [esi + 8]
push eax
mov eax, esp
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
mov dword [esi + 0x50], edx
push eax
mov edx, esp
mov dword [esi + 0x54], edx
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
mov dword [esi + 0x58], edx
push eax
mov edx, esp
mov dword [esi + 0x5c], edx
push eax
mov edx, esp
mov dword [esi + 0x60], edx
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
mov dword [esi + 0x64], edx
push eax
mov edx, esp
mov dword [esi + 0x68], edx
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov esp, edx
mov dword [esi + 0x6c], edx
push eax
sub esp, 0x14
mov edx, esp
mov dword [esi + 0x70], edx
push eax
mov edx, esp
mov dword [esi + 0x74], edx
push eax
mov edx, esp
mov dword [esi + 0x78], edx
push eax
mov edx, esp
mov dword [esi + 0x7c], edx
push eax
mov edx, esp
mov dword [esi + 0x80], edx
mov edx, dword [esi + 0x44]
vmovsd qword [edx], xmm0
mov edx, dword [esi + 0x48]
mov dword [edx], ebx
mov edx, dword [esi + 0x4c]
mov dword [edx], edi
and cl, 1
mov byte [eax], cl
mov dword [esi + 0x3c], 0x19ceabe9
jmp 0x409d3f
mov ecx, dword [0x43f594]
mov eax, dword [0x43f590]
mov edx, ecx
sub edx, 0x2343128f
sub edx, 1
add edx, 0x2343128f
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, 0xdbbcc03d
mov ecx, 0xa914da52
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409d3f
mov ecx, dword [esi + 4]
vmovsd xmm0, qword [esi + 0x30]
mov dl, byte [esi + 0x2f]
vmovsd xmm1, qword [esi + 0x20]
mov eax, dword [esi + 0x50]
vmovsd qword [eax], xmm1
and dl, 1
mov eax, dword [esi + 0x54]
mov byte [eax], dl
mov eax, dword [esi + 0x58]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x5c]
mov dword [eax], ecx
mov eax, dword [esi + 0x5c]
mov eax, dword [esi + 0x60]
mov dword [eax], 0xc48
mov eax, dword [esi + 0x64]
vmovsd xmm0, qword [0x436208]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x68]
mov byte [eax], 1
mov eax, dword [esi + 0x6c]
vmovsd xmm0, qword [0x436200]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x70]
lea eax, str.impmvefpmyflrqdfzkrxpkmnxigeqtkcupzjyctcrmlsmk
sub esp, 4
mov dword [esp], eax
call fcn.0041b7f0
mov eax, dword [esi + 0x74]
mov byte [eax], 0
mov eax, dword [esi + 0x78]
mov byte [eax], 0
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
mov eax, dword [esi + 0x80]
mov dword [eax], 0x55
mov ecx, dword [0x43f594]
mov eax, dword [0x43f590]
mov edx, ecx
sub edx, 0x7fc073f1
sub edx, 1
add edx, 0x7fc073f1
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, 0xdbbcc03d
mov ecx, 0x9a1a6695
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409d3f
mov dword [esi + 0x3c], 0xe47c2752
jmp 0x409d3f
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x84], eax
mov dword [esi + 0x3c], 0x818c73c
jmp 0x409d3f
mov eax, dword [0x43f594]
mov ecx, dword [0x43f590]
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, 0xb7642478
mov ecx, 0x415cdf58
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409d3f
mov eax, dword [esi + 0x84]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x8b], al
mov eax, dword [0x43f594]
mov ecx, dword [0x43f590]
mov edx, eax
sub edx, 0x7b3e3754
sub edx, 1
add edx, 0x7b3e3754
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, 0xb7642478
mov ecx, 0xe5ee394b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409d3f
mov dword [esi + 0x3c], 0xe1f9b6a6
jmp 0x409d3f
mov dl, byte [esi + 0x8b]
mov eax, 0xa64f8ac1
mov ecx, 0x871c352c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409d3f
mov dword [esi + 0x3c], 0x862efc65
jmp 0x409d3f
mov eax, dword [esi + 0x80]
mov eax, dword [eax]
mov dword [esi + 0x8c], eax
mov dword [esi + 0x3c], 0xb68c88e8
jmp 0x409d3f
mov ecx, dword [esi + 0x8c]
sub ecx, 0xe3a3b955
add ecx, 0xffffffff
add ecx, 0xe3a3b955
mov eax, dword [esi + 0x80]
mov dword [eax], ecx
mov dword [esi + 0x3c], 0xa14ffc65
jmp 0x409d3f
mov ecx, dword [0x43f594]
mov eax, dword [0x43f590]
mov edx, ecx
add edx, 0xa5cca56f
sub edx, 1
sub edx, 0xa5cca56f
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, 0x43b851cc
mov ecx, 0x3c43a073
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409d3f
mov eax, dword [0x43f594]
mov ecx, dword [0x43f590]
mov edx, eax
sub edx, 0x83defd5f
sub edx, 1
add edx, 0x83defd5f
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, 0x43b851cc
mov ecx, 0x94ae2857
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x409d3f
mov dword [esi + 0x3c], 0xe47c2752
jmp 0x409d3f
mov ecx, dword [esi + 0x70]
call fcn.0041bb50
mov dword [esi + 0x3c], 0xb5d59038
jmp 0x409d3f
mov ecx, dword [esi + 0x90]
xor ecx, ebp
call fcn.00426b40
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x28
mov dword [esi + 0x3c], 0x46f548be
jmp 0x409d3f
mov ecx, dword [esi + 4]
vmovsd xmm0, qword [esi + 0x30]
mov dl, byte [esi + 0x2f]
vmovsd xmm1, qword [esi + 0x20]
mov eax, dword [esi + 0x50]
vmovsd qword [eax], xmm1
and dl, 1
mov eax, dword [esi + 0x54]
mov byte [eax], dl
mov eax, dword [esi + 0x58]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x5c]
mov dword [eax], ecx
mov eax, dword [esi + 0x5c]
mov eax, dword [esi + 0x60]
mov dword [eax], 0xc48
mov eax, dword [esi + 0x64]
vmovsd xmm0, qword [0x436208]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x68]
mov byte [eax], 1
mov eax, dword [esi + 0x6c]
vmovsd xmm0, qword [0x436200]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x70]
lea eax, str.impmvefpmyflrqdfzkrxpkmnxigeqtkcupzjyctcrmlsmk
sub esp, 4
mov dword [esp], eax
call fcn.0041b7f0
mov eax, dword [esi + 0x74]
mov byte [eax], 0
mov eax, dword [esi + 0x78]
mov byte [eax], 0
mov eax, dword [esi + 0x7c]
mov byte [eax], 0
mov eax, dword [esi + 0x80]
mov dword [eax], 0x55
mov dword [esi + 0x3c], 0xa914da52
jmp 0x409d3f
mov eax, dword [esi + 0x84]
mov dword [esi + 0x3c], 0x415cdf58
jmp 0x409d3f
mov dword [esi + 0x3c], 0x3c43a073
jmp 0x4095bf