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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov esi, esp
mov dword [esi + 0x20], ecx
lea eax, [ebp + 8]
mov dword [esi + 0x24], eax
mov eax, dword [0x480080]
xor eax, ebp
mov dword [esi + 0x88], eax
mov ecx, dword [0x4815cc]
mov eax, dword [0x4815c8]
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 + 0x2e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x2f], al
mov dword [esi + 0x28], 0x9aa29f78
mov eax, dword [esi + 0x28]
mov dword [esi + 0x1c], eax
sub eax, 0x8886bd24
je 0x405d86
jmp 0x405465
mov eax, dword [esi + 0x1c]
sub eax, 0x899e5e1a
je 0x4061fe
jmp 0x405478
mov eax, dword [esi + 0x1c]
sub eax, 0x8ca11a0c
je 0x405c49
jmp 0x40548b
mov eax, dword [esi + 0x1c]
sub eax, 0x8f7f42d8
je 0x40620a
jmp 0x40549e
mov eax, dword [esi + 0x1c]
sub eax, 0x93b650c3
je 0x4063b1
jmp 0x4054b1
mov eax, dword [esi + 0x1c]
sub eax, 0x998697ae
je 0x40616a
jmp 0x4054c4
mov eax, dword [esi + 0x1c]
sub eax, 0x9aa29f78
je 0x4059af
jmp 0x4054d7
mov eax, dword [esi + 0x1c]
sub eax, 0x9bfae005
je 0x4063bd
jmp 0x4054ea
mov eax, dword [esi + 0x1c]
sub eax, 0x9cb6d4bb
je 0x406309
jmp 0x4054fd
mov eax, dword [esi + 0x1c]
sub eax, 0xa2d0ac0a
je 0x4067b3
jmp 0x405510
mov eax, dword [esi + 0x1c]
sub eax, 0xae4c2930
je 0x4068db
jmp 0x405523
mov eax, dword [esi + 0x1c]
sub eax, 0xae69dcbd
je 0x406877
jmp 0x405536
mov eax, dword [esi + 0x1c]
sub eax, 0xb2a794f6
je 0x406363
jmp 0x405549
mov eax, dword [esi + 0x1c]
sub eax, 0xb2bcca43
je 0x40669b
jmp 0x40555c
mov eax, dword [esi + 0x1c]
sub eax, 0xbc1fb8d2
je 0x405c2e
jmp 0x40556f
mov eax, dword [esi + 0x1c]
sub eax, 0xbd68c9f2
je 0x405a9a
jmp 0x405582
mov eax, dword [esi + 0x1c]
sub eax, 0xbfecf61d
je 0x405ef5
jmp 0x405595
mov eax, dword [esi + 0x1c]
sub eax, 0xc6baf717
je 0x405d13
jmp 0x4055a8
mov eax, dword [esi + 0x1c]
sub eax, 0xcf2ac29f
je 0x405ee1
jmp 0x4055bb
mov eax, dword [esi + 0x1c]
sub eax, 0xd0296b9b
je 0x406315
jmp 0x4055ce
mov eax, dword [esi + 0x1c]
sub eax, 0xd58a4b51
je 0x406451
jmp 0x4055e1
mov eax, dword [esi + 0x1c]
sub eax, 0xdb24da6b
je 0x4065a5
jmp 0x4055f4
mov eax, dword [esi + 0x1c]
sub eax, 0xe1b24a2d
je 0x405f7d
jmp 0x405607
mov eax, dword [esi + 0x1c]
sub eax, 0xe49cb49c
je 0x40627d
jmp 0x40561a
mov eax, dword [esi + 0x1c]
sub eax, 0xe5285212
je 0x406790
jmp 0x40562d
mov eax, dword [esi + 0x1c]
sub eax, 0xe6e7883f
je 0x40609e
jmp 0x405640
mov eax, dword [esi + 0x1c]
sub eax, 0xea1ee5e3
je 0x40670d
jmp 0x405653
mov eax, dword [esi + 0x1c]
sub eax, 0xec644e32
je 0x40668f
jmp 0x405666
mov eax, dword [esi + 0x1c]
sub eax, 0xfbaff69f
je 0x406892
jmp 0x405679
mov eax, dword [esi + 0x1c]
sub eax, 0xff256b6a
je 0x406011
jmp 0x40568c
mov eax, dword [esi + 0x1c]
sub eax, 0xc84575
je 0x4068fe
jmp 0x40569f
mov eax, dword [esi + 0x1c]
sub eax, 0x763f643
je 0x40689e
jmp 0x4056b2
mov eax, dword [esi + 0x1c]
sub eax, 0x149baf16
je 0x4067a7
jmp 0x4056c5
mov eax, dword [esi + 0x1c]
sub eax, 0x14b3e21f
je 0x405f15
jmp 0x4056d8
mov eax, dword [esi + 0x1c]
sub eax, 0x1d931563
je 0x406886
jmp 0x4056eb
mov eax, dword [esi + 0x1c]
sub eax, 0x225b24c2
je 0x40614f
jmp 0x4056fe
mov eax, dword [esi + 0x1c]
sub eax, 0x266a0d33
je 0x405f5a
jmp 0x405711
mov eax, dword [esi + 0x1c]
sub eax, 0x2a2bb596
je 0x4064c2
jmp 0x405724
mov eax, dword [esi + 0x1c]
sub eax, 0x2e9d853e
je 0x4059fa
jmp 0x405737
mov eax, dword [esi + 0x1c]
sub eax, 0x30fc1862
je 0x405ea8
jmp 0x40574a
mov eax, dword [esi + 0x1c]
sub eax, 0x3b028863
je 0x405c5d
jmp 0x40575d
mov eax, dword [esi + 0x1c]
sub eax, 0x3b0bb612
je 0x405d07
jmp 0x405770
mov eax, dword [esi + 0x1c]
sub eax, 0x3d2fbb9f
je 0x4065c3
jmp 0x405783
mov eax, dword [esi + 0x1c]
sub eax, 0x3f68db8d
je 0x405f92
jmp 0x405796
mov eax, dword [esi + 0x1c]
sub eax, 0x4206a3df
je 0x4068c3
jmp 0x4057a9
mov eax, dword [esi + 0x1c]
sub eax, 0x44f273db
je 0x405e5a
jmp 0x4057bc
mov eax, dword [esi + 0x1c]
sub eax, 0x464e3c2d
je 0x406599
jmp 0x4057cf
mov eax, dword [esi + 0x1c]
sub eax, 0x46a81274
je 0x4061b0
jmp 0x4057e2
mov eax, dword [esi + 0x1c]
sub eax, 0x49563eb2
je 0x406636
jmp 0x4057f5
mov eax, dword [esi + 0x1c]
sub eax, 0x4a7a620b
je 0x40649f
jmp 0x405808
mov eax, dword [esi + 0x1c]
sub eax, 0x4aad6f66
je 0x4063de
jmp 0x40581b
mov eax, dword [esi + 0x1c]
sub eax, 0x4b28b708
je 0x40685f
jmp 0x40582e
mov eax, dword [esi + 0x1c]
sub eax, 0x4c8fa273
je 0x405a8e
jmp 0x405841
mov eax, dword [esi + 0x1c]
sub eax, 0x4e34abf3
je 0x4064ab
jmp 0x405854
mov eax, dword [esi + 0x1c]
sub eax, 0x4e812af3
je 0x405ec8
jmp 0x405867
mov eax, dword [esi + 0x1c]
sub eax, 0x51810368
je 0x4066bf
jmp 0x40587a
mov eax, dword [esi + 0x1c]
sub eax, 0x58309708
je 0x4064e0
jmp 0x40588d
mov eax, dword [esi + 0x1c]
sub eax, 0x5947b4de
je 0x405e0c
jmp 0x4058a0
mov eax, dword [esi + 0x1c]
sub eax, 0x5b783013
je 0x405df1
jmp 0x4058b3
mov eax, dword [esi + 0x1c]
sub eax, 0x60f5f5fd
je 0x40686b
jmp 0x4058c6
mov eax, dword [esi + 0x1c]
sub eax, 0x6602b967
je 0x4068cf
jmp 0x4058d9
mov eax, dword [esi + 0x1c]
sub eax, 0x667e6b46
je 0x40652e
jmp 0x4058ec
mov eax, dword [esi + 0x1c]
sub eax, 0x67d2f422
je 0x405b05
jmp 0x4058ff
mov eax, dword [esi + 0x1c]
sub eax, 0x6bf07e98
je 0x4063c9
jmp 0x405912
mov eax, dword [esi + 0x1c]
sub eax, 0x70e64659
je 0x405f9e
mov bl, byte [esi + 0x2e]
mov dh, byte [esi + 0x2f]
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, 0x149baf16
mov ecx, 0x2e9d853e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
push eax
mov eax, esp
mov dword [esi + 0x30], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x34], eax
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x38], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x3c], eax
mov ecx, dword [0x4815cc]
mov eax, dword [0x4815c8]
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, 0x149baf16
mov ecx, 0x4c8fa273
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov dword [esi + 0x28], 0xbd68c9f2
jmp 0x40691d
mov ecx, dword [0x4815cc]
mov eax, dword [0x4815c8]
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, 0xa2d0ac0a
mov ecx, 0x67d2f422
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
push eax
push eax
mov edx, esp
and edx, 0xfffffff8
mov dword [esi + 0x10], edx
mov esp, edx
push eax
sub esp, 0x14
mov edx, esp
mov dword [esi + 0x40], edx
push eax
mov edx, esp
mov dword [esi + 0x14], edx
push eax
mov edx, esp
mov dword [esi + 0x18], edx
push eax
mov edx, esp
mov dword [esi + 0x44], edx
push eax
mov edx, esp
mov dword [esi + 0x48], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x4c], edx
sub esp, 0x18
mov edx, esp
mov dword [esi + 0x50], edx
push eax
mov edx, esp
mov dword [esi + 0x54], edx
push eax
mov edx, esp
mov dword [esi + 0x58], edx
mov dword [esi + 0x5c], eax
mov edx, eax
add edx, 0x18
mov dword [esi + 0x60], edx
mov edx, eax
add edx, 0x38
mov dword [esi + 0x64], edx
add eax, 0x54
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x30]
mov dword [eax], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x34]
vmovsd xmm0, qword [0x42d1d8]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x38]
lea eax, str.yiqv
sub esp, 4
mov dword [esp], eax
call fcn.00414290
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x3c]
vmovsd xmm0, qword [0x42d1d0]
vmovsd qword [ecx], xmm0
vmovsd xmm0, qword [0x42d1c8]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x40]
lea eax, str.kdfzddwjlvbvrh
sub esp, 4
mov dword [esp], eax
call fcn.00414290
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x18]
mov dword [ecx], 0x2ff
mov dword [eax], 0x1fc
mov eax, dword [0x4815cc]
mov ecx, dword [0x4815c8]
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, 0xa2d0ac0a
mov ecx, 0x75bfca12
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov eax, dword [esi + 0x44]
mov byte [eax], 0
mov eax, dword [esi + 0x48]
mov dword [eax], 0x12
mov dword [esi + 0x28], 0x8ca11a0c
jmp 0x40691d
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov dword [esi + 0x28], 0x3b028863
jmp 0x40691d
mov eax, dword [0x4815cc]
mov ecx, dword [0x4815c8]
mov edx, eax
add edx, 0xdd86e9bf
sub edx, 1
sub edx, 0xdd86e9bf
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, 0x7284fa0e
mov ecx, 0x762b7a9e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov dword [esi + 0x28], 0xc6baf717
jmp 0x40691d
mov ecx, dword [0x4815cc]
mov eax, dword [0x4815c8]
mov edx, ecx
add edx, 0xa6162172
sub edx, 1
sub edx, 0xa6162172
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, 0x4b28b708
mov ecx, 0x8886bd24
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov ecx, dword [0x4815cc]
mov eax, dword [0x4815c8]
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, 0x4b28b708
mov ecx, 0x5b783013
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov dl, byte [esi + 0x73]
mov eax, 0xbfecf61d
mov ecx, 0x5947b4de
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov eax, dword [0x4815cc]
mov ecx, dword [0x4815c8]
mov edx, eax
sub edx, 0x6bcd3cbb
sub edx, 1
add edx, 0x6bcd3cbb
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, 0x60f5f5fd
mov ecx, 0x44f273db
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov eax, dword [0x4815cc]
mov ecx, dword [0x4815c8]
mov edx, eax
add edx, 0x71e56a9c
sub edx, 1
sub edx, 0x71e56a9c
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, 0x60f5f5fd
mov ecx, 0x30fc1862
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov dword [esi + 0x28], 0x7ef1cb82
jmp 0x40691d
mov eax, dword [esi + 0x74]
xor ecx, ecx
sub ecx, 0xffffffff
sub eax, ecx
mov dword [esi + 0x78], eax
mov dword [esi + 0x28], 0xcf2ac29f
jmp 0x40691d
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x78]
mov dword [eax], ecx
mov dword [esi + 0x28], 0x8ca11a0c
jmp 0x40691d
mov ecx, dword [esi + 0x4c]
lea eax, str.yiqv
sub esp, 4
mov dword [esp], eax
call fcn.00414290
mov dword [esi + 0x28], 0x14b3e21f
jmp 0x40691d
mov ecx, dword [esi + 0x50]
lea eax, str.yiqv
sub esp, 4
mov dword [esp], eax
call fcn.00414290
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x50]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00414370
add esp, 8
and al, 1
mov byte [esi + 0x7e], al
mov ecx, dword [esi + 0x50]
call fcn.00414510
mov dword [esi + 0x28], 0x266a0d33
jmp 0x40691d
mov ecx, dword [esi + 0x4c]
call fcn.00414510
mov dl, byte [esi + 0x7e]
mov eax, 0x6bf07e98
mov ecx, 0xe1b24a2d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov eax, dword [esi + 0x54]
mov dword [eax], 0x54
mov dword [esi + 0x28], 0x3f68db8d
jmp 0x40691d
mov dword [esi + 0x28], 0x70e64659
jmp 0x40691d
mov eax, dword [esi + 0x54]
cmp dword [eax], 0
setg al
and al, 1
mov byte [esi + 0x7f], al
mov ecx, dword [0x4815cc]
mov eax, dword [0x4815c8]
mov edx, ecx
add edx, 0xc76d815d
sub edx, 1
sub edx, 0xc76d815d
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, 0xae69dcbd
mov ecx, 0x7ef7f1e1
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov eax, dword [0x4815cc]
mov ecx, dword [0x4815c8]
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, 0x1d931563
mov ecx, 0x74b8cab2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov dl, byte [esi + 0x7f]
mov eax, 0x9bfae005
mov ecx, 0x998697ae
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov eax, dword [0x4815cc]
mov ecx, dword [0x4815c8]
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, 0xfbaff69f
mov ecx, 0x46a81274
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov eax, dword [0x4815cc]
mov ecx, dword [0x4815c8]
mov edx, eax
sub edx, 0xd31e03d8
sub edx, 1
add edx, 0xd31e03d8
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, 0xfbaff69f
mov ecx, 0x899e5e1a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov dword [esi + 0x28], 0x8f7f42d8
jmp 0x40691d
mov ecx, dword [0x4815cc]
mov eax, dword [0x4815c8]
mov edx, ecx
add edx, 0xe914a89c
sub edx, 1
sub edx, 0xe914a89c
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, 0x763f643
mov ecx, 0xe49cb49c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov eax, dword [esi + 0x54]
mov ecx, dword [eax]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0xffffffff
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [esi + 0x54]
mov dword [eax], ecx
mov ecx, dword [0x4815cc]
mov eax, dword [0x4815c8]
mov edx, ecx
sub edx, 0xad7a47ac
sub edx, 1
add edx, 0xad7a47ac
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, 0x763f643
mov ecx, 0x9cb6d4bb
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov dword [esi + 0x28], 0xd0296b9b
jmp 0x40691d
mov eax, dword [0x4815cc]
mov ecx, dword [0x4815c8]
mov edx, eax
sub edx, 0xa72a4c92
sub edx, 1
add edx, 0xa72a4c92
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, 0x4206a3df
mov ecx, 0xb2a794f6
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov eax, dword [0x4815cc]
mov ecx, dword [0x4815c8]
mov edx, eax
sub edx, 0x75006753
sub edx, 1
add edx, 0x75006753
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, 0x4206a3df
mov ecx, 0x93b650c3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov dword [esi + 0x28], 0x70e64659
jmp 0x40691d
mov dword [esi + 0x28], 0x6bf07e98
jmp 0x40691d
mov eax, dword [esi + 0x58]
mov dword [eax], 0x34
mov dword [esi + 0x28], 0x4aad6f66
jmp 0x40691d
mov ecx, dword [0x4815cc]
mov eax, dword [0x4815c8]
mov edx, ecx
add edx, 0xf6ea68b7
sub edx, 1
sub edx, 0xf6ea68b7
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, 0x6602b967
mov ecx, 0xd58a4b51
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov eax, dword [0x4815cc]
mov ecx, dword [0x4815c8]
mov edx, eax
add edx, 0x7805ef2d
sub edx, 1
sub edx, 0x7805ef2d
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, 0x6602b967
mov ecx, 0x4a7a620b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov dword [esi + 0x28], 0x4e34abf3
jmp 0x40691d
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov dword [esi + 0x80], eax
mov dword [esi + 0x28], 0x2a2bb596
jmp 0x40691d
mov edx, dword [esi + 0x80]
mov eax, 0xb2bcca43
mov ecx, 0x58309708
cmp edx, 0
cmovg eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov eax, dword [0x4815cc]
mov ecx, dword [0x4815c8]
mov edx, eax
add edx, 0x6fd8b3f4
sub edx, 1
sub edx, 0x6fd8b3f4
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, 0xae4c2930
mov ecx, 0x667e6b46
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov ecx, dword [0x4815cc]
mov eax, dword [0x4815c8]
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, 0xae4c2930
mov ecx, 0x464e3c2d
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov dword [esi + 0x28], 0xdb24da6b
jmp 0x40691d
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0xffffffff
sub eax, ecx
mov dword [esi + 0x84], eax
mov dword [esi + 0x28], 0x3d2fbb9f
jmp 0x40691d
mov ecx, dword [0x4815cc]
mov eax, dword [0x4815c8]
mov edx, ecx
add edx, 0xb8a808c2
sub edx, 1
sub edx, 0xb8a808c2
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, 0x712fab99
mov ecx, 0x49563eb2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x84]
mov dword [eax], ecx
mov eax, dword [0x4815cc]
mov ecx, dword [0x4815c8]
mov edx, eax
sub edx, 0x8ba2ae37
sub edx, 1
add edx, 0x8ba2ae37
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, 0x712fab99
mov ecx, 0xec644e32
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov dword [esi + 0x28], 0x4e34abf3
jmp 0x40691d
mov ecx, dword [esi + 0x40]
call fcn.00414510
mov ecx, dword [esi + 0x38]
call fcn.00414510
mov ecx, dword [esi + 0x5c]
call fcn.00414510
mov dword [esi + 0x28], 0x51810368
jmp 0x40691d
mov eax, dword [0x4815cc]
mov ecx, dword [0x4815c8]
mov edx, eax
sub edx, 0x868fd45d
sub edx, 1
add edx, 0x868fd45d
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, 0xc84575
mov ecx, 0xea1ee5e3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov ecx, dword [esi + 0x60]
call fcn.00414510
mov ecx, dword [esi + 0x64]
call fcn.00414510
mov ecx, dword [esi + 0x68]
call fcn.00414510
mov ecx, dword [0x4815cc]
mov eax, dword [0x4815c8]
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, 0xc84575
mov ecx, 0xe5285212
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x40691d
mov ecx, dword [esi + 0x88]
xor ecx, ebp
call fcn.0041e3e0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x6c
mov dword [esi + 0x28], 0x2e9d853e
jmp 0x40691d
mov ecx, dword [esi + 0x20]
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 4], eax
mov esp, eax
push eax
sub esp, 0x14
mov eax, esp
mov dword [esi], eax
push eax
mov eax, esp
mov dword [esi + 8], eax
push eax
mov eax, esp
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x30]
mov dword [eax], ecx
mov eax, dword [esi + 0x30]
mov eax, dword [esi + 0x34]
vmovsd xmm0, qword [0x42d1d8]
vmovsd qword [eax], xmm0
mov ecx, dword [esi + 0x38]
lea eax, str.yiqv
sub esp, 4
mov dword [esp], eax
call fcn.00414290
mov ecx, dword [esi]
mov eax, dword [esi + 4]
mov edx, dword [esi + 0x3c]
vmovsd xmm0, qword [0x42d1d0]
vmovsd qword [edx], xmm0
vmovsd xmm0, qword [0x42d1c8]
vmovsd qword [eax], xmm0
lea eax, str.kdfzddwjlvbvrh
sub esp, 4
mov dword [esp], eax
call fcn.00414290
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
mov dword [ecx], 0x2ff
mov dword [eax], 0x1fc
mov dword [esi + 0x28], 0x67d2f422
jmp 0x40691d
mov dword [esi + 0x28], 0x8886bd24
jmp 0x40691d
mov dword [esi + 0x28], 0x44f273db
jmp 0x40691d
mov eax, dword [esi + 0x54]
mov dword [esi + 0x28], 0xff256b6a
jmp 0x40691d
mov dword [esi + 0x28], 0x74b8cab2
jmp 0x40691d
mov dword [esi + 0x28], 0x46a81274
jmp 0x40691d
mov eax, dword [esi + 0x54]
mov ecx, dword [eax]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0xffffffff
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, dword [esi + 0x54]
mov dword [eax], ecx
mov dword [esi + 0x28], 0xe49cb49c
jmp 0x40691d
mov dword [esi + 0x28], 0xb2a794f6
jmp 0x40691d
mov dword [esi + 0x28], 0xd58a4b51
jmp 0x40691d
mov dword [esi + 0x28], 0x667e6b46
jmp 0x40691d
mov ecx, dword [esi + 0x60]
call fcn.00414510
mov ecx, dword [esi + 0x64]
call fcn.00414510
mov ecx, dword [esi + 0x68]
call fcn.00414510
mov dword [esi + 0x28], 0xea1ee5e3
jmp 0x40544f