Function at 0x402e70
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 + 0x14], ecx
vmovsd xmm0, qword [ebp + 0x10]
vmovsd qword [esi + 0x18], xmm0
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x20], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x24], eax
mov eax, dword [0x47a080]
xor eax, ebp
mov dword [esi + 0x90], eax
mov ecx, dword [0x47b5f4]
mov eax, dword [0x47b5f0]
mov edx, ecx
sub edx, 0xcd396223
sub edx, 1
add edx, 0xcd396223
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x32], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x33], al
mov dword [esi + 0x2c], 0x43250a4d
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x10], eax
sub eax, 0x88a9a706
je 0x403d28
jmp 0x402efd
mov eax, dword [esi + 0x10]
sub eax, 0x8b5ab650
je 0x403a50
jmp 0x402f10
mov eax, dword [esi + 0x10]
sub eax, 0x95f74ccb
je 0x403692
jmp 0x402f23
mov eax, dword [esi + 0x10]
sub eax, 0x9767cdc1
je 0x4040fd
jmp 0x402f36
mov eax, dword [esi + 0x10]
sub eax, 0x98a3a109
je 0x403672
jmp 0x402f49
mov eax, dword [esi + 0x10]
sub eax, 0xa06b6aa8
je 0x403bc3
jmp 0x402f5c
mov eax, dword [esi + 0x10]
sub eax, 0xa11bca15
je 0x403877
jmp 0x402f6f
mov eax, dword [esi + 0x10]
sub eax, 0xa28a70e9
je 0x40350b
jmp 0x402f82
mov eax, dword [esi + 0x10]
sub eax, 0xa593ba55
je 0x403747
jmp 0x402f95
mov eax, dword [esi + 0x10]
sub eax, 0xaad1f2d6
je 0x403c3a
jmp 0x402fa8
mov eax, dword [esi + 0x10]
sub eax, 0xac9c1c79
je 0x403e21
jmp 0x402fbb
mov eax, dword [esi + 0x10]
sub eax, 0xaeb0ce61
je 0x4036ad
jmp 0x402fce
mov eax, dword [esi + 0x10]
sub eax, 0xb6c9a5da
je 0x404109
jmp 0x402fe1
mov eax, dword [esi + 0x10]
sub eax, 0xb831730f
je 0x403856
jmp 0x402ff4
mov eax, dword [esi + 0x10]
sub eax, 0xbb2c5603
je 0x4035e3
jmp 0x403007
mov eax, dword [esi + 0x10]
sub eax, 0xbb736663
je 0x4034b9
jmp 0x40301a
mov eax, dword [esi + 0x10]
sub eax, 0xbccce2fa
je 0x403aad
jmp 0x40302d
mov eax, dword [esi + 0x10]
sub eax, 0xbdb2a85f
je 0x403cbd
jmp 0x403040
mov eax, dword [esi + 0x10]
sub eax, 0xbdc9ae90
je 0x4035ef
jmp 0x403053
mov eax, dword [esi + 0x10]
sub eax, 0xbf0b5f10
je 0x404118
jmp 0x403066
mov eax, dword [esi + 0x10]
sub eax, 0xc102c636
je 0x403a44
jmp 0x403079
mov eax, dword [esi + 0x10]
sub eax, 0xcd0ef0e0
je 0x403c9f
jmp 0x40308c
mov eax, dword [esi + 0x10]
sub eax, 0xce9e640d
je 0x403f45
jmp 0x40309f
mov eax, dword [esi + 0x10]
sub eax, 0xcfbca5cf
je 0x4040c7
jmp 0x4030b2
mov eax, dword [esi + 0x10]
sub eax, 0xd1ede8c1
je 0x404049
jmp 0x4030c5
mov eax, dword [esi + 0x10]
sub eax, 0xd3b2f5e8
je 0x4037c2
jmp 0x4030d8
mov eax, dword [esi + 0x10]
sub eax, 0xd52c649e
je 0x40365d
jmp 0x4030eb
mov eax, dword [esi + 0x10]
sub eax, 0xd7858247
je 0x403b80
jmp 0x4030fe
mov eax, dword [esi + 0x10]
sub eax, 0xd8697f98
je 0x4037da
jmp 0x403111
mov eax, dword [esi + 0x10]
sub eax, 0xe2b58bae
je 0x403bae
jmp 0x403124
mov eax, dword [esi + 0x10]
sub eax, 0xe4e9bb80
je 0x4040b3
jmp 0x403137
mov eax, dword [esi + 0x10]
sub eax, 0xe9868ede
je 0x403d76
jmp 0x40314a
mov eax, dword [esi + 0x10]
sub eax, 0xf4932adf
je 0x403891
jmp 0x40315d
mov eax, dword [esi + 0x10]
sub eax, 0xfb3575f6
je 0x404168
jmp 0x403170
mov eax, dword [esi + 0x10]
sub eax, 0xfcf31fcb
je 0x403d82
jmp 0x403183
mov eax, dword [esi + 0x10]
sub eax, 0x6f71f93
je 0x403971
jmp 0x403196
mov eax, dword [esi + 0x10]
sub eax, 0x99a5ffa
je 0x403965
jmp 0x4031a9
mov eax, dword [esi + 0x10]
sub eax, 0xec815f5
je 0x403f59
jmp 0x4031bc
mov eax, dword [esi + 0x10]
sub eax, 0x21cb0c8c
je 0x403b20
jmp 0x4031cf
mov eax, dword [esi + 0x10]
sub eax, 0x23f4ee28
je 0x40383b
jmp 0x4031e2
mov eax, dword [esi + 0x10]
sub eax, 0x25d3ea35
je 0x4038d7
jmp 0x4031f5
mov eax, dword [esi + 0x10]
sub eax, 0x28ea0dbd
je 0x403f39
jmp 0x403208
mov eax, dword [esi + 0x10]
sub eax, 0x2bdca073
je 0x40401a
jmp 0x40321b
mov eax, dword [esi + 0x10]
sub eax, 0x3161ab43
je 0x40367e
jmp 0x40322e
mov eax, dword [esi + 0x10]
sub eax, 0x33b6ecfe
je 0x4037ce
jmp 0x403241
mov eax, dword [esi + 0x10]
sub eax, 0x393ac08c
je 0x4036dc
jmp 0x403254
mov eax, dword [esi + 0x10]
sub eax, 0x3ccacec2
je 0x403e2d
jmp 0x403267
mov eax, dword [esi + 0x10]
sub eax, 0x4141ced9
je 0x403ea0
jmp 0x40327a
mov eax, dword [esi + 0x10]
sub eax, 0x43250a4d
je 0x4033d5
jmp 0x40328d
mov eax, dword [esi + 0x10]
sub eax, 0x43b4f5fa
je 0x40394a
jmp 0x4032a0
mov eax, dword [esi + 0x10]
sub eax, 0x4469f6d9
je 0x4040ee
jmp 0x4032b3
mov eax, dword [esi + 0x10]
sub eax, 0x48879202
je 0x4040e2
jmp 0x4032c6
mov eax, dword [esi + 0x10]
sub eax, 0x50657b2e
je 0x403bcf
jmp 0x4032d9
mov eax, dword [esi + 0x10]
sub eax, 0x5b24b190
je 0x403a67
jmp 0x4032ec
mov eax, dword [esi + 0x10]
sub eax, 0x5cd26aee
je 0x403b2c
jmp 0x4032ff
mov eax, dword [esi + 0x10]
sub eax, 0x611076e3
je 0x40386b
jmp 0x403312
mov eax, dword [esi + 0x10]
sub eax, 0x61830482
je 0x4039e4
jmp 0x403325
mov eax, dword [esi + 0x10]
sub eax, 0x68423103
je 0x40403d
jmp 0x403338
mov eax, dword [esi + 0x10]
sub eax, 0x68817d96
je 0x403f2d
jmp 0x40334b
mov eax, dword [esi + 0x10]
sub eax, 0x69d94a3c
je 0x403fa7
jmp 0x40335e
mov eax, dword [esi + 0x10]
sub eax, 0x6b6b848c
je 0x4033fb
jmp 0x403371
mov eax, dword [esi + 0x10]
sub eax, 0x6d938bd1
je 0x4036b9
jmp 0x403384
mov eax, dword [esi + 0x10]
sub eax, 0x6db0916d
je 0x4034c5
jmp 0x403397
mov eax, dword [esi + 0x10]
sub eax, 0x7568149a
je 0x4040d3
jmp 0x4033aa
mov eax, dword [esi + 0x10]
sub eax, 0x7b942b56
je 0x403c93
mov al, byte [esi + 0x32]
mov cl, byte [esi + 0x33]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x68423103
mov ecx, 0x6b6b848c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
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
push eax
mov eax, esp
mov dword [esi + 0x40], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x44], eax
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x48], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x4c], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x50], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x54], eax
push eax
mov eax, esp
mov dword [esi + 0x58], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x5c], eax
sub esp, 0x18
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
mov eax, dword [0x47b5f4]
mov ecx, dword [0x47b5f0]
mov edx, eax
add edx, 0x3d569ea2
sub edx, 1
sub edx, 0x3d569ea2
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, 0x68423103
mov ecx, 0xbb736663
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov dword [esi + 0x2c], 0x6db0916d
jmp 0x404177
mov eax, dword [0x47b5f4]
mov ecx, dword [0x47b5f0]
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, 0xd1ede8c1
mov ecx, 0xa28a70e9
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x24]
mov edi, dword [esi + 0x20]
vmovsd xmm0, qword [esi + 0x18]
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x6c], eax
push eax
mov eax, esp
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x34]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x38]
mov dword [eax], edi
mov eax, dword [esi + 0x3c]
mov dword [eax], edx
mov eax, dword [esi + 0x40]
mov dword [eax], ecx
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
vmovsd xmm0, qword [0x42d1a0]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x48]
lea eax, str.oifyipikrubqvkwbyox
sub esp, 4
mov dword [esp], eax
call fcn.00414410
mov ecx, dword [esi + 0x4c]
lea eax, str.ckocmbkoitxlzcissppmlfypwm
sub esp, 4
mov dword [esp], eax
call fcn.00414410
mov ecx, dword [0x47b5f4]
mov eax, dword [0x47b5f0]
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, 0xd1ede8c1
mov ecx, 0xbb2c5603
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov dword [esi + 0x2c], 0xbdc9ae90
jmp 0x404177
mov ecx, dword [esi + 0x50]
lea eax, str.oifyipikrubqvkwbyox
sub esp, 4
mov dword [esp], eax
call fcn.00414410
mov ecx, dword [esi + 0x54]
lea eax, str.oifyipikrubqvkwbyox
sub esp, 4
mov dword [esp], eax
call fcn.00414410
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00414ac0
add esp, 8
mov byte [esi + 0xf], al
mov ecx, dword [esi + 0x54]
call fcn.00414920
mov ecx, dword [esi + 0x50]
call fcn.00414920
mov dl, byte [esi + 0xf]
mov eax, 0xd8697f98
mov ecx, 0xd52c649e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov eax, dword [esi + 0x58]
mov dword [eax], 0x1c
mov dword [esi + 0x2c], 0x98a3a109
jmp 0x404177
mov dword [esi + 0x2c], 0x3161ab43
jmp 0x404177
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov dword [esi + 0x74], eax
mov dword [esi + 0x2c], 0x95f74ccb
jmp 0x404177
mov edx, dword [esi + 0x74]
mov eax, 0x33b6ecfe
mov ecx, 0xaeb0ce61
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov dword [esi + 0x2c], 0x6d938bd1
jmp 0x404177
mov eax, dword [esi + 0x58]
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 + 0x78], eax
mov dword [esi + 0x2c], 0x393ac08c
jmp 0x404177
mov ecx, dword [0x47b5f4]
mov eax, dword [0x47b5f0]
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, 0xe4e9bb80
mov ecx, 0xa593ba55
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x78]
mov dword [eax], ecx
mov ecx, dword [0x47b5f4]
mov eax, dword [0x47b5f0]
mov edx, ecx
sub edx, 0x9cc41acc
sub edx, 1
add edx, 0x9cc41acc
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, 0xe4e9bb80
mov ecx, 0xd3b2f5e8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov dword [esi + 0x2c], 0x3161ab43
jmp 0x404177
mov dword [esi + 0x2c], 0xd8697f98
jmp 0x404177
mov ecx, dword [esi + 0x5c]
lea eax, str.oifyipikrubqvkwbyox
sub esp, 4
mov dword [esp], eax
call fcn.00414410
mov ecx, dword [esi + 0x60]
lea eax, str.oifyipikrubqvkwbyox
sub esp, 4
mov dword [esp], eax
call fcn.00414410
mov eax, dword [esi + 0x5c]
mov ecx, dword [esi + 0x60]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00414ac0
add esp, 8
and al, 1
mov byte [esi + 0x7e], al
mov ecx, dword [esi + 0x60]
call fcn.00414920
mov ecx, dword [esi + 0x5c]
call fcn.00414920
mov dword [esi + 0x2c], 0x23f4ee28
jmp 0x404177
mov dl, byte [esi + 0x7e]
mov eax, 0x5cd26aee
mov ecx, 0xb831730f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov eax, dword [esi + 0x64]
mov dword [eax], 0x2f
mov dword [esi + 0x2c], 0x611076e3
jmp 0x404177
mov dword [esi + 0x2c], 0xa11bca15
jmp 0x404177
mov eax, dword [esi + 0x64]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x7f], al
mov dword [esi + 0x2c], 0xf4932adf
jmp 0x404177
mov eax, dword [0x47b5f4]
mov ecx, dword [0x47b5f0]
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, 0xcfbca5cf
mov ecx, 0x25d3ea35
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov ecx, dword [0x47b5f4]
mov eax, dword [0x47b5f0]
mov edx, ecx
sub edx, 0x47bdaa4f
sub edx, 1
add edx, 0x47bdaa4f
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, 0xcfbca5cf
mov ecx, 0x43b4f5fa
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov dl, byte [esi + 0x7f]
mov eax, 0x5b24b190
mov ecx, 0x99a5ffa
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov dword [esi + 0x2c], 0x6f71f93
jmp 0x404177
mov ecx, dword [0x47b5f4]
mov eax, dword [0x47b5f0]
mov edx, ecx
sub edx, 0x75dd8970
sub edx, 1
add edx, 0x75dd8970
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, 0x7568149a
mov ecx, 0x61830482
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov eax, dword [esi + 0x64]
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 + 0x80], eax
mov eax, dword [0x47b5f4]
mov ecx, dword [0x47b5f0]
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, 0x7568149a
mov ecx, 0xc102c636
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov dword [esi + 0x2c], 0x8b5ab650
jmp 0x404177
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x80]
mov dword [eax], ecx
mov dword [esi + 0x2c], 0xa11bca15
jmp 0x404177
mov eax, dword [0x47b5f4]
mov ecx, dword [0x47b5f0]
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, 0x48879202
mov ecx, 0xbccce2fa
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov ecx, dword [0x47b5f4]
mov eax, dword [0x47b5f0]
mov edx, ecx
sub edx, 0x6e0db68e
sub edx, 1
add edx, 0x6e0db68e
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, 0x48879202
mov ecx, 0x21cb0c8c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov dword [esi + 0x2c], 0x5cd26aee
jmp 0x404177
mov ecx, dword [esi + 0x68]
lea eax, str.ckocmbkoitxlzcissppmlfypwm
sub esp, 4
mov dword [esp], eax
call fcn.00414410
mov ecx, dword [esi + 0x6c]
lea eax, str.ckocmbkoitxlzcissppmlfypwm
sub esp, 4
mov dword [esp], eax
call fcn.00414410
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x6c]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00414ac0
add esp, 8
and al, 1
mov byte [esi + 0x87], al
mov dword [esi + 0x2c], 0xd7858247
jmp 0x404177
mov ecx, dword [esi + 0x6c]
call fcn.00414920
mov ecx, dword [esi + 0x68]
call fcn.00414920
mov dl, byte [esi + 0x87]
mov eax, 0xce9e640d
mov ecx, 0xe2b58bae
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov eax, dword [esi + 0x70]
mov dword [eax], 7
mov dword [esi + 0x2c], 0xa06b6aa8
jmp 0x404177
mov dword [esi + 0x2c], 0x50657b2e
jmp 0x404177
mov ecx, dword [0x47b5f4]
mov eax, dword [0x47b5f0]
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, 0x4469f6d9
mov ecx, 0xaad1f2d6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov eax, dword [esi + 0x70]
mov eax, dword [eax]
mov dword [esi + 0x88], eax
mov eax, dword [0x47b5f4]
mov ecx, dword [0x47b5f0]
mov edx, eax
add edx, 0x75aa1ffc
sub edx, 1
sub edx, 0x75aa1ffc
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, 0x4469f6d9
mov ecx, 0x7b942b56
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov edx, dword [esi + 0x88]
mov eax, 0x28ea0dbd
mov ecx, 0xbdb2a85f
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov ecx, dword [0x47b5f4]
mov eax, dword [0x47b5f0]
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, 0x9767cdc1
mov ecx, 0x88a9a706
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov eax, dword [0x47b5f4]
mov ecx, dword [0x47b5f0]
mov edx, eax
add edx, 0x57a54736
sub edx, 1
sub edx, 0x57a54736
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, 0x9767cdc1
mov ecx, 0xe9868ede
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov dword [esi + 0x2c], 0xfcf31fcb
jmp 0x404177
mov eax, dword [0x47b5f4]
mov ecx, dword [0x47b5f0]
mov edx, eax
sub edx, 0xf8d39531
sub edx, 1
add edx, 0xf8d39531
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, 0xb6c9a5da
mov ecx, 0x7ed2c361
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov dword [esi + 0x2c], 0x3ccacec2
jmp 0x404177
mov ecx, dword [0x47b5f4]
mov eax, dword [0x47b5f0]
mov edx, ecx
add edx, 0xd2ceb4cc
sub edx, 1
sub edx, 0xd2ceb4cc
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, 0xbf0b5f10
mov ecx, 0x4141ced9
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov ecx, dword [esi + 0x8c]
add ecx, 0x5bb2ee67
add ecx, 0xffffffff
sub ecx, 0x5bb2ee67
mov eax, dword [esi + 0x70]
mov dword [eax], ecx
mov ecx, dword [0x47b5f4]
mov eax, dword [0x47b5f0]
mov edx, ecx
sub edx, 0x494a93d5
sub edx, 1
add edx, 0x494a93d5
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, 0xbf0b5f10
mov ecx, 0x68817d96
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov dword [esi + 0x2c], 0x50657b2e
jmp 0x404177
mov dword [esi + 0x2c], 0xce9e640d
jmp 0x404177
mov ecx, dword [esi + 0x4c]
call fcn.00414920
mov dword [esi + 0x2c], 0xec815f5
jmp 0x404177
mov eax, dword [0x47b5f4]
mov ecx, dword [0x47b5f0]
mov edx, eax
add edx, 0x71677fc2
sub edx, 1
sub edx, 0x71677fc2
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, 0xfb3575f6
mov ecx, 0x69d94a3c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
mov ecx, dword [esi + 0x48]
call fcn.00414920
mov ecx, dword [0x47b5f4]
mov eax, dword [0x47b5f0]
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, 0xfb3575f6
mov ecx, 0x2bdca073
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x2c], eax
jmp 0x404177
fld dword [0x42d1a8]
fstp xword [esi + 4]
mov ecx, dword [esi + 0x90]
xor ecx, ebp
call fcn.0041e5d0
fld xword [esi + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
mov dword [esi + 0x2c], 0x6b6b848c
jmp 0x404177
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0x24]
mov edi, dword [esi + 0x20]
vmovsd xmm0, qword [esi + 0x18]
mov eax, dword [esi + 0x34]
vmovsd qword [eax], xmm0
mov eax, dword [esi + 0x38]
mov dword [eax], edi
mov eax, dword [esi + 0x3c]
mov dword [eax], edx
mov eax, dword [esi + 0x40]
mov dword [eax], ecx
mov eax, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
vmovsd xmm0, qword [0x42d1a0]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x48]
lea eax, str.oifyipikrubqvkwbyox
sub esp, 4
mov dword [esp], eax
call fcn.00414410
mov ecx, dword [esi + 0x4c]
lea eax, str.ckocmbkoitxlzcissppmlfypwm
sub esp, 4
mov dword [esp], eax
call fcn.00414410
mov dword [esi + 0x2c], 0xa28a70e9
jmp 0x404177
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x78]
mov dword [eax], ecx
mov dword [esi + 0x2c], 0xa593ba55
jmp 0x404177
mov dword [esi + 0x2c], 0x25d3ea35
jmp 0x404177
mov eax, dword [esi + 0x64]
mov dword [esi + 0x2c], 0x61830482
jmp 0x404177
mov dword [esi + 0x2c], 0xbccce2fa
jmp 0x404177
mov eax, dword [esi + 0x70]
mov dword [esi + 0x2c], 0xaad1f2d6
jmp 0x404177
mov dword [esi + 0x2c], 0x88a9a706
jmp 0x404177
mov eax, dword [esi + 0x70]
mov dword [esi + 0x2c], 0x7ed2c361
jmp 0x404177
mov eax, dword [esi + 0x8c]
mov eax, dword [esi + 0x8c]
mov eax, dword [esi + 0x8c]
mov eax, dword [esi + 0x8c]
mov eax, dword [esi + 0x8c]
mov eax, dword [esi + 0x8c]
mov eax, dword [esi + 0x8c]
mov ecx, dword [esi + 0x8c]
sub ecx, 0xc5055a10
add ecx, 0xffffffff
add ecx, 0xc5055a10
mov eax, dword [esi + 0x70]
mov dword [eax], ecx
mov dword [esi + 0x2c], 0x4141ced9
jmp 0x404177
mov ecx, dword [esi + 0x48]
call fcn.00414920
mov dword [esi + 0x2c], 0x69d94a3c
jmp 0x402ee7