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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x80
mov esi, esp
mov dword [esi + 0x2c], ecx
vmovsd xmm0, qword [ebp + 8]
vmovsd qword [esi + 0x30], xmm0
mov eax, dword [0x52d080]
xor eax, ebp
mov dword [esi + 0x78], eax
mov dword [esi + 0x3c], 0x70488021
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x28], eax
sub eax, 0x8a501bf1
je 0x40787e
jmp 0x407185
mov eax, dword [esi + 0x28]
sub eax, 0x951ed5de
je 0x407974
jmp 0x407198
mov eax, dword [esi + 0x28]
sub eax, 0x98c4f11d
je 0x4075c1
jmp 0x4071ab
mov eax, dword [esi + 0x28]
sub eax, 0x9f9e3e0e
je 0x407857
jmp 0x4071be
mov eax, dword [esi + 0x28]
sub eax, 0xa387b68d
je 0x407748
jmp 0x4071d1
mov eax, dword [esi + 0x28]
sub eax, 0xb2b38abd
je 0x4078cc
jmp 0x4071e4
mov eax, dword [esi + 0x28]
sub eax, 0xb5a6b014
je 0x407950
jmp 0x4071f7
mov eax, dword [esi + 0x28]
sub eax, 0xbec4a5f1
je 0x407649
jmp 0x40720a
mov eax, dword [esi + 0x28]
sub eax, 0xbf3aa5cb
je 0x407843
jmp 0x40721d
mov eax, dword [esi + 0x28]
sub eax, 0xc0c4d586
je 0x407677
jmp 0x407230
mov eax, dword [esi + 0x28]
sub eax, 0xc69d2bdb
je 0x40765d
jmp 0x407243
mov eax, dword [esi + 0x28]
sub eax, 0xcdf94332
je 0x407837
jmp 0x407256
mov eax, dword [esi + 0x28]
sub eax, 0xd1bda747
je 0x407567
jmp 0x407269
mov eax, dword [esi + 0x28]
sub eax, 0xe24340fe
je 0x407822
jmp 0x40727c
mov eax, dword [esi + 0x28]
sub eax, 0xeef3a861
je 0x407988
jmp 0x40728f
mov eax, dword [esi + 0x28]
sub eax, 0xef79c773
je 0x407968
jmp 0x4072a2
mov eax, dword [esi + 0x28]
sub eax, 0x8a64d88
je 0x407872
jmp 0x4072b5
mov eax, dword [esi + 0x28]
sub eax, 0x942bf29
je 0x407692
jmp 0x4072c8
mov eax, dword [esi + 0x28]
sub eax, 0xa3d85ee
je 0x4077ba
jmp 0x4072db
mov eax, dword [esi + 0x28]
sub eax, 0x16b53e2f
je 0x407a3e
jmp 0x4072ee
mov eax, dword [esi + 0x28]
sub eax, 0x26479d69
je 0x40778e
jmp 0x407301
mov eax, dword [esi + 0x28]
sub eax, 0x285aa5b7
je 0x40795c
jmp 0x407314
mov eax, dword [esi + 0x28]
sub eax, 0x3aad5c36
je 0x4079b1
jmp 0x407327
mov eax, dword [esi + 0x28]
sub eax, 0x47201f7c
je 0x40779a
jmp 0x40733a
mov eax, dword [esi + 0x28]
sub eax, 0x4e03a7d0
je 0x40763d
jmp 0x40734d
mov eax, dword [esi + 0x28]
sub eax, 0x56411afd
je 0x4077f7
jmp 0x407360
mov eax, dword [esi + 0x28]
sub eax, 0x5ba74403
je 0x407a5f
jmp 0x407373
mov eax, dword [esi + 0x28]
sub eax, 0x68132f33
je 0x407470
jmp 0x407386
mov eax, dword [esi + 0x28]
sub eax, 0x6ac459cc
je 0x4076c1
jmp 0x407399
mov eax, dword [esi + 0x28]
sub eax, 0x6c02e146
je 0x40769e
jmp 0x4073ac
mov eax, dword [esi + 0x28]
sub eax, 0x6e6a272d
je 0x4076d5
jmp 0x4073bf
mov eax, dword [esi + 0x28]
sub eax, 0x70488021
je 0x4073fd
jmp 0x4073d2
mov eax, dword [esi + 0x28]
sub eax, 0x709f3da1
je 0x407573
jmp 0x4073e5
mov eax, dword [esi + 0x28]
sub eax, 0x7e8415f8
je 0x407a53
jmp 0x4073f8
jmp 0x407a7f
mov ecx, dword [0x52e5ac]
mov eax, dword [0x52e5a8]
mov edx, ecx
sub edx, 0xec8ea022
sub edx, 1
add edx, 0xec8ea022
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, 0x3aad5c36
mov ecx, 0x68132f33
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x407a7f
mov ecx, dword [esi + 0x2c]
vmovsd xmm0, qword [esi + 0x30]
push eax
mov eax, esp
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x4c], edx
sub esp, 8
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x18], edx
mov esp, edx
push eax
mov edx, esp
mov dword [esi + 0x1c], edx
push eax
mov edx, esp
mov dword [esi + 0x20], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x50], edx
push eax
mov edx, esp
mov dword [esi + 0x24], edx
push eax
mov edx, esp
mov dword [esi + 0x54], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x58], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x5c], edx
push eax
mov edx, esp
mov dword [esi + 0x60], edx
vmovsd qword [esi + 0x40], xmm0
mov dword [eax], ecx
mov ecx, dword [esi + 0x4c]
lea eax, str.pfdfgluxuzmbovvaspesxhxchogunpgquszfesrqxoydpcjojfgraovtyubbrynaitxjzkpojaktopwdcspfd
sub esp, 4
mov dword [esp], eax
call fcn.00412930
mov edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x20]
vmovsd xmm0, qword [0x42c230]
vmovsd qword [edx], xmm0
mov dword [ecx], 0xde
mov byte [eax], 1
mov ecx, dword [esi + 0x50]
lea eax, str.zrrblmxspzvvlpr
sub esp, 4
mov dword [esp], eax
call fcn.00412930
mov eax, dword [esi + 0x24]
mov byte [eax], 1
mov eax, dword [0x52e5ac]
mov ecx, dword [0x52e5a8]
mov edx, eax
sub edx, 0x31250104
sub edx, 1
add edx, 0x31250104
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, 0x3aad5c36
mov ecx, 0xd1bda747
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x407a7f
mov dword [esi + 0x3c], 0x709f3da1
jmp 0x407a7f
mov eax, dword [0x52e5ac]
mov ecx, dword [0x52e5a8]
mov edx, eax
sub edx, 0x10222056
sub edx, 1
add edx, 0x10222056
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, 0x16b53e2f
mov ecx, 0x98c4f11d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x407a7f
mov eax, dword [esi + 0x54]
mov dword [eax], 0x53
mov ecx, dword [0x52e5ac]
mov eax, dword [0x52e5a8]
mov edx, ecx
add edx, 0x85d3388b
sub edx, 1
sub edx, 0x85d3388b
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, 0x16b53e2f
mov ecx, 0x4e03a7d0
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x407a7f
mov dword [esi + 0x3c], 0xbec4a5f1
jmp 0x407a7f
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
mov dword [esi + 0x64], eax
mov dword [esi + 0x3c], 0xc69d2bdb
jmp 0x407a7f
mov eax, dword [esi + 0x64]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x6b], al
mov dword [esi + 0x3c], 0xc0c4d586
jmp 0x407a7f
mov dl, byte [esi + 0x6b]
mov eax, 0x47201f7c
mov ecx, 0x942bf29
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x407a7f
mov dword [esi + 0x3c], 0x6c02e146
jmp 0x407a7f
mov eax, dword [esi + 0x54]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0xffffffff
add ecx, eax
xor eax, eax
sub eax, ecx
mov dword [esi + 0x6c], eax
mov dword [esi + 0x3c], 0x6ac459cc
jmp 0x407a7f
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x6c]
mov dword [eax], ecx
mov dword [esi + 0x3c], 0x6e6a272d
jmp 0x407a7f
mov ecx, dword [0x52e5ac]
mov eax, dword [0x52e5a8]
mov edx, ecx
add edx, 0xf5328e5d
sub edx, 1
sub edx, 0xf5328e5d
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, 0x7e8415f8
mov ecx, 0xa387b68d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x407a7f
mov eax, dword [0x52e5ac]
mov ecx, dword [0x52e5a8]
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, 0x7e8415f8
mov ecx, 0x26479d69
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x407a7f
mov dword [esi + 0x3c], 0xbec4a5f1
jmp 0x407a7f
mov ecx, dword [esi + 0x58]
lea eax, str.zrrblmxspzvvlpr
sub esp, 4
mov dword [esp], eax
call fcn.00412930
mov dword [esi + 0x3c], 0xa3d85ee
jmp 0x407a7f
mov ecx, dword [esi + 0x5c]
lea eax, str.zrrblmxspzvvlpr
sub esp, 4
mov dword [esp], eax
call fcn.00412930
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00412e80
add esp, 8
and al, 1
mov byte [esi + 0x73], al
mov dword [esi + 0x3c], 0x56411afd
jmp 0x407a7f
mov ecx, dword [esi + 0x5c]
call fcn.00412ca0
mov ecx, dword [esi + 0x58]
call fcn.00412ca0
mov dl, byte [esi + 0x73]
mov eax, 0x951ed5de
mov ecx, 0xe24340fe
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x407a7f
mov eax, dword [esi + 0x60]
mov dword [eax], 0x61
mov dword [esi + 0x3c], 0xcdf94332
jmp 0x407a7f
mov dword [esi + 0x3c], 0xbf3aa5cb
jmp 0x407a7f
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov dword [esi + 0x74], eax
mov dword [esi + 0x3c], 0x9f9e3e0e
jmp 0x407a7f
mov edx, dword [esi + 0x74]
mov eax, 0xef79c773
mov ecx, 0x8a64d88
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x407a7f
mov dword [esi + 0x3c], 0x8a501bf1
jmp 0x407a7f
mov eax, dword [0x52e5ac]
mov ecx, dword [0x52e5a8]
mov edx, eax
add edx, 0x6dc8e22a
sub edx, 1
sub edx, 0x6dc8e22a
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, 0x5ba74403
mov ecx, 0xb2b38abd
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x407a7f
mov eax, dword [esi + 0x60]
mov ecx, dword [eax]
add ecx, 0xb7254d48
add ecx, 0xffffffff
sub ecx, 0xb7254d48
mov eax, dword [esi + 0x60]
mov dword [eax], ecx
mov ecx, dword [0x52e5ac]
mov eax, dword [0x52e5a8]
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, 0x5ba74403
mov ecx, 0xb5a6b014
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x3c], eax
jmp 0x407a7f
mov dword [esi + 0x3c], 0x285aa5b7
jmp 0x407a7f
mov dword [esi + 0x3c], 0xbf3aa5cb
jmp 0x407a7f
mov dword [esi + 0x3c], 0x951ed5de
jmp 0x407a7f
mov ecx, dword [esi + 0x50]
call fcn.00412ca0
mov dword [esi + 0x3c], 0xeef3a861
jmp 0x407a7f
mov ecx, dword [esi + 0x4c]
call fcn.00412ca0
xor eax, eax
and al, 1
movzx eax, al
mov dword [esi + 0x14], eax
mov ecx, dword [esi + 0x78]
xor ecx, ebp
call fcn.0041ca60
mov eax, dword [esi + 0x14]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8
mov edx, dword [esi + 0x2c]
vmovsd xmm0, qword [esi + 0x30]
push eax
mov eax, esp
sub esp, 0x18
mov ecx, esp
sub esp, 8
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov ebx, esp
mov dword [esi + 4], ebx
push eax
mov ebx, esp
mov dword [esi + 0xc], ebx
sub esp, 0x18
mov ebx, esp
mov dword [esi + 8], ebx
push eax
mov ebx, esp
mov dword [esi + 0x10], ebx
vmovsd qword [esi + 0x40], xmm0
mov dword [eax], edx
lea eax, str.pfdfgluxuzmbovvaspesxhxchogunpgquszfesrqxoydpcjojfgraovtyubbrynaitxjzkpojaktopwdcspfd
sub esp, 4
mov dword [esp], eax
call fcn.00412930
mov edx, dword [esi + 4]
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
vmovsd xmm0, qword [0x42c230]
vmovsd qword [edi], xmm0
mov dword [edx], 0xde
mov byte [eax], 1
lea eax, str.zrrblmxspzvvlpr
sub esp, 4
mov dword [esp], eax
call fcn.00412930
mov eax, dword [esi + 0x10]
mov byte [eax], 1
mov dword [esi + 0x3c], 0x68132f33
jmp 0x407a7f
mov eax, dword [esi + 0x54]
mov dword [eax], 0x53
mov dword [esi + 0x3c], 0x98c4f11d
jmp 0x407a7f
mov dword [esi + 0x3c], 0xa387b68d
jmp 0x407a7f
mov eax, dword [esi + 0x60]
mov ecx, dword [eax]
sub ecx, 0x7317e73b
add ecx, 0xffffffff
add ecx, 0x7317e73b
mov eax, dword [esi + 0x60]
mov dword [eax], ecx
mov dword [esi + 0x3c], 0xb2b38abd
jmp 0x40716f