Function at 0x407dd0
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push esi
and esp, 0xfffffff8
mov eax, 0x1138
call fcn.004bc400
mov eax, dword [ebp + 8]
cmp dword [ebp + 8], 0
jne 0x407e11
mov dword [esp + 0x9a0], 0
cmp dword [esp + 0x9a0], 0x25
jae 0x407e0f
mov dword [esp + 0x9a4], 0
jmp 0x40f51e
jmp 0x407e11
lea ecx, [esp + 0x98f]
lea eax, [esp + 0x98e]
mov dword [esp], eax
call fcn.0040f530
sub esp, 4
lea eax, [esp + 0x99f]
mov dword [esp + 0x9ac], eax
lea eax, [esp + 0x98f]
mov dword [esp + 0x9a8], eax
lea eax, [esp + 0xaa4]
mov dword [esp + 0xaac], eax
mov eax, dword [esp + 0xaac]
mov dword [esp + 0xb08], 0x30
mov ecx, dword [esp + 0xb08]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xb04], ecx
mov ecx, dword [esp + 0xb04]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xaa4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xa98]
mov dword [esp + 0xabc], ecx
mov dword [esp + 0xab8], eax
mov eax, dword [esp + 0xabc]
mov ecx, dword [esp + 0xab8]
mov dword [eax], ecx
mov ecx, dword [esp + 0xab8]
mov dword [esp + 0xb0c], ecx
mov ecx, dword [esp + 0xb0c]
mov edx, dword [esp + 0xb0c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xab0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xab4], ecx
mov ecx, dword [esp + 0xab8]
add ecx, dword [esp + 0xab0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xab4]
mov dword [eax + 8], ecx
lea eax, [esp + 0xa98]
mov dword [esp + 0xac0], eax
mov ecx, dword [esp + 0xac0]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x4080b9
lea eax, [esp + 0xa98]
mov dword [esp + 0xac4], eax
mov eax, dword [esp + 0xac4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xa94], eax
mov eax, dword [esp + 0xa94]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xa94], ecx
cmp eax, 0
je 0x4080b7
mov eax, dword [esp + 0xa94]
lea ecx, [esp + 0xa98]
mov dword [esp + 0xadc], ecx
mov dword [esp + 0xad8], eax
mov eax, dword [esp + 0xadc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xad8]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xae4], 0xac8d2093
mov dword [esp + 0xae0], 0x6bc1738f
mov eax, dword [esp + 0xae4]
mov dword [esp + 0xad4], ecx
mov dword [esp + 0xad0], eax
mov eax, dword [esp + 0xad0]
mov dword [esp + 0xacc], eax
mov eax, dword [esp + 0xad4]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xad4], ecx
mov al, byte [eax]
mov byte [esp + 0xacb], al
cmp byte [esp + 0xacb], 0
je 0x40808a
mov ecx, dword [esp + 0xacc]
mov al, byte [esp + 0xacb]
mov dword [esp + 0xb14], ecx
mov byte [esp + 0xb13], al
mov eax, dword [esp + 0xb14]
mov dword [esp + 0x8d0], eax
movsx eax, byte [esp + 0xb13]
cmp eax, 0x41
jl 0x408059
movsx eax, byte [esp + 0xb13]
cmp eax, 0x5a
jg 0x408059
movsx eax, byte [esp + 0xb13]
or eax, 0x20
mov dword [esp + 0x8cc], eax
jmp 0x408068
movsx eax, byte [esp + 0xb13]
mov dword [esp + 0x8cc], eax
mov eax, dword [esp + 0x8d0]
mov ecx, dword [esp + 0x8cc]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xacc], eax
jmp 0x407fd7
mov eax, dword [esp + 0xacc]
mov dword [esp + 0xaec], 0xac8d2093
mov dword [esp + 0xae8], 0x6bc1738f
mov ecx, dword [esp + 0xae8]
cmp eax, ecx
je 0x4080e7
jmp 0x407f47
jmp 0x4080b9
lea eax, [esp + 0xaa4]
mov dword [esp + 0xb00], eax
mov eax, dword [esp + 0xb00]
mov ecx, dword [eax]
mov dword [esp + 0xb18], ecx
mov ecx, dword [esp + 0xb18]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x407e86
mov eax, dword [esp + 0xa94]
lea ecx, [esp + 0xa98]
mov dword [esp + 0xafc], ecx
mov dword [esp + 0xaf8], eax
mov eax, dword [esp + 0xafc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xaf4], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xaf0], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xaf4]
mov edx, dword [esp + 0xaf0]
mov esi, dword [esp + 0xaf8]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xaa8], eax
mov eax, dword [esp + 0xaa8]
mov dword [esp + 0x8c4], eax
mov eax, dword [esp + 0x9a8]
mov dword [esp + 0xa04], eax
mov eax, dword [esp + 0xa04]
mov dword [esp + 0xa08], eax
mov eax, dword [esp + 0xa08]
mov dword [esp + 0x8c8], eax
mov dword [esp + 0xa3c], eax
mov eax, dword [esp + 0xa3c]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x408217
mov eax, dword [esp + 0x8c8]
mov dword [esp + 0xa90], eax
mov dword [esp + 0xa8c], eax
mov eax, dword [esp + 0xa90]
mov dword [esp + 0x8c0], eax
mov dword [esp + 0xa88], 0
cmp dword [esp + 0xa88], 0x10
jge 0x408215
mov eax, dword [esp + 0x8c0]
mov ecx, dword [esp + 0xa8c]
mov edx, dword [esp + 0xa88]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xa88]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xa88]
add eax, 1
mov dword [esp + 0xa88], eax
jmp 0x4081ca
jmp 0x408217
mov eax, dword [esp + 0x8c4]
mov ecx, dword [esp + 0x8c8]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [ebp + 8]
mov dword [esp + 0x988], eax
lea ecx, [esp + 0x977]
lea eax, [esp + 0x976]
mov dword [esp], eax
call fcn.0040f590
sub esp, 4
lea eax, [esp + 0x987]
mov dword [esp + 0x9b4], eax
lea eax, [esp + 0x977]
mov dword [esp + 0x9b0], eax
lea eax, [esp + 0xb2c]
mov dword [esp + 0xb34], eax
mov eax, dword [esp + 0xb34]
mov dword [esp + 0xb90], 0x30
mov ecx, dword [esp + 0xb90]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xb8c], ecx
mov ecx, dword [esp + 0xb8c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xb2c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xb20]
mov dword [esp + 0xb44], ecx
mov dword [esp + 0xb40], eax
mov eax, dword [esp + 0xb44]
mov ecx, dword [esp + 0xb40]
mov dword [eax], ecx
mov ecx, dword [esp + 0xb40]
mov dword [esp + 0xb94], ecx
mov ecx, dword [esp + 0xb94]
mov edx, dword [esp + 0xb94]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xb38], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xb3c], ecx
mov ecx, dword [esp + 0xb40]
add ecx, dword [esp + 0xb38]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xb3c]
mov dword [eax + 8], ecx
lea eax, [esp + 0xb20]
mov dword [esp + 0xb48], eax
mov ecx, dword [esp + 0xb48]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x4084df
lea eax, [esp + 0xb20]
mov dword [esp + 0xb4c], eax
mov eax, dword [esp + 0xb4c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xb1c], eax
mov eax, dword [esp + 0xb1c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xb1c], ecx
cmp eax, 0
je 0x4084dd
mov eax, dword [esp + 0xb1c]
lea ecx, [esp + 0xb20]
mov dword [esp + 0xb64], ecx
mov dword [esp + 0xb60], eax
mov eax, dword [esp + 0xb64]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xb60]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xb6c], 0xee1fa105
mov dword [esp + 0xb68], 0x6e4fbb25
mov eax, dword [esp + 0xb6c]
mov dword [esp + 0xb5c], ecx
mov dword [esp + 0xb58], eax
mov eax, dword [esp + 0xb58]
mov dword [esp + 0xb54], eax
mov eax, dword [esp + 0xb5c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xb5c], ecx
mov al, byte [eax]
mov byte [esp + 0xb53], al
cmp byte [esp + 0xb53], 0
je 0x4084b0
mov ecx, dword [esp + 0xb54]
mov al, byte [esp + 0xb53]
mov dword [esp + 0xb9c], ecx
mov byte [esp + 0xb9b], al
mov eax, dword [esp + 0xb9c]
mov dword [esp + 0x8bc], eax
movsx eax, byte [esp + 0xb9b]
cmp eax, 0x41
jl 0x40847f
movsx eax, byte [esp + 0xb9b]
cmp eax, 0x5a
jg 0x40847f
movsx eax, byte [esp + 0xb9b]
or eax, 0x20
mov dword [esp + 0x8b8], eax
jmp 0x40848e
movsx eax, byte [esp + 0xb9b]
mov dword [esp + 0x8b8], eax
mov eax, dword [esp + 0x8bc]
mov ecx, dword [esp + 0x8b8]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xb54], eax
jmp 0x4083fd
mov eax, dword [esp + 0xb54]
mov dword [esp + 0xb74], 0xee1fa105
mov dword [esp + 0xb70], 0x6e4fbb25
mov ecx, dword [esp + 0xb70]
cmp eax, ecx
je 0x40850d
jmp 0x40836d
jmp 0x4084df
lea eax, [esp + 0xb2c]
mov dword [esp + 0xb88], eax
mov eax, dword [esp + 0xb88]
mov ecx, dword [eax]
mov dword [esp + 0xba0], ecx
mov ecx, dword [esp + 0xba0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x4082ac
mov eax, dword [esp + 0xb1c]
lea ecx, [esp + 0xb20]
mov dword [esp + 0xb84], ecx
mov dword [esp + 0xb80], eax
mov eax, dword [esp + 0xb84]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xb7c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xb78], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xb7c]
mov edx, dword [esp + 0xb78]
mov esi, dword [esp + 0xb80]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xb30], eax
mov eax, dword [esp + 0xb30]
mov dword [esp + 0x8b0], eax
mov eax, dword [esp + 0x9b0]
mov dword [esp + 0xa00], eax
mov eax, dword [esp + 0xa00]
mov dword [esp + 0xa0c], eax
mov eax, dword [esp + 0xa0c]
mov dword [esp + 0x8b4], eax
mov dword [esp + 0xa38], eax
mov eax, dword [esp + 0xa38]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x40863d
mov eax, dword [esp + 0x8b4]
mov dword [esp + 0xa84], eax
mov dword [esp + 0xa80], eax
mov eax, dword [esp + 0xa84]
mov dword [esp + 0x8ac], eax
mov dword [esp + 0xa7c], 0
cmp dword [esp + 0xa7c], 0x10
jge 0x40863b
mov eax, dword [esp + 0x8ac]
mov ecx, dword [esp + 0xa80]
mov edx, dword [esp + 0xa7c]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xa7c]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xa7c]
add eax, 1
mov dword [esp + 0xa7c], eax
jmp 0x4085f0
jmp 0x40863d
mov eax, dword [esp + 0x8b0]
mov edx, dword [esp + 0x8b4]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
mov eax, dword [esp + 0x988]
movzx eax, word [eax]
mov dword [esp + 0x8a4], eax
lea ecx, [esp + 0x96b]
call fcn.0040f5f0
mov dword [esp + 0x970], edx
mov dword [esp + 0x96c], eax
lea eax, [esp + 0x96c]
mov dword [esp + 0x9b8], eax
mov eax, dword [esp + 0x9b8]
mov dword [esp + 0xe4c], eax
mov eax, dword [esp + 0xe4c]
mov dword [esp + 0x8a8], eax
test byte [eax], 1
jne 0x40a44d
mov eax, dword [esp + 0x8a8]
add eax, 4
mov dword [esp + 0xe54], eax
mov dword [esp + 0xe50], 0
mov eax, dword [esp + 0xe50]
cmp eax, 1
jae 0x40a44b
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x898], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x898]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x89c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x89c]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x8a0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x8a0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x408ca1
mov eax, dword [esp + 0xe54]
mov ecx, dword [esp + 0xe50]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x888], eax
mov dword [esp + 0xf3c], 0xc04e8000
mov dword [esp + 0xf38], 0
xor eax, eax
je 0x40877f
add dl, dh
movups xmm0, xmmword [esp + 0xf38]
movsd xmm0, qword [esp + 0xf38]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xf30], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x88c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x88c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x894], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x890], eax
call fcn.004347c0
mov ecx, dword [esp + 0x890]
mov dl, al
mov eax, dword [esp + 0x894]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4088ab
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x87c], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x87c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x880], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x880]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x884], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x884]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4088a9
mov dword [esp + 0xf40], 6
jmp 0x4089d6
jmp 0x4088ab
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x870], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x870]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x878], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x874], eax
call fcn.004347c0
mov ecx, dword [esp + 0x874]
mov dl, al
mov eax, dword [esp + 0x878]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4089d4
movsd xmm0, qword [esp + 0xf30]
movsd qword [esp + 0x860], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x858], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x858]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x86c], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x85c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x85c]
movsd xmm0, qword [esp + 0x860]
mov dl, al
mov eax, dword [esp + 0x86c]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xf40], eax
jmp 0x4089d6
ud2
mov eax, dword [esp + 0x888]
mov ecx, dword [esp + 0xf40]
add eax, ecx
mov dword [esp + 0x844], eax
mov eax, dword [esp + 0xe54]
mov ecx, dword [esp + 0xe50]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x848], eax
mov dword [esp + 0xf24], 0xc04e8000
mov dword [esp + 0xf20], 0
xor eax, eax
je 0x408a20
add dl, dh
movups xmm0, xmmword [esp + 0xf20]
movsd xmm0, qword [esp + 0xf20]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xf18], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x84c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x84c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x854], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x850], eax
call fcn.004347c0
mov ecx, dword [esp + 0x850]
mov dl, al
mov eax, dword [esp + 0x854]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x408b4c
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x838], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x838]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x83c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x83c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x840], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x840]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x408b4a
mov dword [esp + 0xf2c], 6
jmp 0x408c77
jmp 0x408b4c
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x82c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x82c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x834], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x830], eax
call fcn.004347c0
mov ecx, dword [esp + 0x830]
mov dl, al
mov eax, dword [esp + 0x834]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x408c75
movsd xmm0, qword [esp + 0xf18]
movsd qword [esp + 0x820], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x818], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x818]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x828], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x81c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x81c]
movsd xmm0, qword [esp + 0x820]
mov dl, al
mov eax, dword [esp + 0x828]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xf2c], eax
jmp 0x408c77
ud2
mov edx, dword [esp + 0x844]
mov eax, dword [esp + 0x848]
and eax, dword [esp + 0xf2c]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0xe54]
mov ecx, dword [esp + 0xe50]
mov dword [eax + ecx*4], edx
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x80c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x80c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x814], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 5
mov dword [esp + 0x810], eax
call fcn.004347c0
mov ecx, dword [esp + 0x810]
mov dl, al
mov eax, dword [esp + 0x814]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x409e72
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x800], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x800]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x804], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x804]
movsx ecx, cl
shl ecx, 2
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x808], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x808]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4092dd
mov eax, dword [esp + 0xe54]
mov ecx, dword [esp + 0xe50]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x7f0], eax
mov dword [esp + 0xf0c], 0xc04e0000
mov dword [esp + 0xf08], 0
xor eax, eax
je 0x408dbb
add dl, dh
movups xmm0, xmmword [esp + 0xf08]
movsd xmm0, qword [esp + 0xf08]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xf00], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x7f4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x7f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x7fc], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x7f8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x7f8]
mov dl, al
mov eax, dword [esp + 0x7fc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x408ee7
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x7e4], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x7e4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x7e8], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x7e8]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x7ec], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x7ec]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x408ee5
mov dword [esp + 0xf14], 6
jmp 0x409012
jmp 0x408ee7
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x7d8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x7d8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x7e0], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x7dc], eax
call fcn.004347c0
mov ecx, dword [esp + 0x7dc]
mov dl, al
mov eax, dword [esp + 0x7e0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x409010
movsd xmm0, qword [esp + 0xf00]
movsd qword [esp + 0x7c8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x7c0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x7c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x7d4], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x7c4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x7c4]
movsd xmm0, qword [esp + 0x7c8]
mov dl, al
mov eax, dword [esp + 0x7d4]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xf14], eax
jmp 0x409012
ud2
mov eax, dword [esp + 0x7f0]
mov ecx, dword [esp + 0xf14]
add eax, ecx
mov dword [esp + 0x7ac], eax
mov eax, dword [esp + 0xe54]
mov ecx, dword [esp + 0xe50]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x7b0], eax
mov dword [esp + 0xef4], 0xc04e0000
mov dword [esp + 0xef0], 0
xor eax, eax
je 0x40905c
add dl, dh
movups xmm0, xmmword [esp + 0xef0]
movsd xmm0, qword [esp + 0xef0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xee8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x7b4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x7b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x7bc], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x7b8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x7b8]
mov dl, al
mov eax, dword [esp + 0x7bc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x409188
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x7a0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x7a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x7a4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x7a4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x7a8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x7a8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x409186
mov dword [esp + 0xefc], 6
jmp 0x4092b3
jmp 0x409188
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x794], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x794]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x79c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x798], eax
call fcn.004347c0
mov ecx, dword [esp + 0x798]
mov dl, al
mov eax, dword [esp + 0x79c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4092b1
movsd xmm0, qword [esp + 0xee8]
movsd qword [esp + 0x788], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x780], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x780]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x790], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x784], eax
call fcn.004347c0
mov ecx, dword [esp + 0x784]
movsd xmm0, qword [esp + 0x788]
mov dl, al
mov eax, dword [esp + 0x790]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xefc], eax
jmp 0x4092b3
ud2
mov edx, dword [esp + 0x7ac]
mov eax, dword [esp + 0x7b0]
and eax, dword [esp + 0xefc]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0xe54]
mov ecx, dword [esp + 0xe50]
mov dword [eax + ecx*4], edx
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x774], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x774]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x778], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x778]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x77c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x77c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4098a0
mov eax, dword [esp + 0xe54]
mov ecx, dword [esp + 0xe50]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x764], eax
mov dword [esp + 0xedc], 0xc04d8000
mov dword [esp + 0xed8], 0
xor eax, eax
je 0x40937e
add dl, dh
movups xmm0, xmmword [esp + 0xed8]
movsd xmm0, qword [esp + 0xed8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xed0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x768], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x768]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x770], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x76c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x76c]
mov dl, al
mov eax, dword [esp + 0x770]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4094aa
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x758], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x758]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x75c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x75c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x760], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x760]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4094a8
mov dword [esp + 0xee4], 6
jmp 0x4095d5
jmp 0x4094aa
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x74c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x74c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x754], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x750], eax
call fcn.004347c0
mov ecx, dword [esp + 0x750]
mov dl, al
mov eax, dword [esp + 0x754]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x4095d3
movsd xmm0, qword [esp + 0xed0]
movsd qword [esp + 0x740], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x738], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x738]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x748], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x73c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x73c]
movsd xmm0, qword [esp + 0x740]
mov dl, al
mov eax, dword [esp + 0x748]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xee4], eax
jmp 0x4095d5
ud2
mov eax, dword [esp + 0x764]
mov ecx, dword [esp + 0xee4]
add eax, ecx
mov dword [esp + 0x724], eax
mov eax, dword [esp + 0xe54]
mov ecx, dword [esp + 0xe50]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x728], eax
mov dword [esp + 0xec4], 0xc04d8000
mov dword [esp + 0xec0], 0
xor eax, eax
je 0x40961f
add dl, dh
movups xmm0, xmmword [esp + 0xec0]
movsd xmm0, qword [esp + 0xec0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xeb8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x72c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x72c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x734], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x730], eax
call fcn.004347c0
mov ecx, dword [esp + 0x730]
mov dl, al
mov eax, dword [esp + 0x734]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40974b
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x718], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x718]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x71c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x71c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x720], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x720]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x409749
mov dword [esp + 0xecc], 6
jmp 0x409876
jmp 0x40974b
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x70c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x70c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x714], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x710], eax
call fcn.004347c0
mov ecx, dword [esp + 0x710]
mov dl, al
mov eax, dword [esp + 0x714]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x409874
movsd xmm0, qword [esp + 0xeb8]
movsd qword [esp + 0x700], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x6f8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x6f8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x708], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x6fc], eax
call fcn.004347c0
mov ecx, dword [esp + 0x6fc]
movsd xmm0, qword [esp + 0x700]
mov dl, al
mov eax, dword [esp + 0x708]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xecc], eax
jmp 0x409876
ud2
mov edx, dword [esp + 0x724]
mov eax, dword [esp + 0x728]
and eax, dword [esp + 0xecc]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0xe54]
mov ecx, dword [esp + 0xe50]
mov dword [eax + ecx*4], edx
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x6ec], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x6ec]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6f4], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x6f0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x6f0]
mov dl, al
mov eax, dword [esp + 0x6f4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x409e70
mov eax, dword [esp + 0xe54]
mov ecx, dword [esp + 0xe50]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x6dc], eax
mov eax, dword [esp + 0xe50]
add eax, 0xffffffc2
cvtsi2sd xmm0, eax
movsd qword [esp + 0xea8], xmm0
xor eax, eax
je 0x40994d
add dl, dh
movups xmm0, xmmword [esp + 0xea8]
movsd xmm0, qword [esp + 0xea8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xea0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x6e0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x6e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6e8], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x6e4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x6e4]
mov dl, al
mov eax, dword [esp + 0x6e8]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x409a79
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x6d0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x6d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6d4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x6d4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x6d8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x6d8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x409a77
mov dword [esp + 0xeb4], 6
jmp 0x409ba4
jmp 0x409a79
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x6c4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x6c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6cc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x6c8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x6c8]
mov dl, al
mov eax, dword [esp + 0x6cc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x409ba2
movsd xmm0, qword [esp + 0xea0]
movsd qword [esp + 0x6b8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x6b0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x6b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6c0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x6b4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x6b4]
movsd xmm0, qword [esp + 0x6b8]
mov dl, al
mov eax, dword [esp + 0x6c0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xeb4], eax
jmp 0x409ba4
ud2
mov eax, dword [esp + 0x6dc]
mov ecx, dword [esp + 0xeb4]
add eax, ecx
mov dword [esp + 0x69c], eax
mov eax, dword [esp + 0xe54]
mov ecx, dword [esp + 0xe50]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x6a0], eax
mov eax, dword [esp + 0xe50]
add eax, 0xffffffc2
cvtsi2sd xmm0, eax
movsd qword [esp + 0xe90], xmm0
xor eax, eax
je 0x409bef
add dl, dh
movups xmm0, xmmword [esp + 0xe90]
movsd xmm0, qword [esp + 0xe90]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xe88], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x6a4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x6a4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6ac], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x6a8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x6a8]
mov dl, al
mov eax, dword [esp + 0x6ac]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x409d1b
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x690], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x690]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x694], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x694]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x698], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x698]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x409d19
mov dword [esp + 0xe9c], 6
jmp 0x409e46
jmp 0x409d1b
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x684], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x684]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x68c], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x688], eax
call fcn.004347c0
mov ecx, dword [esp + 0x688]
mov dl, al
mov eax, dword [esp + 0x68c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x409e44
movsd xmm0, qword [esp + 0xe88]
movsd qword [esp + 0x678], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x670], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x670]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x680], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x674], eax
call fcn.004347c0
mov ecx, dword [esp + 0x674]
movsd xmm0, qword [esp + 0x678]
mov dl, al
mov eax, dword [esp + 0x680]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xe9c], eax
jmp 0x409e46
ud2
mov edx, dword [esp + 0x69c]
mov eax, dword [esp + 0x6a0]
and eax, dword [esp + 0xe9c]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0xe54]
mov ecx, dword [esp + 0xe50]
mov dword [eax + ecx*4], edx
jmp 0x409e72
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x664], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x664]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x668], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x668]
movsx ecx, cl
imul ecx, ecx, 6
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x66c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x66c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40a435
mov eax, dword [esp + 0xe54]
mov ecx, dword [esp + 0xe50]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x654], eax
mov dword [esp + 0xe7c], 0xc04d0000
mov dword [esp + 0xe78], 0
xor eax, eax
je 0x409f13
add dl, dh
movups xmm0, xmmword [esp + 0xe78]
movsd xmm0, qword [esp + 0xe78]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xe70], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x658], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x658]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x660], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x65c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x65c]
mov dl, al
mov eax, dword [esp + 0x660]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40a03f
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x648], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x648]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x64c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x64c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x650], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x650]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40a03d
mov dword [esp + 0xe84], 6
jmp 0x40a16a
jmp 0x40a03f
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x63c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x63c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x644], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x640], eax
call fcn.004347c0
mov ecx, dword [esp + 0x640]
mov dl, al
mov eax, dword [esp + 0x644]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40a168
movsd xmm0, qword [esp + 0xe70]
movsd qword [esp + 0x630], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x628], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x628]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x638], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x62c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x62c]
movsd xmm0, qword [esp + 0x630]
mov dl, al
mov eax, dword [esp + 0x638]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xe84], eax
jmp 0x40a16a
ud2
mov eax, dword [esp + 0x654]
mov ecx, dword [esp + 0xe84]
add eax, ecx
mov dword [esp + 0x614], eax
mov eax, dword [esp + 0xe54]
mov ecx, dword [esp + 0xe50]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x618], eax
mov dword [esp + 0xe64], 0xc04d0000
mov dword [esp + 0xe60], 0
xor eax, eax
je 0x40a1b4
add dl, dh
movups xmm0, xmmword [esp + 0xe60]
movsd xmm0, qword [esp + 0xe60]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xe58], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x61c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x61c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x624], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x620], eax
call fcn.004347c0
mov ecx, dword [esp + 0x620]
mov dl, al
mov eax, dword [esp + 0x624]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40a2e0
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x608], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x608]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x60c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x60c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x610], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x610]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40a2de
mov dword [esp + 0xe6c], 6
jmp 0x40a40b
jmp 0x40a2e0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x5fc], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x5fc]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x604], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x600], eax
call fcn.004347c0
mov ecx, dword [esp + 0x600]
mov dl, al
mov eax, dword [esp + 0x604]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40a409
movsd xmm0, qword [esp + 0xe58]
movsd qword [esp + 0x5f0], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x5e8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x5e8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5f8], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x5ec], eax
call fcn.004347c0
mov ecx, dword [esp + 0x5ec]
movsd xmm0, qword [esp + 0x5f0]
mov dl, al
mov eax, dword [esp + 0x5f8]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xe6c], eax
jmp 0x40a40b
ud2
mov edx, dword [esp + 0x614]
mov eax, dword [esp + 0x618]
and eax, dword [esp + 0xe6c]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0xe54]
mov ecx, dword [esp + 0xe50]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0xe50]
add eax, 1
mov dword [esp + 0xe50], eax
jmp 0x4086ce
jmp 0x40a44d
mov eax, dword [esp + 0x8a4]
mov ecx, dword [esp + 0x8a8]
mov byte [ecx], 1
cmp eax, dword [ecx + 4]
je 0x40a48a
mov dword [esp + 0x964], 0
cmp dword [esp + 0x964], 0x50
jae 0x40a488
mov dword [esp + 0x9a4], 0
jmp 0x40f51e
jmp 0x40a48a
lea ecx, [esp + 0x953]
lea eax, [esp + 0x952]
mov dword [esp], eax
call fcn.0040f630
sub esp, 4
lea eax, [esp + 0x963]
mov dword [esp + 0x9c0], eax
lea eax, [esp + 0x953]
mov dword [esp + 0x9bc], eax
lea eax, [esp + 0xbb4]
mov dword [esp + 0xbbc], eax
mov eax, dword [esp + 0xbbc]
mov dword [esp + 0xc18], 0x30
mov ecx, dword [esp + 0xc18]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xc14], ecx
mov ecx, dword [esp + 0xc14]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xbb4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xba8]
mov dword [esp + 0xbcc], ecx
mov dword [esp + 0xbc8], eax
mov eax, dword [esp + 0xbcc]
mov ecx, dword [esp + 0xbc8]
mov dword [eax], ecx
mov ecx, dword [esp + 0xbc8]
mov dword [esp + 0xc1c], ecx
mov ecx, dword [esp + 0xc1c]
mov edx, dword [esp + 0xc1c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xbc0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xbc4], ecx
mov ecx, dword [esp + 0xbc8]
add ecx, dword [esp + 0xbc0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xbc4]
mov dword [eax + 8], ecx
lea eax, [esp + 0xba8]
mov dword [esp + 0xbd0], eax
mov ecx, dword [esp + 0xbd0]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x40a732
lea eax, [esp + 0xba8]
mov dword [esp + 0xbd4], eax
mov eax, dword [esp + 0xbd4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xba4], eax
mov eax, dword [esp + 0xba4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xba4], ecx
cmp eax, 0
je 0x40a730
mov eax, dword [esp + 0xba4]
lea ecx, [esp + 0xba8]
mov dword [esp + 0xbec], ecx
mov dword [esp + 0xbe8], eax
mov eax, dword [esp + 0xbec]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xbe8]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xbf4], 0xf7654d85
mov dword [esp + 0xbf0], 0xda899ba5
mov eax, dword [esp + 0xbf4]
mov dword [esp + 0xbe4], ecx
mov dword [esp + 0xbe0], eax
mov eax, dword [esp + 0xbe0]
mov dword [esp + 0xbdc], eax
mov eax, dword [esp + 0xbe4]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xbe4], ecx
mov al, byte [eax]
mov byte [esp + 0xbdb], al
cmp byte [esp + 0xbdb], 0
je 0x40a703
mov ecx, dword [esp + 0xbdc]
mov al, byte [esp + 0xbdb]
mov dword [esp + 0xc24], ecx
mov byte [esp + 0xc23], al
mov eax, dword [esp + 0xc24]
mov dword [esp + 0x5e4], eax
movsx eax, byte [esp + 0xc23]
cmp eax, 0x41
jl 0x40a6d2
movsx eax, byte [esp + 0xc23]
cmp eax, 0x5a
jg 0x40a6d2
movsx eax, byte [esp + 0xc23]
or eax, 0x20
mov dword [esp + 0x5e0], eax
jmp 0x40a6e1
movsx eax, byte [esp + 0xc23]
mov dword [esp + 0x5e0], eax
mov eax, dword [esp + 0x5e4]
mov ecx, dword [esp + 0x5e0]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xbdc], eax
jmp 0x40a650
mov eax, dword [esp + 0xbdc]
mov dword [esp + 0xbfc], 0xf7654d85
mov dword [esp + 0xbf8], 0xda899ba5
mov ecx, dword [esp + 0xbf8]
cmp eax, ecx
je 0x40a760
jmp 0x40a5c0
jmp 0x40a732
lea eax, [esp + 0xbb4]
mov dword [esp + 0xc10], eax
mov eax, dword [esp + 0xc10]
mov ecx, dword [eax]
mov dword [esp + 0xc28], ecx
mov ecx, dword [esp + 0xc28]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x40a4ff
mov eax, dword [esp + 0xba4]
lea ecx, [esp + 0xba8]
mov dword [esp + 0xc0c], ecx
mov dword [esp + 0xc08], eax
mov eax, dword [esp + 0xc0c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xc04], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xc00], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xc04]
mov edx, dword [esp + 0xc00]
mov esi, dword [esp + 0xc08]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xbb8], eax
mov eax, dword [esp + 0xbb8]
mov dword [esp + 0x5d8], eax
mov eax, dword [esp + 0x9bc]
mov dword [esp + 0x9fc], eax
mov eax, dword [esp + 0x9fc]
mov dword [esp + 0xa10], eax
mov eax, dword [esp + 0xa10]
mov dword [esp + 0x5dc], eax
mov dword [esp + 0xa34], eax
mov eax, dword [esp + 0xa34]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x40a890
mov eax, dword [esp + 0x5dc]
mov dword [esp + 0xa78], eax
mov dword [esp + 0xa74], eax
mov eax, dword [esp + 0xa78]
mov dword [esp + 0x5d4], eax
mov dword [esp + 0xa70], 0
cmp dword [esp + 0xa70], 0x10
jge 0x40a88e
mov eax, dword [esp + 0x5d4]
mov ecx, dword [esp + 0xa74]
mov edx, dword [esp + 0xa70]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xa70]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xa70]
add eax, 1
mov dword [esp + 0xa70], eax
jmp 0x40a843
jmp 0x40a890
mov eax, dword [esp + 0x5d8]
mov edx, dword [esp + 0x5dc]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
lea ecx, [esp + 0x943]
call fcn.0040f690
mov dword [esp + 0x948], edx
mov dword [esp + 0x944], eax
lea eax, [esp + 0x944]
mov dword [esp + 0x9c4], eax
mov eax, dword [esp + 0x9c4]
mov dword [esp + 0xf44], eax
mov eax, dword [esp + 0xf44]
mov dword [esp + 0x5d0], eax
test byte [eax], 1
jne 0x40c68f
mov eax, dword [esp + 0x5d0]
add eax, 4
mov dword [esp + 0xf4c], eax
mov dword [esp + 0xf48], 0
mov eax, dword [esp + 0xf48]
cmp eax, 1
jae 0x40c68d
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x5c4], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x5c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5c8], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x5c8]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x5cc], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x5cc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40aee3
mov eax, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x5b4], eax
mov dword [esp + 0x1034], 0xc04d8000
mov dword [esp + 0x1030], 0
xor eax, eax
je 0x40a9c1
add dl, dh
movups xmm0, xmmword [esp + 0x1030]
movsd xmm0, qword [esp + 0x1030]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1028], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x5b8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x5b8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5c0], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x5bc], eax
call fcn.004347c0
mov ecx, dword [esp + 0x5bc]
mov dl, al
mov eax, dword [esp + 0x5c0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40aaed
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x5a8], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x5a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5ac], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x5ac]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x5b0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x5b0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40aaeb
mov dword [esp + 0x1038], 6
jmp 0x40ac18
jmp 0x40aaed
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x59c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x59c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x5a4], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x5a0], eax
call fcn.004347c0
mov ecx, dword [esp + 0x5a0]
mov dl, al
mov eax, dword [esp + 0x5a4]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40ac16
movsd xmm0, qword [esp + 0x1028]
movsd qword [esp + 0x590], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x588], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x588]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x598], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x58c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x58c]
movsd xmm0, qword [esp + 0x590]
mov dl, al
mov eax, dword [esp + 0x598]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1038], eax
jmp 0x40ac18
ud2
mov eax, dword [esp + 0x5b4]
mov ecx, dword [esp + 0x1038]
add eax, ecx
mov dword [esp + 0x574], eax
mov eax, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x578], eax
mov dword [esp + 0x101c], 0xc04d8000
mov dword [esp + 0x1018], 0
xor eax, eax
je 0x40ac62
add dl, dh
movups xmm0, xmmword [esp + 0x1018]
movsd xmm0, qword [esp + 0x1018]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1010], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x57c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x57c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x584], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x580], eax
call fcn.004347c0
mov ecx, dword [esp + 0x580]
mov dl, al
mov eax, dword [esp + 0x584]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40ad8e
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x568], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x568]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x56c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x56c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x570], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x570]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40ad8c
mov dword [esp + 0x1024], 6
jmp 0x40aeb9
jmp 0x40ad8e
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x55c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x55c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x564], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x560], eax
call fcn.004347c0
mov ecx, dword [esp + 0x560]
mov dl, al
mov eax, dword [esp + 0x564]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40aeb7
movsd xmm0, qword [esp + 0x1010]
movsd qword [esp + 0x550], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x548], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x548]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x558], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x54c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x54c]
movsd xmm0, qword [esp + 0x550]
mov dl, al
mov eax, dword [esp + 0x558]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1024], eax
jmp 0x40aeb9
ud2
mov edx, dword [esp + 0x574]
mov eax, dword [esp + 0x578]
and eax, dword [esp + 0x1024]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
mov dword [eax + ecx*4], edx
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x53c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x53c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x544], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 5
mov dword [esp + 0x540], eax
call fcn.004347c0
mov ecx, dword [esp + 0x540]
mov dl, al
mov eax, dword [esp + 0x544]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40c0b4
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x530], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x530]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x534], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x534]
movsx ecx, cl
shl ecx, 2
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x538], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x538]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40b51f
mov eax, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x520], eax
mov dword [esp + 0x1004], 0xc04d0000
mov dword [esp + 0x1000], 0
xor eax, eax
je 0x40affd
add dl, dh
movups xmm0, xmmword [esp + 0x1000]
movsd xmm0, qword [esp + 0x1000]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xff8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x524], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x524]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x52c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x528], eax
call fcn.004347c0
mov ecx, dword [esp + 0x528]
mov dl, al
mov eax, dword [esp + 0x52c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40b129
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x514], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x514]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x518], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x518]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x51c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x51c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40b127
mov dword [esp + 0x100c], 6
jmp 0x40b254
jmp 0x40b129
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x508], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x508]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x510], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x50c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x50c]
mov dl, al
mov eax, dword [esp + 0x510]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40b252
movsd xmm0, qword [esp + 0xff8]
movsd qword [esp + 0x4f8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x4f0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x4f0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x504], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x4f4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x4f4]
movsd xmm0, qword [esp + 0x4f8]
mov dl, al
mov eax, dword [esp + 0x504]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x100c], eax
jmp 0x40b254
ud2
mov eax, dword [esp + 0x520]
mov ecx, dword [esp + 0x100c]
add eax, ecx
mov dword [esp + 0x4dc], eax
mov eax, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x4e0], eax
mov dword [esp + 0xfec], 0xc04d0000
mov dword [esp + 0xfe8], 0
xor eax, eax
je 0x40b29e
add dl, dh
movups xmm0, xmmword [esp + 0xfe8]
movsd xmm0, qword [esp + 0xfe8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xfe0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x4e4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x4e4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4ec], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x4e8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x4e8]
mov dl, al
mov eax, dword [esp + 0x4ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40b3ca
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x4d0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x4d0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4d4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x4d4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4d8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x4d8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40b3c8
mov dword [esp + 0xff4], 6
jmp 0x40b4f5
jmp 0x40b3ca
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x4c4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x4c4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4cc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x4c8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x4c8]
mov dl, al
mov eax, dword [esp + 0x4cc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40b4f3
movsd xmm0, qword [esp + 0xfe0]
movsd qword [esp + 0x4b8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x4b0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x4b0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4c0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x4b4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x4b4]
movsd xmm0, qword [esp + 0x4b8]
mov dl, al
mov eax, dword [esp + 0x4c0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xff4], eax
jmp 0x40b4f5
ud2
mov edx, dword [esp + 0x4dc]
mov eax, dword [esp + 0x4e0]
and eax, dword [esp + 0xff4]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
mov dword [eax + ecx*4], edx
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x4a4], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x4a4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4a8], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x4a8]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x4ac], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x4ac]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40bae2
mov eax, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x494], eax
mov dword [esp + 0xfd4], 0xc04c8000
mov dword [esp + 0xfd0], 0
xor eax, eax
je 0x40b5c0
add dl, dh
movups xmm0, xmmword [esp + 0xfd0]
movsd xmm0, qword [esp + 0xfd0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xfc8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x498], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x498]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x4a0], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x49c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x49c]
mov dl, al
mov eax, dword [esp + 0x4a0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40b6ec
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x488], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x488]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x48c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x48c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x490], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x490]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40b6ea
mov dword [esp + 0xfdc], 6
jmp 0x40b817
jmp 0x40b6ec
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x47c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x47c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x484], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x480], eax
call fcn.004347c0
mov ecx, dword [esp + 0x480]
mov dl, al
mov eax, dword [esp + 0x484]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40b815
movsd xmm0, qword [esp + 0xfc8]
movsd qword [esp + 0x470], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x468], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x468]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x478], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x46c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x46c]
movsd xmm0, qword [esp + 0x470]
mov dl, al
mov eax, dword [esp + 0x478]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xfdc], eax
jmp 0x40b817
ud2
mov eax, dword [esp + 0x494]
mov ecx, dword [esp + 0xfdc]
add eax, ecx
mov dword [esp + 0x454], eax
mov eax, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x458], eax
mov dword [esp + 0xfbc], 0xc04c8000
mov dword [esp + 0xfb8], 0
xor eax, eax
je 0x40b861
add dl, dh
movups xmm0, xmmword [esp + 0xfb8]
movsd xmm0, qword [esp + 0xfb8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xfb0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x45c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x45c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x464], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x460], eax
call fcn.004347c0
mov ecx, dword [esp + 0x460]
mov dl, al
mov eax, dword [esp + 0x464]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40b98d
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x448], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x448]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x44c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x44c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x450], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x450]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40b98b
mov dword [esp + 0xfc4], 6
jmp 0x40bab8
jmp 0x40b98d
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x43c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x43c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x444], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x440], eax
call fcn.004347c0
mov ecx, dword [esp + 0x440]
mov dl, al
mov eax, dword [esp + 0x444]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40bab6
movsd xmm0, qword [esp + 0xfb0]
movsd qword [esp + 0x430], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x428], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x428]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x438], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x42c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x42c]
movsd xmm0, qword [esp + 0x430]
mov dl, al
mov eax, dword [esp + 0x438]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xfc4], eax
jmp 0x40bab8
ud2
mov edx, dword [esp + 0x454]
mov eax, dword [esp + 0x458]
and eax, dword [esp + 0xfc4]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
mov dword [eax + ecx*4], edx
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x41c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x41c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x424], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x420], eax
call fcn.004347c0
mov ecx, dword [esp + 0x420]
mov dl, al
mov eax, dword [esp + 0x424]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40c0b2
mov eax, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x40c], eax
mov eax, dword [esp + 0xf48]
add eax, 0xffffffc4
cvtsi2sd xmm0, eax
movsd qword [esp + 0xfa0], xmm0
xor eax, eax
je 0x40bb8f
add dl, dh
movups xmm0, xmmword [esp + 0xfa0]
movsd xmm0, qword [esp + 0xfa0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xf98], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x410], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x410]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x418], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x414], eax
call fcn.004347c0
mov ecx, dword [esp + 0x414]
mov dl, al
mov eax, dword [esp + 0x418]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40bcbb
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x400], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x400]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x404], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x404]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x408], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x408]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40bcb9
mov dword [esp + 0xfac], 6
jmp 0x40bde6
jmp 0x40bcbb
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x3f4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x3f4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3fc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x3f8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x3f8]
mov dl, al
mov eax, dword [esp + 0x3fc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40bde4
movsd xmm0, qword [esp + 0xf98]
movsd qword [esp + 0x3e8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x3e0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x3e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3f0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x3e4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x3e4]
movsd xmm0, qword [esp + 0x3e8]
mov dl, al
mov eax, dword [esp + 0x3f0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xfac], eax
jmp 0x40bde6
ud2
mov eax, dword [esp + 0x40c]
mov ecx, dword [esp + 0xfac]
add eax, ecx
mov dword [esp + 0x3cc], eax
mov eax, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x3d0], eax
mov eax, dword [esp + 0xf48]
add eax, 0xffffffc4
cvtsi2sd xmm0, eax
movsd qword [esp + 0xf88], xmm0
xor eax, eax
je 0x40be31
add dl, dh
movups xmm0, xmmword [esp + 0xf88]
movsd xmm0, qword [esp + 0xf88]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xf80], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x3d4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x3d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3dc], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x3d8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x3d8]
mov dl, al
mov eax, dword [esp + 0x3dc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40bf5d
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x3c0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x3c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3c4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x3c4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x3c8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x3c8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40bf5b
mov dword [esp + 0xf94], 6
jmp 0x40c088
jmp 0x40bf5d
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x3b4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x3b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3bc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x3b8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x3b8]
mov dl, al
mov eax, dword [esp + 0x3bc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40c086
movsd xmm0, qword [esp + 0xf80]
movsd qword [esp + 0x3a8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x3a0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x3a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x3b0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x3a4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x3a4]
movsd xmm0, qword [esp + 0x3a8]
mov dl, al
mov eax, dword [esp + 0x3b0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xf94], eax
jmp 0x40c088
ud2
mov edx, dword [esp + 0x3cc]
mov eax, dword [esp + 0x3d0]
and eax, dword [esp + 0xf94]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
mov dword [eax + ecx*4], edx
jmp 0x40c0b4
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x394], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x394]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x398], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x398]
movsx ecx, cl
imul ecx, ecx, 6
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x39c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x39c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40c677
mov eax, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x384], eax
mov dword [esp + 0xf74], 0xc04c0000
mov dword [esp + 0xf70], 0
xor eax, eax
je 0x40c155
add dl, dh
movups xmm0, xmmword [esp + 0xf70]
movsd xmm0, qword [esp + 0xf70]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xf68], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x388], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x388]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x390], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x38c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x38c]
mov dl, al
mov eax, dword [esp + 0x390]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40c281
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x378], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x378]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x37c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x37c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x380], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x380]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40c27f
mov dword [esp + 0xf7c], 6
jmp 0x40c3ac
jmp 0x40c281
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x36c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x36c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x374], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x370], eax
call fcn.004347c0
mov ecx, dword [esp + 0x370]
mov dl, al
mov eax, dword [esp + 0x374]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40c3aa
movsd xmm0, qword [esp + 0xf68]
movsd qword [esp + 0x360], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x358], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x358]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x368], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x35c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x35c]
movsd xmm0, qword [esp + 0x360]
mov dl, al
mov eax, dword [esp + 0x368]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xf7c], eax
jmp 0x40c3ac
ud2
mov eax, dword [esp + 0x384]
mov ecx, dword [esp + 0xf7c]
add eax, ecx
mov dword [esp + 0x344], eax
mov eax, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x348], eax
mov dword [esp + 0xf5c], 0xc04c0000
mov dword [esp + 0xf58], 0
xor eax, eax
je 0x40c3f6
add dl, dh
movups xmm0, xmmword [esp + 0xf58]
movsd xmm0, qword [esp + 0xf58]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0xf50], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x34c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x34c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x354], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x350], eax
call fcn.004347c0
mov ecx, dword [esp + 0x350]
mov dl, al
mov eax, dword [esp + 0x354]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40c522
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x338], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x338]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x33c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x33c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x340], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x340]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40c520
mov dword [esp + 0xf64], 6
jmp 0x40c64d
jmp 0x40c522
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x32c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x32c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x334], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x330], eax
call fcn.004347c0
mov ecx, dword [esp + 0x330]
mov dl, al
mov eax, dword [esp + 0x334]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40c64b
movsd xmm0, qword [esp + 0xf50]
movsd qword [esp + 0x320], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x318], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x318]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x328], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x31c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x31c]
movsd xmm0, qword [esp + 0x320]
mov dl, al
mov eax, dword [esp + 0x328]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0xf64], eax
jmp 0x40c64d
ud2
mov edx, dword [esp + 0x344]
mov eax, dword [esp + 0x348]
and eax, dword [esp + 0xf64]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0xf4c]
mov ecx, dword [esp + 0xf48]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0xf48]
add eax, 1
mov dword [esp + 0xf48], eax
jmp 0x40a910
jmp 0x40c68f
mov eax, dword [esp + 0x5d0]
mov byte [eax], 1
mov eax, dword [eax + 4]
mov dword [esp + 0x94c], eax
lea ecx, [esp + 0x932]
lea eax, [esp + 0x931]
mov dword [esp], eax
call fcn.0040f6d0
sub esp, 4
lea eax, [esp + 0x942]
mov dword [esp + 0x9cc], eax
lea eax, [esp + 0x932]
mov dword [esp + 0x9c8], eax
lea eax, [esp + 0xc3c]
mov dword [esp + 0xc44], eax
mov eax, dword [esp + 0xc44]
mov dword [esp + 0xca0], 0x30
mov ecx, dword [esp + 0xca0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xc9c], ecx
mov ecx, dword [esp + 0xc9c]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xc3c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xc30]
mov dword [esp + 0xc54], ecx
mov dword [esp + 0xc50], eax
mov eax, dword [esp + 0xc54]
mov ecx, dword [esp + 0xc50]
mov dword [eax], ecx
mov ecx, dword [esp + 0xc50]
mov dword [esp + 0xca4], ecx
mov ecx, dword [esp + 0xca4]
mov edx, dword [esp + 0xca4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xc48], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xc4c], ecx
mov ecx, dword [esp + 0xc50]
add ecx, dword [esp + 0xc48]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xc4c]
mov dword [eax + 8], ecx
lea eax, [esp + 0xc30]
mov dword [esp + 0xc58], eax
mov ecx, dword [esp + 0xc58]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x40c94b
lea eax, [esp + 0xc30]
mov dword [esp + 0xc5c], eax
mov eax, dword [esp + 0xc5c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xc2c], eax
mov eax, dword [esp + 0xc2c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xc2c], ecx
cmp eax, 0
je 0x40c949
mov eax, dword [esp + 0xc2c]
lea ecx, [esp + 0xc30]
mov dword [esp + 0xc74], ecx
mov dword [esp + 0xc70], eax
mov eax, dword [esp + 0xc74]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xc70]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xc7c], 0x7a2657ae
mov dword [esp + 0xc78], 0x9f77ebd2
mov eax, dword [esp + 0xc7c]
mov dword [esp + 0xc6c], ecx
mov dword [esp + 0xc68], eax
mov eax, dword [esp + 0xc68]
mov dword [esp + 0xc64], eax
mov eax, dword [esp + 0xc6c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xc6c], ecx
mov al, byte [eax]
mov byte [esp + 0xc63], al
cmp byte [esp + 0xc63], 0
je 0x40c91c
mov ecx, dword [esp + 0xc64]
mov al, byte [esp + 0xc63]
mov dword [esp + 0xcac], ecx
mov byte [esp + 0xcab], al
mov eax, dword [esp + 0xcac]
mov dword [esp + 0x314], eax
movsx eax, byte [esp + 0xcab]
cmp eax, 0x41
jl 0x40c8eb
movsx eax, byte [esp + 0xcab]
cmp eax, 0x5a
jg 0x40c8eb
movsx eax, byte [esp + 0xcab]
or eax, 0x20
mov dword [esp + 0x310], eax
jmp 0x40c8fa
movsx eax, byte [esp + 0xcab]
mov dword [esp + 0x310], eax
mov eax, dword [esp + 0x314]
mov ecx, dword [esp + 0x310]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xc64], eax
jmp 0x40c869
mov eax, dword [esp + 0xc64]
mov dword [esp + 0xc84], 0x7a2657ae
mov dword [esp + 0xc80], 0x9f77ebd2
mov ecx, dword [esp + 0xc80]
cmp eax, ecx
je 0x40c979
jmp 0x40c7d9
jmp 0x40c94b
lea eax, [esp + 0xc3c]
mov dword [esp + 0xc98], eax
mov eax, dword [esp + 0xc98]
mov ecx, dword [eax]
mov dword [esp + 0xcb0], ecx
mov ecx, dword [esp + 0xcb0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x40c718
mov eax, dword [esp + 0xc2c]
lea ecx, [esp + 0xc30]
mov dword [esp + 0xc94], ecx
mov dword [esp + 0xc90], eax
mov eax, dword [esp + 0xc94]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xc8c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xc88], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xc8c]
mov edx, dword [esp + 0xc88]
mov esi, dword [esp + 0xc90]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xc40], eax
mov eax, dword [esp + 0xc40]
mov dword [esp + 0x308], eax
mov eax, dword [esp + 0x9c8]
mov dword [esp + 0x9f8], eax
mov eax, dword [esp + 0x9f8]
mov dword [esp + 0xa14], eax
mov eax, dword [esp + 0xa14]
mov dword [esp + 0x30c], eax
mov dword [esp + 0xa30], eax
mov eax, dword [esp + 0xa30]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x40caa9
mov eax, dword [esp + 0x30c]
mov dword [esp + 0xa6c], eax
mov dword [esp + 0xa68], eax
mov eax, dword [esp + 0xa6c]
mov dword [esp + 0x304], eax
mov dword [esp + 0xa64], 0
cmp dword [esp + 0xa64], 0x10
jge 0x40caa7
mov eax, dword [esp + 0x304]
mov ecx, dword [esp + 0xa68]
mov edx, dword [esp + 0xa64]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xa64]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xa64]
add eax, 1
mov dword [esp + 0xa64], eax
jmp 0x40ca5c
jmp 0x40caa9
mov eax, dword [esp + 0x308]
mov ecx, dword [esp + 0x30c]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [esp + 0x988]
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x92c], eax
lea ecx, [esp + 0x91b]
lea eax, [esp + 0x91a]
mov dword [esp], eax
call fcn.0040f730
sub esp, 4
lea eax, [esp + 0x92b]
mov dword [esp + 0x9d4], eax
lea eax, [esp + 0x91b]
mov dword [esp + 0x9d0], eax
lea eax, [esp + 0xcc4]
mov dword [esp + 0xccc], eax
mov eax, dword [esp + 0xccc]
mov dword [esp + 0xd28], 0x30
mov ecx, dword [esp + 0xd28]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xd24], ecx
mov ecx, dword [esp + 0xd24]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xcc4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xcb8]
mov dword [esp + 0xcdc], ecx
mov dword [esp + 0xcd8], eax
mov eax, dword [esp + 0xcdc]
mov ecx, dword [esp + 0xcd8]
mov dword [eax], ecx
mov ecx, dword [esp + 0xcd8]
mov dword [esp + 0xd2c], ecx
mov ecx, dword [esp + 0xd2c]
mov edx, dword [esp + 0xd2c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xcd0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xcd4], ecx
mov ecx, dword [esp + 0xcd8]
add ecx, dword [esp + 0xcd0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xcd4]
mov dword [eax + 8], ecx
lea eax, [esp + 0xcb8]
mov dword [esp + 0xce0], eax
mov ecx, dword [esp + 0xce0]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x40cd78
lea eax, [esp + 0xcb8]
mov dword [esp + 0xce4], eax
mov eax, dword [esp + 0xce4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xcb4], eax
mov eax, dword [esp + 0xcb4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xcb4], ecx
cmp eax, 0
je 0x40cd76
mov eax, dword [esp + 0xcb4]
lea ecx, [esp + 0xcb8]
mov dword [esp + 0xcfc], ecx
mov dword [esp + 0xcf8], eax
mov eax, dword [esp + 0xcfc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xcf8]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xd04], 0x6b5cb63f
mov dword [esp + 0xd00], 0x154406ab
mov eax, dword [esp + 0xd04]
mov dword [esp + 0xcf4], ecx
mov dword [esp + 0xcf0], eax
mov eax, dword [esp + 0xcf0]
mov dword [esp + 0xcec], eax
mov eax, dword [esp + 0xcf4]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xcf4], ecx
mov al, byte [eax]
mov byte [esp + 0xceb], al
cmp byte [esp + 0xceb], 0
je 0x40cd49
mov ecx, dword [esp + 0xcec]
mov al, byte [esp + 0xceb]
mov dword [esp + 0xd34], ecx
mov byte [esp + 0xd33], al
mov eax, dword [esp + 0xd34]
mov dword [esp + 0x300], eax
movsx eax, byte [esp + 0xd33]
cmp eax, 0x41
jl 0x40cd18
movsx eax, byte [esp + 0xd33]
cmp eax, 0x5a
jg 0x40cd18
movsx eax, byte [esp + 0xd33]
or eax, 0x20
mov dword [esp + 0x2fc], eax
jmp 0x40cd27
movsx eax, byte [esp + 0xd33]
mov dword [esp + 0x2fc], eax
mov eax, dword [esp + 0x300]
mov ecx, dword [esp + 0x2fc]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xcec], eax
jmp 0x40cc96
mov eax, dword [esp + 0xcec]
mov dword [esp + 0xd0c], 0x6b5cb63f
mov dword [esp + 0xd08], 0x154406ab
mov ecx, dword [esp + 0xd08]
cmp eax, ecx
je 0x40cda6
jmp 0x40cc06
jmp 0x40cd78
lea eax, [esp + 0xcc4]
mov dword [esp + 0xd20], eax
mov eax, dword [esp + 0xd20]
mov ecx, dword [eax]
mov dword [esp + 0xd38], ecx
mov ecx, dword [esp + 0xd38]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x40cb45
mov eax, dword [esp + 0xcb4]
lea ecx, [esp + 0xcb8]
mov dword [esp + 0xd1c], ecx
mov dword [esp + 0xd18], eax
mov eax, dword [esp + 0xd1c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xd14], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xd10], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xd14]
mov edx, dword [esp + 0xd10]
mov esi, dword [esp + 0xd18]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xcc8], eax
mov eax, dword [esp + 0xcc8]
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 0x9d0]
mov dword [esp + 0x9f4], eax
mov eax, dword [esp + 0x9f4]
mov dword [esp + 0xa18], eax
mov eax, dword [esp + 0xa18]
mov dword [esp + 0x2f8], eax
mov dword [esp + 0xa2c], eax
mov eax, dword [esp + 0xa2c]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x40ced6
mov eax, dword [esp + 0x2f8]
mov dword [esp + 0xa60], eax
mov dword [esp + 0xa5c], eax
mov eax, dword [esp + 0xa60]
mov dword [esp + 0x2f0], eax
mov dword [esp + 0xa58], 0
cmp dword [esp + 0xa58], 0x10
jge 0x40ced4
mov eax, dword [esp + 0x2f0]
mov ecx, dword [esp + 0xa5c]
mov edx, dword [esp + 0xa58]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xa58]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xa58]
add eax, 1
mov dword [esp + 0xa58], eax
jmp 0x40ce89
jmp 0x40ced6
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x2f8]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [esp + 0x92c]
cmp eax, dword [esp + 0x94c]
jle 0x40cf23
mov dword [esp + 0x914], 0
cmp dword [esp + 0x914], 0x31
jae 0x40cf21
mov dword [esp + 0x9a4], 0
jmp 0x40f51e
jmp 0x40cf23
lea ecx, [esp + 0x903]
lea eax, [esp + 0x902]
mov dword [esp], eax
call fcn.0040f790
sub esp, 4
lea eax, [esp + 0x913]
mov dword [esp + 0x9dc], eax
lea eax, [esp + 0x903]
mov dword [esp + 0x9d8], eax
lea eax, [esp + 0xd4c]
mov dword [esp + 0xd54], eax
mov eax, dword [esp + 0xd54]
mov dword [esp + 0xdb0], 0x30
mov ecx, dword [esp + 0xdb0]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xdac], ecx
mov ecx, dword [esp + 0xdac]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xd4c]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xd40]
mov dword [esp + 0xd64], ecx
mov dword [esp + 0xd60], eax
mov eax, dword [esp + 0xd64]
mov ecx, dword [esp + 0xd60]
mov dword [eax], ecx
mov ecx, dword [esp + 0xd60]
mov dword [esp + 0xdb4], ecx
mov ecx, dword [esp + 0xdb4]
mov edx, dword [esp + 0xdb4]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xd58], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xd5c], ecx
mov ecx, dword [esp + 0xd60]
add ecx, dword [esp + 0xd58]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xd5c]
mov dword [eax + 8], ecx
lea eax, [esp + 0xd40]
mov dword [esp + 0xd68], eax
mov ecx, dword [esp + 0xd68]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x40d1cb
lea eax, [esp + 0xd40]
mov dword [esp + 0xd6c], eax
mov eax, dword [esp + 0xd6c]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xd3c], eax
mov eax, dword [esp + 0xd3c]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xd3c], ecx
cmp eax, 0
je 0x40d1c9
mov eax, dword [esp + 0xd3c]
lea ecx, [esp + 0xd40]
mov dword [esp + 0xd84], ecx
mov dword [esp + 0xd80], eax
mov eax, dword [esp + 0xd84]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xd80]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xd8c], 0xa06a6c9a
mov dword [esp + 0xd88], 0x8568ed8e
mov eax, dword [esp + 0xd8c]
mov dword [esp + 0xd7c], ecx
mov dword [esp + 0xd78], eax
mov eax, dword [esp + 0xd78]
mov dword [esp + 0xd74], eax
mov eax, dword [esp + 0xd7c]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xd7c], ecx
mov al, byte [eax]
mov byte [esp + 0xd73], al
cmp byte [esp + 0xd73], 0
je 0x40d19c
mov ecx, dword [esp + 0xd74]
mov al, byte [esp + 0xd73]
mov dword [esp + 0xdbc], ecx
mov byte [esp + 0xdbb], al
mov eax, dword [esp + 0xdbc]
mov dword [esp + 0x2ec], eax
movsx eax, byte [esp + 0xdbb]
cmp eax, 0x41
jl 0x40d16b
movsx eax, byte [esp + 0xdbb]
cmp eax, 0x5a
jg 0x40d16b
movsx eax, byte [esp + 0xdbb]
or eax, 0x20
mov dword [esp + 0x2e8], eax
jmp 0x40d17a
movsx eax, byte [esp + 0xdbb]
mov dword [esp + 0x2e8], eax
mov eax, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2e8]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xd74], eax
jmp 0x40d0e9
mov eax, dword [esp + 0xd74]
mov dword [esp + 0xd94], 0xa06a6c9a
mov dword [esp + 0xd90], 0x8568ed8e
mov ecx, dword [esp + 0xd90]
cmp eax, ecx
je 0x40d1f9
jmp 0x40d059
jmp 0x40d1cb
lea eax, [esp + 0xd4c]
mov dword [esp + 0xda8], eax
mov eax, dword [esp + 0xda8]
mov ecx, dword [eax]
mov dword [esp + 0xdc0], ecx
mov ecx, dword [esp + 0xdc0]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x40cf98
mov eax, dword [esp + 0xd3c]
lea ecx, [esp + 0xd40]
mov dword [esp + 0xda4], ecx
mov dword [esp + 0xda0], eax
mov eax, dword [esp + 0xda4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xd9c], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xd98], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xd9c]
mov edx, dword [esp + 0xd98]
mov esi, dword [esp + 0xda0]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xd50], eax
mov eax, dword [esp + 0xd50]
mov dword [esp + 0x2e0], eax
mov eax, dword [esp + 0x9d8]
mov dword [esp + 0x9f0], eax
mov eax, dword [esp + 0x9f0]
mov dword [esp + 0xa1c], eax
mov eax, dword [esp + 0xa1c]
mov dword [esp + 0x2e4], eax
mov dword [esp + 0xa28], eax
mov eax, dword [esp + 0xa28]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x40d329
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0xa54], eax
mov dword [esp + 0xa50], eax
mov eax, dword [esp + 0xa54]
mov dword [esp + 0x2dc], eax
mov dword [esp + 0xa4c], 0
cmp dword [esp + 0xa4c], 0x10
jge 0x40d327
mov eax, dword [esp + 0x2dc]
mov ecx, dword [esp + 0xa50]
mov edx, dword [esp + 0xa4c]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xa4c]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xa4c]
add eax, 1
mov dword [esp + 0xa4c], eax
jmp 0x40d2dc
jmp 0x40d329
mov eax, dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2e4]
mov dword [esp], ecx
call eax
sub esp, 4
mov eax, dword [ebp + 8]
add eax, dword [esp + 0x92c]
mov dword [esp + 0x8fc], eax
lea ecx, [esp + 0x8eb]
lea eax, [esp + 0x8ea]
mov dword [esp], eax
call fcn.0040f7f0
sub esp, 4
lea eax, [esp + 0x8fb]
mov dword [esp + 0x9e4], eax
lea eax, [esp + 0x8eb]
mov dword [esp + 0x9e0], eax
lea eax, [esp + 0xdd4]
mov dword [esp + 0xddc], eax
mov eax, dword [esp + 0xddc]
mov dword [esp + 0xe38], 0x30
mov ecx, dword [esp + 0xe38]
mov ecx, dword fs:[ecx]
mov dword [esp + 0xe34], ecx
mov ecx, dword [esp + 0xe34]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 0xdd4]
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0xdc8]
mov dword [esp + 0xdec], ecx
mov dword [esp + 0xde8], eax
mov eax, dword [esp + 0xdec]
mov ecx, dword [esp + 0xde8]
mov dword [eax], ecx
mov ecx, dword [esp + 0xde8]
mov dword [esp + 0xe3c], ecx
mov ecx, dword [esp + 0xe3c]
mov edx, dword [esp + 0xe3c]
mov edx, dword [edx + 0x3c]
mov esi, dword [ecx + edx + 0x78]
mov dword [esp + 0xde0], esi
mov ecx, dword [ecx + edx + 0x7c]
mov dword [esp + 0xde4], ecx
mov ecx, dword [esp + 0xde8]
add ecx, dword [esp + 0xde0]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xde4]
mov dword [eax + 8], ecx
lea eax, [esp + 0xdc8]
mov dword [esp + 0xdf0], eax
mov ecx, dword [esp + 0xdf0]
mov eax, dword [ecx + 4]
cmp eax, dword [ecx]
je 0x40d5f8
lea eax, [esp + 0xdc8]
mov dword [esp + 0xdf4], eax
mov eax, dword [esp + 0xdf4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0xdc4], eax
mov eax, dword [esp + 0xdc4]
mov ecx, eax
add ecx, 0xffffffff
mov dword [esp + 0xdc4], ecx
cmp eax, 0
je 0x40d5f6
mov eax, dword [esp + 0xdc4]
lea ecx, [esp + 0xdc8]
mov dword [esp + 0xe0c], ecx
mov dword [esp + 0xe08], eax
mov eax, dword [esp + 0xe0c]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x20]
mov eax, ecx
add eax, edx
mov edx, dword [esp + 0xe08]
mov eax, dword [eax + edx*4]
add ecx, eax
mov dword [esp + 0xe14], 0x6d7eeb65
mov dword [esp + 0xe10], 0x304ee885
mov eax, dword [esp + 0xe14]
mov dword [esp + 0xe04], ecx
mov dword [esp + 0xe00], eax
mov eax, dword [esp + 0xe00]
mov dword [esp + 0xdfc], eax
mov eax, dword [esp + 0xe04]
mov ecx, eax
add ecx, 1
mov dword [esp + 0xe04], ecx
mov al, byte [eax]
mov byte [esp + 0xdfb], al
cmp byte [esp + 0xdfb], 0
je 0x40d5c9
mov ecx, dword [esp + 0xdfc]
mov al, byte [esp + 0xdfb]
mov dword [esp + 0xe44], ecx
mov byte [esp + 0xe43], al
mov eax, dword [esp + 0xe44]
mov dword [esp + 0x2d8], eax
movsx eax, byte [esp + 0xe43]
cmp eax, 0x41
jl 0x40d598
movsx eax, byte [esp + 0xe43]
cmp eax, 0x5a
jg 0x40d598
movsx eax, byte [esp + 0xe43]
or eax, 0x20
mov dword [esp + 0x2d4], eax
jmp 0x40d5a7
movsx eax, byte [esp + 0xe43]
mov dword [esp + 0x2d4], eax
mov eax, dword [esp + 0x2d8]
mov ecx, dword [esp + 0x2d4]
xor eax, ecx
imul eax, eax, 0x1000193
mov dword [esp + 0xdfc], eax
jmp 0x40d516
mov eax, dword [esp + 0xdfc]
mov dword [esp + 0xe1c], 0x6d7eeb65
mov dword [esp + 0xe18], 0x304ee885
mov ecx, dword [esp + 0xe18]
cmp eax, ecx
je 0x40d626
jmp 0x40d486
jmp 0x40d5f8
lea eax, [esp + 0xdd4]
mov dword [esp + 0xe30], eax
mov eax, dword [esp + 0xe30]
mov ecx, dword [eax]
mov dword [esp + 0xe48], ecx
mov ecx, dword [esp + 0xe48]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x40d3c5
mov eax, dword [esp + 0xdc4]
lea ecx, [esp + 0xdc8]
mov dword [esp + 0xe2c], ecx
mov dword [esp + 0xe28], eax
mov eax, dword [esp + 0xe2c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0xe24], ecx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
add ecx, dword [edx + 0x24]
mov dword [esp + 0xe20], ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0xe24]
mov edx, dword [esp + 0xe20]
mov esi, dword [esp + 0xe28]
movzx edx, word [edx + esi*2]
add eax, dword [ecx + edx*4]
mov dword [esp + 0xdd8], eax
mov eax, dword [esp + 0xdd8]
mov dword [esp + 0x2cc], eax
mov eax, dword [esp + 0x9e0]
mov dword [esp + 0x9ec], eax
mov eax, dword [esp + 0x9ec]
mov dword [esp + 0xa20], eax
mov eax, dword [esp + 0xa20]
mov dword [esp + 0x2d0], eax
mov dword [esp + 0xa24], eax
mov eax, dword [esp + 0xa24]
movsx eax, byte [eax + 0xf]
cmp eax, 0
je 0x40d756
mov eax, dword [esp + 0x2d0]
mov dword [esp + 0xa48], eax
mov dword [esp + 0xa44], eax
mov eax, dword [esp + 0xa48]
mov dword [esp + 0x2c8], eax
mov dword [esp + 0xa40], 0
cmp dword [esp + 0xa40], 0x10
jge 0x40d754
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0xa44]
mov edx, dword [esp + 0xa40]
movsx ecx, byte [ecx + edx]
xor ecx, 0xffffffc4
xor ecx, 0xc2
mov dl, cl
mov ecx, dword [esp + 0xa40]
mov byte [eax + ecx], dl
mov eax, dword [esp + 0xa40]
add eax, 1
mov dword [esp + 0xa40], eax
jmp 0x40d709
jmp 0x40d756
mov eax, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2d0]
mov ecx, esp
mov dword [ecx], edx
call eax
sub esp, 4
mov eax, dword [esp + 0x8fc]
mov eax, dword [eax]
mov dword [esp + 0x2c0], eax
lea ecx, [esp + 0x8df]
call fcn.0040f850
mov dword [esp + 0x8e4], edx
mov dword [esp + 0x8e0], eax
lea eax, [esp + 0x8e0]
mov dword [esp + 0x9e8], eax
mov eax, dword [esp + 0x9e8]
mov dword [esp + 0x103c], eax
mov eax, dword [esp + 0x103c]
mov dword [esp + 0x2c4], eax
test byte [eax], 1
jne 0x40f4bd
mov eax, dword [esp + 0x2c4]
add eax, 4
mov dword [esp + 0x1044], eax
mov dword [esp + 0x1040], 0
mov eax, dword [esp + 0x1040]
cmp eax, 1
jae 0x40f4bb
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x2b4], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x2b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2b8], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2b8]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2bc], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2bc]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40ddb9
mov eax, dword [esp + 0x1044]
mov ecx, dword [esp + 0x1040]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x2a4], eax
mov dword [esp + 0x112c], 0xc04b0000
mov dword [esp + 0x1128], 0
xor eax, eax
je 0x40d897
add dl, dh
movups xmm0, xmmword [esp + 0x1128]
movsd xmm0, qword [esp + 0x1128]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1120], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x2a8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x2a8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2b0], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x2ac], eax
call fcn.004347c0
mov ecx, dword [esp + 0x2ac]
mov dl, al
mov eax, dword [esp + 0x2b0]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40d9c3
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x298], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x298]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x29c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x29c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x2a0], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x2a0]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40d9c1
mov dword [esp + 0x1130], 6
jmp 0x40daee
jmp 0x40d9c3
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x28c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x28c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x294], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x290], eax
call fcn.004347c0
mov ecx, dword [esp + 0x290]
mov dl, al
mov eax, dword [esp + 0x294]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40daec
movsd xmm0, qword [esp + 0x1120]
movsd qword [esp + 0x280], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x278], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x278]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x288], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x27c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x27c]
movsd xmm0, qword [esp + 0x280]
mov dl, al
mov eax, dword [esp + 0x288]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1130], eax
jmp 0x40daee
ud2
mov eax, dword [esp + 0x2a4]
mov ecx, dword [esp + 0x1130]
add eax, ecx
mov dword [esp + 0x264], eax
mov eax, dword [esp + 0x1044]
mov ecx, dword [esp + 0x1040]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x268], eax
mov dword [esp + 0x1114], 0xc04b0000
mov dword [esp + 0x1110], 0
xor eax, eax
je 0x40db38
add dl, dh
movups xmm0, xmmword [esp + 0x1110]
movsd xmm0, qword [esp + 0x1110]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1108], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x26c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x26c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x274], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x270], eax
call fcn.004347c0
mov ecx, dword [esp + 0x270]
mov dl, al
mov eax, dword [esp + 0x274]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40dc64
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x258], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x258]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x25c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x25c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x260], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x260]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40dc62
mov dword [esp + 0x111c], 6
jmp 0x40dd8f
jmp 0x40dc64
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x24c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x24c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x254], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x250], eax
call fcn.004347c0
mov ecx, dword [esp + 0x250]
mov dl, al
mov eax, dword [esp + 0x254]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40dd8d
movsd xmm0, qword [esp + 0x1108]
movsd qword [esp + 0x240], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x238], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x238]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x248], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x23c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x23c]
movsd xmm0, qword [esp + 0x240]
mov dl, al
mov eax, dword [esp + 0x248]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x111c], eax
jmp 0x40dd8f
ud2
mov edx, dword [esp + 0x264]
mov eax, dword [esp + 0x268]
and eax, dword [esp + 0x111c]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x1044]
mov ecx, dword [esp + 0x1040]
mov dword [eax + ecx*4], edx
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x22c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x22c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x234], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 5
mov dword [esp + 0x230], eax
call fcn.004347c0
mov ecx, dword [esp + 0x230]
mov dl, al
mov eax, dword [esp + 0x234]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40ef8a
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x220], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x220]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x224], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x224]
movsx ecx, cl
shl ecx, 2
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x228], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x228]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40e3f5
mov eax, dword [esp + 0x1044]
mov ecx, dword [esp + 0x1040]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x210], eax
mov dword [esp + 0x10fc], 0xc04a8000
mov dword [esp + 0x10f8], 0
xor eax, eax
je 0x40ded3
add dl, dh
movups xmm0, xmmword [esp + 0x10f8]
movsd xmm0, qword [esp + 0x10f8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x10f0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x214], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x214]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x21c], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x218], eax
call fcn.004347c0
mov ecx, dword [esp + 0x218]
mov dl, al
mov eax, dword [esp + 0x21c]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40dfff
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x204], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x204]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x208], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x208]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x20c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x20c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40dffd
mov dword [esp + 0x1104], 6
jmp 0x40e12a
jmp 0x40dfff
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1f8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1f8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x200], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1fc], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1fc]
mov dl, al
mov eax, dword [esp + 0x200]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40e128
movsd xmm0, qword [esp + 0x10f0]
movsd qword [esp + 0x1e8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1e0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1e0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1f4], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1e4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1e4]
movsd xmm0, qword [esp + 0x1e8]
mov dl, al
mov eax, dword [esp + 0x1f4]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1104], eax
jmp 0x40e12a
ud2
mov eax, dword [esp + 0x210]
mov ecx, dword [esp + 0x1104]
add eax, ecx
mov dword [esp + 0x1cc], eax
mov eax, dword [esp + 0x1044]
mov ecx, dword [esp + 0x1040]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x10e4], 0xc04a8000
mov dword [esp + 0x10e0], 0
xor eax, eax
je 0x40e174
add dl, dh
movups xmm0, xmmword [esp + 0x10e0]
movsd xmm0, qword [esp + 0x10e0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x10d8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1d4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1d4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1dc], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x1d8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1d8]
mov dl, al
mov eax, dword [esp + 0x1dc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40e2a0
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x1c0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x1c0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1c4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x1c4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x1c8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x1c8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40e29e
mov dword [esp + 0x10ec], 6
jmp 0x40e3cb
jmp 0x40e2a0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1b4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1b4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1bc], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x1b8], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1b8]
mov dl, al
mov eax, dword [esp + 0x1bc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40e3c9
movsd xmm0, qword [esp + 0x10d8]
movsd qword [esp + 0x1a8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x1a0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1a0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x1b0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x1a4], eax
call fcn.004347c0
mov ecx, dword [esp + 0x1a4]
movsd xmm0, qword [esp + 0x1a8]
mov dl, al
mov eax, dword [esp + 0x1b0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x10ec], eax
jmp 0x40e3cb
ud2
mov edx, dword [esp + 0x1cc]
mov eax, dword [esp + 0x1d0]
and eax, dword [esp + 0x10ec]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x1044]
mov ecx, dword [esp + 0x1040]
mov dword [eax + ecx*4], edx
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x194], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x194]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x198], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x198]
movsx ecx, cl
imul ecx, ecx, 9
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x19c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x19c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40e9b8
mov eax, dword [esp + 0x1044]
mov ecx, dword [esp + 0x1040]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x184], eax
mov dword [esp + 0x10cc], 0xc04a0000
mov dword [esp + 0x10c8], 0
xor eax, eax
je 0x40e496
add dl, dh
movups xmm0, xmmword [esp + 0x10c8]
movsd xmm0, qword [esp + 0x10c8]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x10c0], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x188], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x188]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x190], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x18c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x18c]
mov dl, al
mov eax, dword [esp + 0x190]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40e5c2
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x178], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x178]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x17c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x17c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x180], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x180]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40e5c0
mov dword [esp + 0x10d4], 6
jmp 0x40e6ed
jmp 0x40e5c2
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x16c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x16c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x174], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x170], eax
call fcn.004347c0
mov ecx, dword [esp + 0x170]
mov dl, al
mov eax, dword [esp + 0x174]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40e6eb
movsd xmm0, qword [esp + 0x10c0]
movsd qword [esp + 0x160], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x158], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x158]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x168], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x15c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x15c]
movsd xmm0, qword [esp + 0x160]
mov dl, al
mov eax, dword [esp + 0x168]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x10d4], eax
jmp 0x40e6ed
ud2
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x10d4]
add eax, ecx
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0x1044]
mov ecx, dword [esp + 0x1040]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x148], eax
mov dword [esp + 0x10b4], 0xc04a0000
mov dword [esp + 0x10b0], 0
xor eax, eax
je 0x40e737
add dl, dh
movups xmm0, xmmword [esp + 0x10b0]
movsd xmm0, qword [esp + 0x10b0]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x10a8], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x14c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x14c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x154], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x150], eax
call fcn.004347c0
mov ecx, dword [esp + 0x150]
mov dl, al
mov eax, dword [esp + 0x154]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40e863
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x138], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x138]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x13c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x13c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x140], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x140]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40e861
mov dword [esp + 0x10bc], 6
jmp 0x40e98e
jmp 0x40e863
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x12c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x12c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x134], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x130], eax
call fcn.004347c0
mov ecx, dword [esp + 0x130]
mov dl, al
mov eax, dword [esp + 0x134]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40e98c
movsd xmm0, qword [esp + 0x10a8]
movsd qword [esp + 0x120], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x118], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x118]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x128], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x11c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x11c]
movsd xmm0, qword [esp + 0x120]
mov dl, al
mov eax, dword [esp + 0x128]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x10bc], eax
jmp 0x40e98e
ud2
mov edx, dword [esp + 0x144]
mov eax, dword [esp + 0x148]
and eax, dword [esp + 0x10bc]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x1044]
mov ecx, dword [esp + 0x1040]
mov dword [eax + ecx*4], edx
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x10c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x10c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x114], eax
call fcn.004347b0
movsx eax, al
imul eax, eax, 0xa
mov dword [esp + 0x110], eax
call fcn.004347c0
mov ecx, dword [esp + 0x110]
mov dl, al
mov eax, dword [esp + 0x114]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40ef88
mov eax, dword [esp + 0x1044]
mov ecx, dword [esp + 0x1040]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x1040]
add eax, 0xffffffc9
cvtsi2sd xmm0, eax
movsd qword [esp + 0x1098], xmm0
xor eax, eax
je 0x40ea65
add dl, dh
movups xmm0, xmmword [esp + 0x1098]
movsd xmm0, qword [esp + 0x1098]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1090], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x100], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x100]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x108], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x104], eax
call fcn.004347c0
mov ecx, dword [esp + 0x104]
mov dl, al
mov eax, dword [esp + 0x108]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40eb91
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0xf0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0xf0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xf4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0xf4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xf8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0xf8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40eb8f
mov dword [esp + 0x10a4], 6
jmp 0x40ecbc
jmp 0x40eb91
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0xe4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0xe4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xec], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0xe8], eax
call fcn.004347c0
mov ecx, dword [esp + 0xe8]
mov dl, al
mov eax, dword [esp + 0xec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40ecba
movsd xmm0, qword [esp + 0x1090]
movsd qword [esp + 0xd8], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0xd0], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0xd0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xe0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0xd4], eax
call fcn.004347c0
mov ecx, dword [esp + 0xd4]
movsd xmm0, qword [esp + 0xd8]
mov dl, al
mov eax, dword [esp + 0xe0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x10a4], eax
jmp 0x40ecbc
ud2
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x10a4]
add eax, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x1044]
mov ecx, dword [esp + 0x1040]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x1040]
add eax, 0xffffffc9
cvtsi2sd xmm0, eax
movsd qword [esp + 0x1080], xmm0
xor eax, eax
je 0x40ed07
add dl, dh
movups xmm0, xmmword [esp + 0x1080]
movsd xmm0, qword [esp + 0x1080]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1078], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0xc4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0xc4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xcc], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0xc8], eax
call fcn.004347c0
mov ecx, dword [esp + 0xc8]
mov dl, al
mov eax, dword [esp + 0xcc]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40ee33
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0xb0], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0xb0]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xb4], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0xb4]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0xb8], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0xb8]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40ee31
mov dword [esp + 0x108c], 6
jmp 0x40ef5e
jmp 0x40ee33
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0xa4], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0xa4]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xac], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0xa8], eax
call fcn.004347c0
mov ecx, dword [esp + 0xa8]
mov dl, al
mov eax, dword [esp + 0xac]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40ef5c
movsd xmm0, qword [esp + 0x1078]
movsd qword [esp + 0x98], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x90], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x90]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0xa0], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x94], eax
call fcn.004347c0
mov ecx, dword [esp + 0x94]
movsd xmm0, qword [esp + 0x98]
mov dl, al
mov eax, dword [esp + 0xa0]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x108c], eax
jmp 0x40ef5e
ud2
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0xc0]
and eax, dword [esp + 0x108c]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x1044]
mov ecx, dword [esp + 0x1040]
mov dword [eax + ecx*4], edx
jmp 0x40ef8a
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x84], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x84]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x88], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x88]
movsx ecx, cl
imul ecx, ecx, 6
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x8c], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x8c]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40f4a5
mov eax, dword [esp + 0x1044]
mov ecx, dword [esp + 0x1040]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x74], eax
mov dword [esp + 0x106c], 0xc0498000
mov dword [esp + 0x1068], 0
xor eax, eax
je 0x40f028
add dl, dh
movups xmm0, xmmword [esp + 0x1068]
movsd xmm0, qword [esp + 0x1068]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1060], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x78], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x78]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x80], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x7c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x7c]
mov dl, al
mov eax, dword [esp + 0x80]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40f136
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x68], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x68]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x6c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x6c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x70], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x70]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40f134
mov dword [esp + 0x1074], 6
jmp 0x40f237
jmp 0x40f136
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x5c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x5c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x64], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x60], eax
call fcn.004347c0
mov ecx, dword [esp + 0x60]
mov dl, al
mov eax, dword [esp + 0x64]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40f235
movsd xmm0, qword [esp + 0x1060]
movsd qword [esp + 0x50], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 0x48], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x48]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x58], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0x4c], eax
call fcn.004347c0
mov ecx, dword [esp + 0x4c]
movsd xmm0, qword [esp + 0x50]
mov dl, al
mov eax, dword [esp + 0x58]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x1074], eax
jmp 0x40f237
ud2
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x1074]
add eax, ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x1044]
mov ecx, dword [esp + 0x1040]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x38], eax
mov dword [esp + 0x1054], 0xc0498000
mov dword [esp + 0x1050], 0
xor eax, eax
je 0x40f278
add dl, dh
movups xmm0, xmmword [esp + 0x1050]
movsd xmm0, qword [esp + 0x1050]
movsx eax, byte [str._aOLOOLOLOLOLOOLL]
cvtsi2sd xmm2, eax
movsx eax, byte [0x4f500a]
cvtsi2sd xmm1, eax
movaps xmm3, xmmword [0x4eb080]
pxor xmm1, xmm3
addsd xmm1, xmm1
addsd xmm1, xmm2
mulsd xmm0, xmm1
movsd qword [esp + 0x1048], xmm0
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x3c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x3c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x44], eax
call fcn.004347b0
movsx eax, al
shl eax, 1
mov dword [esp + 0x40], eax
call fcn.004347c0
mov ecx, dword [esp + 0x40]
mov dl, al
mov eax, dword [esp + 0x44]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40f380
mov al, byte [0x4f500a]
movsx eax, al
mov dword [esp + 0x28], eax
call fcn.00434770
mov cl, al
mov eax, dword [esp + 0x28]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x2c], eax
call fcn.00434780
mov cl, al
mov eax, dword [esp + 0x2c]
movsx ecx, cl
mov dl, byte [0x4f62ec]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov dword [esp + 0x30], eax
call fcn.00434790
mov cl, al
mov eax, dword [esp + 0x30]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40f37e
mov dword [esp + 0x105c], 6
jmp 0x40f481
jmp 0x40f380
mov al, byte [0x4f500b]
movsx eax, al
mov dword [esp + 0x1c], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 0x1c]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x24], eax
call fcn.004347b0
movsx eax, al
shl eax, 3
mov dword [esp + 0x20], eax
call fcn.004347c0
mov ecx, dword [esp + 0x20]
mov dl, al
mov eax, dword [esp + 0x24]
movsx edx, dl
imul ecx, edx
add eax, ecx
mov cl, byte [0x4f500c]
movsx ecx, cl
xor edx, edx
div ecx
mov cl, byte [0x4f500d]
movsx ecx, cl
sub eax, ecx
cmp eax, 0
je 0x40f47f
movsd xmm0, qword [esp + 0x1048]
movsd qword [esp + 0x10], xmm0
movsx eax, byte [0x4f500b]
mov dword [esp + 8], eax
call fcn.004347a0
mov cl, al
mov eax, dword [esp + 8]
movsx ecx, cl
add eax, ecx
mov dword [esp + 0x18], eax
call fcn.004347b0
movsx eax, al
mov dword [esp + 0xc], eax
call fcn.004347c0
mov ecx, dword [esp + 0xc]
movsd xmm0, qword [esp + 0x10]
mov dl, al
mov eax, dword [esp + 0x18]
movsx edx, dl
imul ecx, edx
lea eax, [eax + ecx*8]
movsx ecx, byte [0x4f500c]
xor edx, edx
div ecx
movsx ecx, byte [0x4f500d]
sub eax, ecx
movd xmm1, eax
movaps xmm2, xmmword [0x4eb090]
por xmm1, xmm2
movsd xmm2, qword [0x4eb0a0]
subsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [esp + 0x105c], eax
jmp 0x40f481
ud2
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
and eax, dword [esp + 0x105c]
shl eax, 1
sub edx, eax
mov eax, dword [esp + 0x1044]
mov ecx, dword [esp + 0x1040]
mov dword [eax + ecx*4], edx
mov eax, dword [esp + 0x1040]
add eax, 1
mov dword [esp + 0x1040], eax
jmp 0x40d7e6
jmp 0x40f4bd
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2c4]
mov byte [ecx], 1
cmp eax, dword [ecx + 4]
je 0x40f4f7
mov dword [esp + 0x8d8], 0
cmp dword [esp + 0x8d8], 0x60
jae 0x40f4f5
mov dword [esp + 0x9a4], 0
jmp 0x40f51e
jmp 0x40f4f7
mov dword [esp + 0x8d4], 0
cmp dword [esp + 0x8d4], 0x39
jae 0x40f51c
mov eax, dword [esp + 0x8fc]
mov dword [esp + 0x9a4], eax
jmp 0x40f51e
ud2
mov eax, dword [esp + 0x9a4]
lea esp, [ebp - 4]
pop esi
pop ebp
ret