Function at 0x53cbb2
Capabilities:
Contain obfuscated stackstrings
Read file on windows

Disassembly:
jmp 0x764ec6
push 0x260
mov eax, 0x7b3d55
call fcn.0053ba0f
mov edi, ecx
mov dword [ebp - 0x28], edi
mov esi, dword [ebp + 8]
mov ecx, 0x25ae766
call fcn.0053c469
lea ecx, [ebp - 0x154]
call fcn.0053a03d
mov ecx, dword [edi + 0x24]
xorps xmm0, xmm0
xor eax, eax
movss dword [ebp - 0x44], xmm0
movss dword [ebp - 0x48], xmm0
mov dword [ebp - 0x64], eax
test ecx, ecx
je 0x764f3d
mov eax, dword [ecx + 0x20a20]
shl eax, 6
movd xmm0, eax
mov eax, dword [ecx + 0x20a24]
cvtdq2ps xmm0, xmm0
shl eax, 6
addss xmm0, xmm0
movss dword [ebp - 0x44], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm0
movss dword [ebp - 0x48], xmm0
push 0
push 0x8000
push esi
call fcn.00539ed0
mov esi, eax
add esp, 0xc
cmp esi, 0xffffffff
jne 0x764f5b
xor eax, eax
jmp 0x7651d9
push esi
call dword [sym.imp.ucrtbased.dll__filelength]
push eax
mov dword [ebp - 0x78], eax
call fcn.00538a76
push dword [ebp - 0x78]
mov dword [ebp - 0x80], eax
push eax
push esi
call dword [sym.imp.ucrtbased.dll__read]
push esi
call dword [sym.imp.ucrtbased.dll__close]
fld dword [0x7bea04]
add esp, 0x18
mov eax, dword [sym.imp.ucrtbased.dll_rand]
and dword [edi + 0x48], 0
fstp dword [ebp - 0x74]
fld dword [0x7c62e0]
fstp dword [ebp - 0x7c]
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0x64]
cmp edx, dword [ebp - 0x78]
jge 0x7651c8
mov esi, dword [ebp - 0x80]
movss xmm3, dword [ebp - 0x44]
movss xmm4, dword [ebp - 0x48]
push 2
movss xmm0, dword [esi + edx + 0xc]
movss xmm2, dword [esi + edx + 4]
mov eax, dword [esi + edx + 0x14]
mov ecx, dword [esi + edx]
movss xmm1, dword [esi + edx + 8]
movss dword [ebp - 0x50], xmm0
movss xmm0, dword [esi + edx + 0x10]
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [esi + edx + 0x1c]
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [esi + edx + 0x20]
movss dword [ebp - 0x60], xmm0
movaps xmm0, xmm2
addss xmm0, xmm3
mov dword [ebp - 0x54], eax
mov eax, dword [esi + edx + 0x18]
add edx, 0x1c
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], ecx
cvttss2si esi, xmm0
movss dword [ebp - 0x38], xmm0
movaps xmm0, xmm1
addss xmm0, xmm4
movss dword [ebp - 0x34], xmm2
movss dword [ebp - 0x4c], xmm1
mov dword [ebp - 0x5c], esi
cvttss2si edx, xmm0
movss dword [ebp - 0x68], xmm0
mov eax, edx
mov dword [ebp - 0x40], edx
and eax, 0xffffffe0
shl eax, 0xb
mov dword [ebp - 0x30], eax
mov eax, esi
sar eax, 5
add dword [ebp - 0x30], eax
pop eax
cmp ecx, eax
jne 0x7651e1
mov edi, dword [edi + 0x24]
test edi, edi
je 0x7651b5
push 0x164
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x158], esi
and dword [ebp - 4], 0
test esi, esi
je 0x765097
push 0x164
mov ecx, esi
call fcn.0053bb27
mov ecx, esi
call fcn.00539e80
mov ecx, eax
jmp 0x765099
xor ecx, ecx
mov eax, dword [edi + 0x20a5c]
or dword [ebp - 4], 0xffffffff
mov dword [edi + eax*4 + 0x20a34], ecx
mov eax, dword [edi + 0x20a5c]
mov ecx, dword [edi + eax*4 + 0x20a34]
test ecx, ecx
je 0x7651af
mov eax, dword [0xa69070]
cmp dword [eax + 0x24], 0x7530
jne 0x7650f1
mov eax, dword [ebp - 0x5c]
sar eax, 7
push 3
sub eax, 0x1b
pop edx
cmp eax, edx
ja 0x7650f1
mov eax, dword [ebp - 0x40]
sar eax, 7
sub eax, 0x15
cmp eax, edx
ja 0x7650f1
and dword [ecx + 0x160], 0
mov eax, dword [edi + 0x20a5c]
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x2c]
mov eax, dword [edi + eax*4 + 0x20a34]
mov dword [eax + 0x3c], ecx
mov eax, dword [edi + 0x20a5c]
mov ecx, dword [ebp - 0x24]
mov eax, dword [edi + eax*4 + 0x20a34]
mov dword [eax + 0x24], esi
mov eax, dword [edi + 0x20a5c]
mov eax, dword [edi + eax*4 + 0x20a34]
mov dword [eax + 0x40], ecx
mov eax, dword [edi + 0x20a5c]
mov ecx, dword [edi + eax*4 + 0x20a34]
mov eax, dword [ecx]
call dword [eax + 0x38]
mov eax, dword [edi + 0x20a5c]
sub esp, 0xc
movss xmm0, dword [ebp - 0x6c]
mov ecx, dword [edi + eax*4 + 0x20a34]
and dword [esp + 8], 0
movss dword [esp + 4], xmm0
and dword [esp], 0
mov eax, dword [ecx]
call dword [eax + 0x40]
mov eax, dword [edi + 0x20a5c]
sub esp, 0xc
movss xmm0, dword [ebp - 0x68]
mov ecx, dword [edi + eax*4 + 0x20a34]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x50]
movss dword [esp + 4], xmm0
mov eax, dword [ecx]
movss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
call dword [eax + 0x3c]
mov eax, dword [edi + 0x20a5c]
mov ecx, dword [ebp - 0x28]
push dword [edi + eax*4 + 0x20a34]
call fcn.0053b785
inc dword [edi + 0x20a5c]
mov edi, dword [ebp - 0x28]
inc dword [edi + 0x48]
cmp dword [edi + 0x48], 0x1000
jl 0x764fa1
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x7651d6
push eax
call fcn.0053a8a3
pop ecx
xor eax, eax
inc eax
call fcn.0053d6cf
ret 4
cmp ecx, 0x157
jne 0x76532d
and dword [ebp - 0x24], 0
mov edi, 0x148
push edi
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x15c], esi
mov dword [ebp - 4], 1
test esi, esi
je 0x76522c
push edi
mov ecx, esi
call fcn.0053a466
push 0
push 0
push 0x157
mov ecx, esi
call fcn.0053b889
mov edi, eax
jmp 0x76522e
xor edi, edi
or dword [ebp - 4], 0xffffffff
test edi, edi
je 0x765316
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x38]
mov eax, dword [edi]
mov esi, dword [eax + 0x40]
call dword [ebp - 0x58]
and eax, reloc.WSOCK32.dll_closesocket
jns 0x765255
dec eax
or eax, 0xfffffffc
inc eax
movd xmm0, eax
sub esp, 0xc
cvtdq2ps xmm0, xmm0
mov ecx, edi
and dword [esp + 8], 0
mulss xmm0, dword [0x7bd1d4]
divss xmm0, dword [0x7be07c]
movss dword [esp + 4], xmm0
and dword [esp], 0
call esi
mov eax, dword [edi]
mov esi, dword [eax + 0x3c]
call dword [ebp - 0x58]
push 5
cdq
pop ecx
idiv ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7bd248]
addss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x54], xmm0
call dword [ebp - 0x58]
push 0xa
cdq
pop ecx
idiv ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7c0e84]
addss xmm0, dword [ebp - 0x50]
movss dword [ebp - 0x40], xmm0
call dword [ebp - 0x58]
push 5
pop ecx
cdq
sub esp, 0xc
idiv ecx
movss xmm1, dword [ebp - 0x54]
mov ecx, edi
movss dword [esp + 8], xmm1
movss xmm1, dword [ebp - 0x40]
movss dword [esp + 4], xmm1
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7bd248]
addss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
call esi
push dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
push edi
call fcn.0053c9c3
mov edi, dword [ebp - 0x24]
push 5
inc edi
pop eax
mov dword [ebp - 0x24], edi
cmp edi, eax
jl 0x7651f1
jmp 0x7651b5
cmp ecx, 4
jne 0x765472
and dword [ebp - 0x24], 0
mov edi, 0x148
push edi
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0xa0], esi
push 2
pop eax
mov dword [ebp - 4], eax
test esi, esi
je 0x765371
push edi
mov ecx, esi
call fcn.0053a466
push 0
push 1
push 4
mov ecx, esi
call fcn.0053b889
mov edi, eax
jmp 0x765373
xor edi, edi
or dword [ebp - 4], 0xffffffff
test edi, edi
je 0x76545b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x38]
mov eax, dword [edi]
mov esi, dword [eax + 0x40]
call dword [ebp - 0x58]
and eax, reloc.WSOCK32.dll_closesocket
jns 0x76539a
dec eax
or eax, 0xfffffffc
inc eax
movd xmm0, eax
sub esp, 0xc
cvtdq2ps xmm0, xmm0
mov ecx, edi
and dword [esp + 8], 0
mulss xmm0, dword [0x7bd1d4]
divss xmm0, dword [0x7be07c]
movss dword [esp + 4], xmm0
and dword [esp], 0
call esi
mov eax, dword [edi]
mov esi, dword [eax + 0x3c]
call dword [ebp - 0x58]
push 5
cdq
pop ecx
idiv ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7bd248]
addss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x54], xmm0
call dword [ebp - 0x58]
push 0xa
cdq
pop ecx
idiv ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7c0e84]
addss xmm0, dword [ebp - 0x50]
movss dword [ebp - 0x40], xmm0
call dword [ebp - 0x58]
push 5
pop ecx
cdq
sub esp, 0xc
idiv ecx
movss xmm1, dword [ebp - 0x54]
mov ecx, edi
movss dword [esp + 8], xmm1
movss xmm1, dword [ebp - 0x40]
movss dword [esp + 4], xmm1
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7bd248]
addss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
call esi
push dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
push edi
call fcn.0053c9c3
mov edi, dword [ebp - 0x24]
push 5
inc edi
pop eax
mov dword [ebp - 0x24], edi
cmp edi, eax
jl 0x76533a
jmp 0x7651b5
cmp ecx, 6
jne 0x765601
and dword [ebp - 0x3c], 0
push 0x148
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0xa4], esi
push 3
pop edi
mov dword [ebp - 4], edi
test esi, esi
je 0x7654b8
push 0x148
mov ecx, esi
call fcn.0053a466
push 0
push edi
push 6
mov ecx, esi
call fcn.0053b889
mov edi, eax
jmp 0x7654ba
xor edi, edi
or dword [ebp - 4], 0xffffffff
test edi, edi
je 0x7655ea
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x38]
mov eax, dword [edi]
mov esi, dword [eax + 0x40]
call dword [ebp - 0x58]
and eax, reloc.WSOCK32.dll_closesocket
jns 0x7654e1
dec eax
or eax, 0xfffffffc
inc eax
movd xmm0, eax
sub esp, 0xc
cvtdq2ps xmm0, xmm0
mov ecx, edi
and dword [esp + 8], 0
mulss xmm0, dword [0x7bd1d4]
divss xmm0, dword [0x7be07c]
movss dword [esp + 4], xmm0
and dword [esp], 0
call esi
mov eax, dword [edi]
mov esi, dword [eax + 0x3c]
call dword [ebp - 0x58]
push 5
cdq
pop ecx
idiv ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7bd248]
addss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x24], xmm0
call dword [ebp - 0x58]
push 0xa
cdq
pop ecx
idiv ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7c0e84]
addss xmm0, dword [ebp - 0x50]
movss dword [ebp - 0x54], xmm0
call dword [ebp - 0x58]
push 5
pop ecx
cdq
sub esp, 0xc
idiv ecx
movss xmm1, dword [ebp - 0x24]
mov ecx, edi
movss dword [esp + 8], xmm1
movss xmm1, dword [ebp - 0x54]
movss dword [esp + 4], xmm1
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7bd248]
addss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
call esi
movss xmm0, dword [edi + 0x134]
mulss xmm0, dword [0x7bd180]
mov ecx, dword [ebp - 0x28]
push dword [ebp - 0x30]
movss dword [edi + 0x134], xmm0
movss xmm0, dword [edi + 0x130]
mulss xmm0, dword [0x7bd180]
push edi
movss dword [edi + 0x130], xmm0
movd xmm0, dword [ebp - 0x3c]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x7bed34]
movss dword [edi + 0x12c], xmm0
call fcn.0053c9c3
mov edi, dword [ebp - 0x3c]
push 5
inc edi
pop eax
mov dword [ebp - 0x3c], edi
cmp edi, eax
jl 0x76547f
jmp 0x7651b5
cmp ecx, 7
jne 0x765765
and dword [ebp - 0x3c], 0
and dword [ebp - 0x60], 0
mov edi, 0x148
push edi
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0xa8], esi
mov dword [ebp - 4], 4
test esi, esi
je 0x76564c
push edi
mov ecx, esi
call fcn.0053a466
push 0
push 2
pop eax
push eax
push 7
mov ecx, esi
call fcn.0053b889
mov edi, eax
jmp 0x76564e
xor edi, edi
or dword [ebp - 4], 0xffffffff
test edi, edi
je 0x765745
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x38]
mov eax, dword [edi]
sub esp, 0xc
mov ecx, edi
and dword [esp + 8], 0
mov dword [esp + 4], 0xbfc90fdb
and dword [esp], 0
call dword [eax + 0x40]
mov eax, dword [edi]
mov esi, dword [eax + 0x3c]
call dword [ebp - 0x58]
push 5
cdq
pop ecx
idiv ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7bd248]
addss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x24], xmm0
call dword [ebp - 0x58]
push 0xa
cdq
pop ecx
idiv ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7c0e84]
addss xmm0, dword [ebp - 0x50]
movss dword [ebp - 0x54], xmm0
call dword [ebp - 0x58]
push 5
pop ecx
cdq
sub esp, 0xc
idiv ecx
movss xmm1, dword [ebp - 0x24]
mov ecx, edi
movss dword [esp + 8], xmm1
movss xmm1, dword [ebp - 0x54]
movss dword [esp + 4], xmm1
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7bd248]
addss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
call esi
movd xmm0, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x60]
push dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
cvtdq2ps xmm0, xmm0
mov dword [edi + 0x144], eax
mov dword [edi + 0x134], 0x40a00000
mov dword [edi + 0x130], 0x40a00000
push edi
addss xmm0, dword [0x7bed34]
movss dword [edi + 0x12c], xmm0
call fcn.0053c9c3
mov edi, dword [ebp - 0x60]
inc dword [ebp - 0x3c]
add edi, 0xc8
mov dword [ebp - 0x60], edi
cmp edi, 0x3e8
jl 0x765612
jmp 0x7651b5
cmp ecx, 0x158
jne 0x76586d
and dword [ebp - 0x24], 0
mov edi, 0x144
push edi
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0xac], esi
push 5
pop eax
mov dword [ebp - 4], eax
test esi, esi
je 0x7657ad
push edi
mov ecx, esi
call fcn.0053b67c
push 0
push 0x158
mov ecx, esi
call fcn.0053d1de
mov edi, eax
jmp 0x7657af
xor edi, edi
or dword [ebp - 4], 0xffffffff
test edi, edi
je 0x765856
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x38]
mov eax, dword [edi]
mov esi, dword [eax + 0x3c]
call dword [ebp - 0x58]
push 5
cdq
pop ecx
idiv ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7bd1cc]
addss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x54], xmm0
call dword [ebp - 0x58]
push 0xa
cdq
pop ecx
idiv ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7becdc]
addss xmm0, dword [ebp - 0x50]
movss dword [ebp - 0x40], xmm0
call dword [ebp - 0x58]
push 5
pop ecx
cdq
sub esp, 0xc
idiv ecx
movss xmm1, dword [ebp - 0x54]
mov ecx, edi
movss dword [esp + 8], xmm1
movss xmm1, dword [ebp - 0x40]
movss dword [esp + 4], xmm1
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7bd1cc]
addss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
call esi
push dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
push edi
call fcn.0053c9c3
mov edi, dword [ebp - 0x24]
push 5
inc edi
pop eax
mov dword [ebp - 0x24], edi
cmp edi, eax
jl 0x765775
jmp 0x7651b5
cmp ecx, 0xc
jne 0x765972
and dword [ebp - 0x24], 0
mov edi, 0x144
push edi
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0xb0], esi
mov dword [ebp - 4], 6
test esi, esi
je 0x7658b2
push edi
mov ecx, esi
call fcn.0053b67c
push 3
pop eax
push eax
push 0xc
mov ecx, esi
call fcn.0053d1de
mov edi, eax
jmp 0x7658b4
xor edi, edi
or dword [ebp - 4], 0xffffffff
test edi, edi
je 0x76595b
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x38]
mov eax, dword [edi]
mov esi, dword [eax + 0x3c]
call dword [ebp - 0x58]
push 5
cdq
pop ecx
idiv ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7bd1cc]
addss xmm0, dword [ebp - 0x68]
movss dword [ebp - 0x54], xmm0
call dword [ebp - 0x58]
push 0xa
cdq
pop ecx
idiv ecx
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7becdc]
addss xmm0, dword [ebp - 0x50]
movss dword [ebp - 0x40], xmm0
call dword [ebp - 0x58]
push 5
pop ecx
cdq
sub esp, 0xc
idiv ecx
movss xmm1, dword [ebp - 0x54]
mov ecx, edi
movss dword [esp + 8], xmm1
movss xmm1, dword [ebp - 0x40]
movss dword [esp + 4], xmm1
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x7bd1cc]
addss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
call esi
push dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
push edi
call fcn.0053c9c3
mov edi, dword [ebp - 0x24]
push 5
inc edi
pop eax
mov dword [ebp - 0x24], edi
cmp edi, eax
jl 0x76587a
jmp 0x7651b5
cmp ecx, 0x137
jb 0x765b72
cmp ecx, 0x142
ja 0x765b72
push 0x124
call fcn.00537b1c
mov edi, eax
pop ecx
mov dword [ebp - 0xb4], edi
mov dword [ebp - 4], 7
test edi, edi
je 0x7659c6
push 0x124
mov ecx, edi
call fcn.0053c1d5
mov esi, dword [ebp - 0x2c]
mov ecx, edi
push esi
call fcn.0053be3d
mov esi, dword [ebp - 0x5c]
mov edi, eax
jmp 0x7659c8
xor edi, edi
or dword [ebp - 4], 0xffffffff
test edi, edi
je 0x7651b5
mov ecx, dword [ebp - 0x2c]
lea eax, [ecx - 0x137]
cmp eax, 6
jb 0x7659f2
push 2
pop eax
mov word [edi + 0xf4], ax
mov al, cl
sub al, 0x39
jmp 0x765a1e
sar esi, 7
xor eax, eax
push 3
sub esi, 0x1b
mov word [edi + 0xf4], ax
pop edx
cmp esi, edx
ja 0x765a1a
mov eax, dword [ebp - 0x40]
sar eax, 7
sub eax, 0x15
cmp eax, edx
ja 0x765a1a
push 9
pop eax
jmp 0x765a21
mov al, cl
sub al, 0x37
movzx eax, al
movss xmm0, dword [ebp - 0x4c]
cvttss2si esi, xmm0
mov word [edi + 0xf6], ax
and esi, 0x8000007f
jns 0x765a3e
dec esi
or esi, 0xffffff80
inc esi
movss xmm1, dword [ebp - 0x34]
cvttss2si ecx, xmm1
shl esi, 7
and ecx, 0x8000007f
jns 0x765a57
dec ecx
or ecx, 0xffffff80
inc ecx
movss xmm2, dword [0x7bd184]
mov eax, dword [ebp - 0x28]
addss xmm0, xmm2
mov eax, dword [eax + 0x24]
cvttss2si edx, xmm0
add eax, ecx
mov byte [eax + esi + 0x100cc], 1
and edx, 0x8000007f
jns 0x765a84
dec edx
or edx, 0xffffff80
inc edx
mov eax, dword [ebp - 0x28]
addss xmm1, xmm2
shl edx, 7
mov eax, dword [eax + 0x24]
add eax, ecx
cvttss2si ecx, xmm1
mov byte [eax + edx + 0x100cc], 1
and ecx, 0x8000007f
jns 0x765aac
dec ecx
or ecx, 0xffffff80
inc ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x24]
add eax, ecx
mov byte [eax + esi + 0x100cc], 1
mov eax, dword [ebp - 0x28]
mov esi, dword [ebp - 0x2c]
mov eax, dword [eax + 0x24]
add eax, ecx
mov ecx, dword [ebp - 0x54]
mov byte [eax + edx + 0x100cc], 1
mov eax, dword [edi]
mov dword [edi + 0x3c], ecx
mov ecx, dword [ebp - 0x24]
mov dword [edi + 0x40], ecx
mov ecx, edi
mov dword [edi + 0x24], esi
call dword [eax + 0x38]
mov eax, dword [edi]
sub esp, 0xc
movss xmm0, dword [ebp - 0x6c]
mov ecx, edi
and dword [esp + 8], 0
movss dword [esp + 4], xmm0
and dword [esp], 0
call dword [eax + 0x40]
movss xmm0, dword [ebp - 0x68]
sub esp, 0xc
mov eax, dword [edi]
mov ecx, edi
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
call dword [eax + 0x3c]
cmp esi, 0x138
jne 0x765b5e
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + 0x24]
cmp dword [eax + 0x20a20], 0x1c
jne 0x765b5e
cmp dword [eax + 0x20a24], 0x18
jne 0x765b5e
push edi
mov edi, dword [ebp - 0x28]
mov ecx, dword [edi + 0x44]
call fcn.0053b785
jmp 0x7651b8
push dword [ebp - 0x30]
push edi
mov edi, dword [ebp - 0x28]
mov ecx, dword [edi + 0x44]
call fcn.0053c9c3
jmp 0x7651b8
cmp ecx, 0x14b
jb 0x765b82
cmp ecx, 0x156
jbe 0x765b92
cmp ecx, 0x15f
jb 0x765bd2
cmp ecx, 0x17a
ja 0x765bd2
mov esi, 0x128
push esi
call fcn.00537b1c
mov edi, eax
pop ecx
mov dword [ebp - 0xb8], edi
mov dword [ebp - 4], 8
test edi, edi
je 0x765bc8
push esi
mov ecx, edi
call fcn.0053cbe4
mov esi, dword [ebp - 0x2c]
mov ecx, edi
push esi
call fcn.00536636
mov ecx, eax
jmp 0x765bca
xor ecx, ecx
mov edi, dword [ebp - 0x28]
jmp 0x767a93
cmp ecx, 0x1e7
jb 0x765c34
cmp ecx, 0x1e9
ja 0x765d28
mov esi, 0x13c
push esi
call fcn.00537b1c
mov edi, eax
pop ecx
mov dword [ebp - 0xbc], edi
mov dword [ebp - 4], 9
test edi, edi
je 0x765c1c
push esi
mov ecx, edi
call fcn.00538c06
mov esi, dword [ebp - 0x2c]
mov ecx, edi
push esi
call fcn.0053d828
mov ecx, eax
jmp 0x765c21
mov esi, dword [ebp - 0x2c]
xor ecx, ecx
mov edi, dword [ebp - 0x28]
or dword [ebp - 4], 0xffffffff
mov eax, dword [edi + 0x48]
mov dword [edi + eax*4 + 0x4c], ecx
jmp 0x767ac0
push 3
pop esi
cmp ecx, esi
jne 0x765c6e
mov esi, pe_nt_image_headers32
push esi
call fcn.00537b1c
mov edi, eax
pop ecx
mov dword [ebp - 0xc0], edi
push 0xa
pop eax
mov dword [ebp - 4], eax
test edi, edi
je 0x765c1c
push esi
mov ecx, edi
call fcn.0053b082
mov esi, dword [ebp - 0x2c]
mov ecx, edi
push esi
call fcn.0053877e
jmp 0x765c18
push 5
pop eax
cmp ecx, eax
jne 0x765c92
mov esi, pe_nt_image_headers32
push esi
call fcn.00537b1c
mov edi, eax
pop ecx
mov dword [ebp - 0xc4], edi
mov dword [ebp - 4], 0xb
jmp 0x765c55
cmp ecx, 0xfb
jb 0x765ca2
cmp ecx, 0xfe
jbe 0x765cc2
cmp ecx, 0x1da
je 0x765cc2
cmp ecx, 0x111
je 0x765cc2
cmp ecx, 0x112
je 0x765cc2
cmp ecx, 0x124
jne 0x765d2e
mov edx, 0x5f0
mov byte [ebp - 0x70], 0
cmp ecx, edx
ja 0x7679f7
je 0x7679e5
mov edx, 0x1ea
cmp ecx, edx
ja 0x7679c9
je 0x767a47
sub ecx, 0xc3
je 0x7679e5
sub ecx, 0x4e
je 0x7679e5
sub ecx, 1
je 0x7679e5
sub ecx, 0x12
je 0x767a47
sub ecx, 0xb6
jne 0x767a59
mov byte [ebp - 0x70], 1
jmp 0x767a59
push 5
pop eax
push 3
pop esi
cmp ecx, 0x25f
je 0x765cc2
cmp ecx, 0x262
je 0x765cc2
cmp ecx, 0x266
je 0x765cc2
cmp ecx, 0xc3
je 0x765cc2
cmp ecx, 0x2b9
je 0x765cc2
cmp ecx, 0x2bb
je 0x765cc2
cmp ecx, 0x1ea
je 0x765cc2
cmp ecx, 0x5f0
je 0x765cc2
cmp ecx, 0x5ff
je 0x765cc2
cmp ecx, 0x5f6
je 0x765cc2
cmp ecx, 0x681
je 0x765cc2
cmp ecx, 0x7c9
je 0x765cc2
cmp ecx, 0x7d5
je 0x765cc2
cmp ecx, 0x69f
je 0x765cc2
cmp ecx, 0x6a0
je 0x765cc2
cmp ecx, 0x6d6
je 0x765cc2
cmp ecx, 0x6cb
je 0x765cc2
cmp ecx, 0x6af
je 0x765cc2
cmp ecx, 0x73f
je 0x765cc2
cmp ecx, 0x79
je 0x7651b8
mov esi, 0x1f5
cmp ecx, esi
jb 0x7666e6
cmp ecx, 0x1fa
jae 0x7666ec
add dword [ebp - 0x64], 8
mov eax, ecx
sub eax, esi
je 0x766336
sub eax, 1
je 0x7661cd
sub eax, 1
je 0x765f85
sub eax, 1
je 0x765efe
sub eax, 1
jne 0x7664c9
push 0x184
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0xc8], esi
mov dword [ebp - 4], 0x15
test esi, esi
je 0x765ec1
push 0x184
mov ecx, esi
call fcn.00538f94
movss xmm0, dword [ebp - 0x3c]
mov ecx, esi
movss xmm1, dword [ebp - 0x60]
push 0x50
push 1
sub esp, 0x10
and dword [esp + 0xc], 0
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 0
push 0x4f
call fcn.0053cb2b
mov esi, eax
mov dword [ebp - 0x5c], eax
jmp 0x765ec6
xor esi, esi
mov dword [ebp - 0x5c], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x7664b2
movss xmm0, dword [ebp - 0x6c]
and dword [esi + 0x104], 0
and dword [esi + 0x108], 0
movss dword [esi + 0x114], xmm0
push 0x33330000
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x3c]
jmp 0x766459
push 0x184
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0xcc], esi
mov dword [ebp - 4], 0x14
test esi, esi
je 0x765f61
push 0x184
mov ecx, esi
call fcn.00538f94
movss xmm0, dword [ebp - 0x3c]
mov ecx, esi
movss xmm1, dword [ebp - 0x60]
push 0x50
push 1
sub esp, 0x10
and dword [esp + 0xc], 0
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 0
push 0x38
call fcn.0053cb2b
mov esi, eax
mov dword [ebp - 0x5c], eax
jmp 0x765f66
xor esi, esi
mov dword [ebp - 0x5c], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x7664b2
push 2
pop eax
mov dword [esi + 0x104], eax
push 0xffff0000
jmp 0x765ef2
push 0x184
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0xd0], esi
mov dword [ebp - 4], 0x11
test esi, esi
je 0x765fe8
push 0x184
mov ecx, esi
call fcn.00538f94
movss xmm0, dword [ebp - 0x3c]
mov ecx, esi
movss xmm1, dword [ebp - 0x60]
push 0x50
push 8
sub esp, 0x10
and dword [esp + 0xc], 0
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 0
push 0x65
call fcn.0053cb2b
mov esi, eax
mov dword [ebp - 0x5c], eax
jmp 0x765fed
xor esi, esi
mov dword [ebp - 0x5c], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x766008
mov eax, dword [esi]
mov ecx, esi
push 0xff5500ff
call dword [eax + 0x3c]
and dword [esi + 0x104], 0
push 0x184
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0xd4], esi
mov dword [ebp - 4], 0x12
test esi, esi
je 0x76607b
push 0x184
mov ecx, esi
call fcn.00538f94
movss xmm1, dword [ebp - 0x3c]
mov ecx, esi
mulss xmm1, dword [0x7bd180]
push 0x50
movss xmm0, dword [ebp - 0x60]
mulss xmm0, dword [0x7bd180]
push 8
sub esp, 0x10
and dword [esp + 0xc], 0
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
push 0
push 0x65
call fcn.0053cb2b
mov esi, eax
mov dword [ebp - 0x24], eax
jmp 0x766080
xor esi, esi
mov dword [ebp - 0x24], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x7660f7
mov eax, dword [esi]
mov ecx, esi
and dword [esi + 0x104], 0
push 0xffffffffffffffff
call dword [eax + 0x3c]
movss xmm0, dword [ebp - 0x68]
lea ecx, [ebp - 0x1a0]
movss xmm1, dword [ebp - 0x50]
sub esp, 0xc
mov dword [esi + 0x6c], 1
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x60]
mulss xmm0, dword [0x7c0e84]
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x38]
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call fcn.0053a1a0
push dword [ebp - 0x30]
lea edi, [esi + 0x74]
mov esi, eax
push dword [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x28]
mov ecx, dword [edi + 0x44]
call fcn.0053c9c3
push 0x184
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0xd8], esi
mov dword [ebp - 4], 0x13
test esi, esi
je 0x76616c
push 0x184
mov ecx, esi
call fcn.00538f94
movss xmm0, dword [ebp - 0x3c]
mov ecx, esi
mulss xmm0, dword [0x7c5f0c]
push 0x50
movss xmm1, dword [ebp - 0x60]
mulss xmm1, dword [0x7c5f0c]
push 1
sub esp, 0x10
and dword [esp + 0xc], 0
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 0
push 2
pop eax
push eax
call fcn.0053cb2b
mov esi, eax
mov dword [ebp - 0x24], eax
jmp 0x766171
xor esi, esi
mov dword [ebp - 0x24], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x76632e
mov eax, dword [esi]
mov ecx, esi
and dword [esi + 0x104], 0
push 0xff330055
call dword [eax + 0x3c]
movss xmm0, dword [ebp - 0x68]
lea ecx, [ebp - 0x1ac]
sub esp, 0xc
mov dword [esi + 0x6c], 1
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
call fcn.0053a1a0
lea edi, [esi + 0x74]
jmp 0x766318
mov edi, 0x184
push edi
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0xdc], esi
mov dword [ebp - 4], 0xf
test esi, esi
je 0x76622d
push edi
mov ecx, esi
call fcn.00538f94
movss xmm0, dword [ebp - 0x3c]
mov ecx, esi
movss xmm1, dword [ebp - 0x60]
push 0x50
push 6
sub esp, 0x10
and dword [esp + 0xc], 0
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 0
push 0x3d
call fcn.0053cb2b
mov esi, eax
mov dword [ebp - 0x5c], eax
jmp 0x766232
xor esi, esi
mov dword [ebp - 0x5c], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x766241
and dword [esi + 0x104], 0
push edi
call fcn.00537b1c
mov edi, eax
pop ecx
mov dword [ebp - 0xe0], edi
mov dword [ebp - 4], 0x10
test edi, edi
je 0x7662b2
push 0x184
mov ecx, edi
call fcn.00538f94
movss xmm0, dword [ebp - 0x3c]
mov ecx, edi
mulss xmm0, dword [0x7c5f0c]
push 0x50
movss xmm1, dword [ebp - 0x60]
mulss xmm1, dword [0x7c5f0c]
push 1
sub esp, 0x10
and dword [esp + 0xc], 0
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 0
push 2
pop eax
push eax
call fcn.0053cb2b
mov edi, eax
mov dword [ebp - 0x24], eax
jmp 0x7662b7
xor edi, edi
mov dword [ebp - 0x24], edi
or dword [ebp - 4], 0xffffffff
test edi, edi
je 0x766452
mov eax, dword [edi]
mov ecx, edi
and dword [edi + 0x104], 0
push 0x55553300
call dword [eax + 0x3c]
lea ecx, [ebp - 0x1b8]
movss xmm0, dword [ebp - 0x4c]
sub esp, 0xc
addss xmm0, dword [ebp - 0x48]
mov dword [edi + 0x6c], 1
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
call fcn.0053a1a0
add edi, 0x74
push dword [ebp - 0x30]
mov esi, eax
push dword [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x28]
mov ecx, dword [edi + 0x44]
call fcn.0053c9c3
mov esi, dword [ebp - 0x5c]
jmp 0x766455
mov edi, 0x184
push edi
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0xe4], esi
mov dword [ebp - 4], 0xd
test esi, esi
je 0x766396
push edi
mov ecx, esi
call fcn.00538f94
movss xmm0, dword [ebp - 0x3c]
mov ecx, esi
movss xmm1, dword [ebp - 0x60]
push 0x50
push 8
sub esp, 0x10
and dword [esp + 0xc], 0
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 0
push 0xb
call fcn.0053cb2b
mov esi, eax
mov dword [ebp - 0x5c], eax
jmp 0x76639b
xor esi, esi
mov dword [ebp - 0x5c], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x7663b6
mov eax, dword [esi]
mov ecx, esi
push 0xeeeecc00
call dword [eax + 0x3c]
and dword [esi + 0x104], 0
push edi
call fcn.00537b1c
mov edi, eax
pop ecx
mov dword [ebp - 0xe8], edi
mov dword [ebp - 4], 0xe
test edi, edi
je 0x766427
push 0x184
mov ecx, edi
call fcn.00538f94
movss xmm0, dword [ebp - 0x3c]
mov ecx, edi
mulss xmm0, dword [0x7c5f0c]
push 0x50
movss xmm1, dword [ebp - 0x60]
mulss xmm1, dword [0x7c5f0c]
push 1
sub esp, 0x10
and dword [esp + 0xc], 0
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push 0
push 2
pop eax
push eax
call fcn.0053cb2b
mov edi, eax
mov dword [ebp - 0x24], eax
jmp 0x76642c
xor edi, edi
mov dword [ebp - 0x24], edi
or dword [ebp - 4], 0xffffffff
test edi, edi
je 0x766452
mov eax, dword [edi]
mov ecx, edi
and dword [edi + 0x104], 0
push 0x55553300
call dword [eax + 0x3c]
lea ecx, [ebp - 0x1c4]
jmp 0x7662dc
mov edi, dword [ebp - 0x28]
test esi, esi
je 0x7664b2
movss xmm0, dword [ebp - 0x4c]
lea ecx, [ebp - 0x1d0]
addss xmm0, dword [ebp - 0x48]
sub esp, 0xc
mov dword [esi + 0x6c], 1
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
call fcn.0053a1a0
push dword [ebp - 0x30]
lea edi, [esi + 0x74]
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x5c]
push esi
mov ecx, dword [edi + 0x44]
call fcn.0053c9c3
mov ecx, dword [ebp - 0x2c]
movss xmm4, dword [ebp - 0x48]
movss xmm3, dword [ebp - 0x44]
movss xmm2, dword [ebp - 0x34]
movss xmm1, dword [ebp - 0x4c]
cmp ecx, 0x1f7
ja 0x7651b8
mov ecx, 0x33331100
mov dword [ebp - 0x88], 0xaa00ff
addss xmm1, xmm4
mov dword [ebp - 0x94], ecx
push ecx
addss xmm2, xmm3
mov dword [ebp - 0x8c], ecx
push ecx
mov eax, 0xffaa00
mov dword [ebp - 0x84], 0x11033
movss dword [esp + 4], xmm1
lea ecx, [ebp - 0x164]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x90], eax
movss dword [esp], xmm2
call fcn.005377ac
mov ecx, dword [0xa69070]
push dword [eax + 4]
push dword [eax]
lea eax, [ebp - 0x20]
push eax
call fcn.00539dd1
movss xmm0, dword [ebp - 0x14]
mulss xmm0, dword [0x7bed5c]
call fcn.00539caa
movss xmm0, dword [ebp - 0x20]
mulss xmm0, dword [0x7bed5c]
movzx eax, al
mov dword [ebp - 0x24], eax
call fcn.00539caa
movss xmm0, dword [ebp - 0x1c]
mulss xmm0, dword [0x7bed5c]
movzx edi, al
mov dword [ebp - 0x54], edi
call fcn.00539caa
movss xmm0, dword [ebp - 0x18]
mulss xmm0, dword [0x7bed5c]
movzx eax, al
mov dword [ebp - 0x40], eax
call fcn.00539caa
mov esi, dword [ebp - 0x2c]
movss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [ebp - 0x48]
movzx eax, al
movzx ecx, byte [ebp + esi*8 - 0x103e]
movzx edx, byte [ebp + esi*8 - 0x103f]
add edi, ecx
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
movzx eax, byte [ebp + esi*8 - 0x103d]
add eax, dword [ebp - 0x24]
movzx esi, byte [ebp + esi*8 - 0x1040]
lea ecx, [edx + ecx]
shr eax, 1
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x3c]
add eax, esi
shr ecx, 1
mov esi, dword [ebp - 0x24]
push ecx
shl esi, 8
push ecx
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
shr edi, 1
or esi, edi
shr eax, 1
shl esi, 8
or esi, ecx
lea ecx, [ebp - 0x194]
shl esi, 8
or esi, eax
movss dword [esp], xmm0
call fcn.005377ac
mov ecx, dword [0xa69070]
push esi
push dword [eax + 4]
push dword [eax]
call fcn.005387e2
push 9
mov eax, dword [0xa69070]
pop edi
push 5
cmp dword [eax + 0x24], 0x7531
pop eax
push 0xc0
cmovne edi, eax
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0xec], esi
mov dword [ebp - 4], 0x16
test esi, esi
je 0x766681
push 0xc0
mov ecx, esi
call fcn.0053d067
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push 7
push edi
call fcn.0053d224
mov edi, eax
jmp 0x766683
xor edi, edi
or dword [ebp - 4], 0xffffffff
test edi, edi
je 0x7651b5
mov esi, dword [ebp - 0x2c]
mov ecx, edi
mov eax, dword [edi]
push dword [ebp + esi*8 - 0x103c]
call dword [eax + 0x44]
push ecx
push ecx
lea ecx, [ebp - 0x18c]
movss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [ebp - 0x48]
mov eax, dword [edi]
mov dword [edi + 0x6c], 1
mov esi, dword [eax + 0x3c]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
call fcn.005377ac
mov ecx, edi
push dword [eax + 4]
push dword [eax]
call esi
jmp 0x765b5e
cmp ecx, 0x1fa
jne 0x76693f
mov eax, dword [0xa69070]
mov esi, 0x44554444
add dword [ebp - 0x64], 8
cmp dword [eax + 0x24], 0x7531
jne 0x766710
mov esi, 0xff887777
jmp 0x766739
cmp dword [eax + 0x24], 0x7530
jne 0x766739
mov eax, dword [ebp - 0x5c]
sar eax, 7
sub eax, 0x11
cmp eax, 2
ja 0x766739
mov eax, edx
and eax, 0xffffff80
cmp eax, 0xe80
mov eax, 0xff222288
cmovg esi, eax
push 0xcc
call fcn.00537b1c
mov edi, eax
pop ecx
mov dword [ebp - 0xf0], edi
mov dword [ebp - 4], 0x17
test edi, edi
je 0x76678b
push 0xcc
mov ecx, edi
call fcn.0053783d
movss xmm0, dword [ebp - 0x6c]
subss xmm0, dword [0x7c0e90]
push 0
push ecx
mov ecx, edi
movss dword [esp], xmm0
push esi
mov esi, dword [ebp - 0x2c]
push esi
call fcn.00539d95
mov esi, eax
mov dword [ebp - 0x38], eax
jmp 0x766790
xor esi, esi
mov dword [ebp - 0x38], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x76684f
mov dword [esi + 0x6c], 1
mov byte [esi + 0xac], 1
mov dword [esi + 0xb8], 0x1388
mov eax, dword [0xa69070]
cmp dword [eax + 0x24], 0x7531
jne 0x7667cc
mov dword [esi + 0xb8], 0x2710
movss xmm0, dword [ebp - 0x3c]
lea ecx, [ebp - 0x1dc]
movss dword [esi + 0x98], xmm0
sub esp, 0xc
movss xmm0, dword [ebp - 0x60]
movss dword [esi + 0x9c], xmm0
movss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [ebp - 0x48]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
call fcn.0053a1a0
lea edi, [esi + 0x74]
mov esi, eax
mov eax, dword [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x44]
mov eax, dword [0xa69070]
cmp dword [eax + 0x24], 0x7531
jne 0x766844
push dword [ebp - 0x38]
call fcn.0053b785
jmp 0x76684f
push dword [ebp - 0x30]
push dword [ebp - 0x38]
call fcn.0053c9c3
movss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [ebp - 0x48]
push ecx
push ecx
lea ecx, [ebp - 0x16c]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
call fcn.005377ac
mov ecx, dword [0xa69070]
push 0xffffdddd
push dword [eax + 4]
push dword [eax]
call fcn.005387e2
push 5
pop eax
mov edi, eax
mov eax, dword [0xa69070]
push 3
cmp dword [eax + 0x24], 0x7531
pop eax
push 0xc0
cmovne edi, eax
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0xf4], esi
mov dword [ebp - 4], 0x18
test esi, esi
je 0x7668e7
push 0xc0
mov ecx, esi
call fcn.0053d067
push ecx
mov dword [esp], 0x3f800000
mov ecx, esi
push 0x76
push edi
call fcn.0053d224
mov edi, eax
jmp 0x7668e9
xor edi, edi
or dword [ebp - 4], 0xffffffff
test edi, edi
je 0x7651b5
mov eax, dword [0xa69070]
cmp dword [eax + 0x24], 0x7530
jne 0x766926
mov eax, dword [ebp - 0x5c]
sar eax, 7
sub eax, 0x11
cmp eax, 2
ja 0x766926
mov eax, dword [ebp - 0x40]
and eax, 0xffffff80
cmp eax, 0xe80
jle 0x766926
mov ecx, 0xff222288
push ecx
jmp 0x76692b
push 0x88998888
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x44]
push ecx
push ecx
lea ecx, [ebp - 0x174]
jmp 0x7666a8
cmp ecx, 0x7f3
jne 0x766ba3
push 0x184
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0xf8], esi
mov dword [ebp - 4], 0x19
test esi, esi
je 0x7669ad
push 0x184
mov ecx, esi
call fcn.00538f94
push 0x50
push 1
sub esp, 0x10
mov ecx, esi
and dword [esp + 0xc], 0
mov dword [esp + 8], 0x3fd9999a
mov dword [esp + 4], 0x40666666
mov dword [esp], 0x3fd9999a
push 0
push 0x1a7
call fcn.0053cb2b
mov esi, eax
mov dword [ebp - 0x40], eax
jmp 0x7669b2
xor esi, esi
mov dword [ebp - 0x40], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x766a35
mov eax, dword [esi]
mov ecx, esi
and dword [esi + 0x104], 0
push 0xffffffffffffffff
call dword [eax + 0x3c]
movss xmm0, dword [ebp - 0x4c]
lea ecx, [ebp - 0x1e8]
addss xmm0, dword [ebp - 0x48]
sub esp, 0xc
mov dword [esi + 0x6c], 1
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x50]
addss xmm0, dword [0x7c62e8]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
call fcn.0053a1a0
push dword [ebp - 0x30]
lea edi, [esi + 0x74]
mov esi, eax
mov eax, dword [ebp - 0x40]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x28]
mov dword [eax + 0x15c], 1
mov ecx, dword [edi + 0x44]
call fcn.0053c9c3
push 0x184
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0xfc], esi
mov dword [ebp - 4], 0x1a
test esi, esi
je 0x766a97
push 0x184
mov ecx, esi
call fcn.00538f94
push 0x50
push 1
sub esp, 0x10
mov ecx, esi
and dword [esp + 0xc], 0
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
push 0
push 0x1a8
call fcn.0053cb2b
mov esi, eax
mov dword [ebp - 0x3c], eax
jmp 0x766a9c
xor esi, esi
mov dword [ebp - 0x3c], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x766b1f
mov eax, dword [esi]
mov ecx, esi
and dword [esi + 0x104], 0
push 0xffffffffffffffff
call dword [eax + 0x3c]
movss xmm0, dword [ebp - 0x4c]
lea ecx, [ebp - 0x26c]
addss xmm0, dword [ebp - 0x48]
sub esp, 0xc
mov dword [esi + 0x6c], 1
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x50]
addss xmm0, dword [0x7bd180]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
call fcn.0053a1a0
push dword [ebp - 0x30]
lea edi, [esi + 0x74]
mov esi, eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x28]
push esi
mov dword [esi + 0x15c], 1
mov ecx, dword [edi + 0x44]
call fcn.0053c9c3
movss xmm0, dword [ebp - 0x38]
ucomiss xmm0, dword [0x7c62f8]
mov ecx, dword [0xa69070]
lahf
test ah, 0x44
jp 0x766b5c
movss xmm0, dword [ebp - 0x68]
ucomiss xmm0, dword [0x7c62fc]
lahf
test ah, 0x44
jp 0x766b5c
test ecx, ecx
je 0x766b5c
mov eax, dword [ebp - 0x40]
mov dword [ecx + 0x8c594], eax
mov dword [ecx + 0x8c598], esi
push 0xf4
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x100], esi
mov dword [ebp - 4], 0x1b
test esi, esi
je 0x766b91
push 0xf4
mov ecx, esi
call fcn.0053bf14
mov ecx, esi
call fcn.00538701
mov ecx, eax
jmp 0x766b93
xor ecx, ecx
mov eax, dword [edi + 0x48]
or dword [ebp - 4], 0xffffffff
mov dword [edi + eax*4 + 0x4c], ecx
jmp 0x767abd
cmp ecx, 0x1ff
jb 0x766ca8
cmp ecx, 0x207
jae 0x766ca8
mov eax, dword [0xa69070]
add dword [ebp - 0x64], 8
movaps xmm0, xmmword [0x7c6300]
movups xmmword [ebp - 0x90], xmm0
cmp dword [eax + 0x24], 0x7531
jne 0x766c08
mov ecx, dword [0x80195c]
lea eax, [ecx - 2]
cmp eax, 1
ja 0x766bf2
and dword [ebp - 0x8c], 0
jmp 0x766c08
cmp ecx, 6
jae 0x766c08
and dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0x3f19999a
mov esi, 0xa4
push esi
call fcn.00537b1c
pop ecx
mov dword [ebp - 0x9c], eax
mov dword [ebp - 4], 0x1c
test eax, eax
je 0x766c50
push esi
mov ecx, eax
call fcn.00538f62
mov ecx, dword [ebp - 0x9c]
lea esi, [ebp - 0x90]
push 1
sub esp, 0x10
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00537fc7
mov edi, dword [ebp - 0x28]
mov ecx, eax
jmp 0x766c52
xor ecx, ecx
mov eax, dword [edi + 0x28]
sub esp, 0xc
movss xmm0, dword [ebp - 0x68]
or dword [ebp - 4], 0xffffffff
mov dword [edi + eax*4 + 0x2c], ecx
mov eax, dword [edi + 0x28]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x50]
movss dword [esp + 4], xmm0
mov ecx, dword [edi + eax*4 + 0x2c]
movss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
mov eax, dword [ecx]
call dword [eax + 0x38]
mov eax, dword [0xa69070]
cmp dword [eax + 0x24], 0x7531
jne 0x766ca0
inc dword [0x80195c]
inc dword [edi + 0x28]
jmp 0x7651b8
cmp ecx, 0x208
jb 0x766d94
cmp ecx, 0x212
ja 0x766d94
add dword [ebp - 0x64], 8
mov esi, 0xcc
push esi
call fcn.00537b1c
mov edi, eax
pop ecx
mov dword [ebp - 0x104], edi
mov dword [ebp - 4], 0x1d
test edi, edi
je 0x766d17
push esi
mov ecx, edi
call fcn.0053783d
movss xmm0, dword [ebp - 0x6c]
subss xmm0, dword [0x7c0e90]
mov esi, dword [ebp - 0x2c]
push 0
push ecx
mov ecx, edi
movss dword [esp], xmm0
push 0x223333
push esi
call fcn.00539d95
mov esi, eax
mov dword [ebp - 0x24], eax
jmp 0x766d1c
xor esi, esi
mov dword [ebp - 0x24], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x7651b5
lea ecx, [ebp - 0x1f4]
movss xmm0, dword [ebp - 0x3c]
sub esp, 0xc
movss dword [esi + 0x98], xmm0
movss xmm0, dword [ebp - 0x60]
movss dword [esi + 0x9c], xmm0
movss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [ebp - 0x48]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
mov dword [esi + 0x6c], 1
movss dword [esp], xmm0
call fcn.0053a1a0
push dword [ebp - 0x30]
lea edi, [esi + 0x74]
mov esi, eax
push dword [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x765b62
mov edx, 0x5f8
cmp ecx, edx
je 0x76788b
cmp ecx, 0x604
je 0x76788b
cmp ecx, 0x605
je 0x76788b
cmp ecx, 0x606
je 0x76788b
cmp ecx, 0x607
je 0x76788b
cmp ecx, 0x63d
je 0x76788b
cmp ecx, 0x214
jbe 0x766e14
cmp ecx, 0x258
jae 0x767030
add dword [ebp - 0x64], 8
push 0xf4
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x108], esi
mov dword [ebp - 4], 0x20
jmp 0x766b76
cmp ecx, 0x213
jne 0x766e67
add dword [ebp - 0x64], 8
push 0x104
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x10c], esi
mov dword [ebp - 4], 0x21
test esi, esi
je 0x766b91
push 0x104
mov ecx, esi
call fcn.005364b5
movss xmm0, dword [ebp - 0x60]
push 0
push ecx
movss dword [esp], xmm0
mov ecx, esi
call fcn.00536feb
jmp 0x766b8d
cmp ecx, 0x214
jne 0x766ef9
add dword [ebp - 0x64], 8
mov esi, 0xcc
push esi
call fcn.00537b1c
mov edi, eax
pop ecx
mov dword [ebp - 0x110], edi
mov dword [ebp - 4], 0x22
test edi, edi
je 0x766eca
push esi
mov ecx, edi
call fcn.0053783d
movss xmm0, dword [ebp - 0x6c]
subss xmm0, dword [0x7c0e90]
mov esi, dword [ebp - 0x2c]
push 0
push ecx
mov ecx, edi
movss dword [esp], xmm0
push 0xaaaaaaaa
push esi
call fcn.00539d95
mov esi, eax
mov dword [ebp - 0x24], eax
jmp 0x766ecf
xor esi, esi
mov dword [ebp - 0x24], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x7651b5
mov word [esi + 0xac], 0x101
lea ecx, [ebp - 0x200]
mov dword [esi + 0xb8], 0x1388
jmp 0x766d2e
cmp ecx, 8
jne 0x766f3b
push 0x104
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x114], esi
mov dword [ebp - 4], 0x23
test esi, esi
je 0x766b91
push 0x104
mov ecx, esi
call fcn.005364b5
push 0
push ecx
mov dword [esp], 0x3f800000
jmp 0x766e5b
cmp ecx, 9
jne 0x766f74
push 0x104
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x118], esi
mov dword [ebp - 4], 0x24
test esi, esi
je 0x766b91
push 0x104
mov ecx, esi
call fcn.005364b5
push 2
pop eax
push eax
jmp 0x766f2e
push 0xa
pop eax
cmp ecx, eax
jne 0x766ff6
push 0x18c
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x11c], esi
mov dword [ebp - 4], 0x25
test esi, esi
je 0x766fdf
push 0x18c
mov ecx, esi
call fcn.0053c6b7
movss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [ebp - 0x48]
push ecx
push ecx
lea ecx, [ebp - 0x17c]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
call fcn.005377ac
mov ecx, esi
push dword [eax + 4]
push dword [eax]
call fcn.0053b87a
jmp 0x766fe1
xor eax, eax
or dword [ebp - 4], 0xffffffff
test eax, eax
je 0x7651b8
push dword [ebp - 0x30]
push eax
jmp 0x765b65
cmp ecx, 0xd
jne 0x767030
push 0x104
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x120], esi
mov dword [ebp - 4], 0x26
test esi, esi
je 0x766b91
push 0x104
mov ecx, esi
call fcn.005364b5
push 1
jmp 0x766f2e
cmp ecx, 0x60d
je 0x767851
cmp ecx, 0x60e
je 0x767851
cmp ecx, 0x60f
je 0x767851
cmp ecx, 0x7bc
jne 0x767333
cmp dword [0xa69070], 0
je 0x7651b8
movaps xmm0, xmm1
addss xmm0, xmm4
push ecx
push ecx
lea ecx, [ebp - 0x184]
movss dword [esp + 4], xmm0
movaps xmm0, xmm2
addss xmm0, xmm3
movss dword [esp], xmm0
call fcn.005377ac
mov ecx, dword [0xa69070]
push dword [eax + 4]
push dword [eax]
call fcn.005369c9
mov esi, 0xcc
push esi
call fcn.00537b1c
mov edi, eax
pop ecx
mov dword [ebp - 0x124], edi
movss xmm0, dword [ebp - 0x6c]
mov dword [ebp - 4], 0x28
subss xmm0, dword [0x7c0e90]
movss dword [ebp - 0x6c], xmm0
test edi, edi
je 0x7670fd
push esi
mov ecx, edi
call fcn.0053783d
movss xmm0, dword [ebp - 0x6c]
mov esi, dword [ebp - 0x2c]
push 0
push ecx
movss dword [esp], xmm0
mov ecx, edi
push 0xaaaaaaaa
push esi
call fcn.00539d95
mov esi, eax
jmp 0x767104
xor esi, esi
movss dword [ebp - 0x6c], xmm0
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x24], esi
test esi, esi
je 0x76717d
movss xmm0, dword [ebp - 0x4c]
lea ecx, [ebp - 0x20c]
addss xmm0, dword [ebp - 0x48]
sub esp, 0xc
mov dword [esi + 0x98], 0x3f800000
mov dword [esi + 0x9c], 0x3f800000
mov dword [esi + 0x6c], 1
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
call fcn.0053a1a0
push dword [ebp - 0x30]
lea edi, [esi + 0x74]
mov esi, eax
push dword [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x28]
mov ecx, dword [edi + 0x44]
call fcn.0053c9c3
jmp 0x767180
mov edi, dword [ebp - 0x28]
push 0xcc
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x128], esi
mov dword [ebp - 4], 0x29
test esi, esi
je 0x7671cf
push 0xcc
mov ecx, esi
call fcn.0053783d
movss xmm0, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x2c]
push 0
push ecx
movss dword [esp], xmm0
dec eax
push 0xaaaaaaaa
push eax
mov ecx, esi
call fcn.00539d95
mov esi, eax
mov dword [ebp - 0x24], eax
jmp 0x7671d4
xor esi, esi
mov dword [ebp - 0x24], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x76727f
movss xmm0, dword [ebp - 0x50]
lea ecx, [ebp - 0x218]
divss xmm0, dword [0x7c62f4]
sub esp, 0xc
mov word [esi + 0xac], 0x101
mov dword [esi + 0xb8], 0x1388
mov dword [esi + 0x98], 0x3f7ae148
mov dword [esi + 0x6c], 1
addss xmm0, dword [0x7c62dc]
movss dword [esi + 0x9c], xmm0
movss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [ebp - 0x48]
addss xmm0, dword [0x7c5b90]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
mov dword [esp + 4], 0x3e99999a
addss xmm0, dword [0x7c62ec]
movss dword [esp], xmm0
call fcn.0053a1a0
push dword [ebp - 0x30]
lea edi, [esi + 0x74]
mov esi, eax
push dword [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x28]
mov ecx, dword [edi + 0x44]
call fcn.0053c9c3
push 0xcc
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x12c], esi
mov dword [ebp - 4], 0x2a
test esi, esi
je 0x7672ce
push 0xcc
mov ecx, esi
call fcn.0053783d
movss xmm0, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x2c]
push 0
push ecx
movss dword [esp], xmm0
inc eax
push 0x88888888
push eax
mov ecx, esi
call fcn.00539d95
mov esi, eax
mov dword [ebp - 0x24], eax
jmp 0x7672d3
xor esi, esi
mov dword [ebp - 0x24], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x7651b8
movss xmm0, dword [ebp - 0x4c]
lea ecx, [ebp - 0x224]
addss xmm0, dword [ebp - 0x48]
sub esp, 0xc
mov dword [esi + 0x98], 0x3f800000
mov dword [esi + 0x9c], 0x3f800000
addss xmm0, dword [0x7c5b90]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
mov dword [esp + 4], 0x3e99999a
addss xmm0, dword [0x7c62ec]
jmp 0x766d70
cmp ecx, 0x736
jne 0x767817
mov edi, 0xcc
push edi
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x130], esi
mov dword [ebp - 4], 0x2b
test esi, esi
je 0x76738e
push edi
mov ecx, esi
call fcn.0053783d
movss xmm0, dword [ebp - 0x6c]
subss xmm0, dword [0x7c0e90]
push 0
push ecx
mov ecx, esi
movss dword [esp], xmm0
push 0xffffffffffffffff
push dword [ebp - 0x2c]
call fcn.00539d95
mov esi, eax
mov dword [ebp - 0x24], eax
jmp 0x767393
xor esi, esi
mov dword [ebp - 0x24], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x767406
movss xmm0, dword [ebp - 0x4c]
lea ecx, [ebp - 0x230]
addss xmm0, dword [ebp - 0x48]
push 3
pop eax
sub esp, 0xc
mov dword [esi + 0x98], 0x3f800000
mov dword [esi + 0x9c], 0x3f800000
mov dword [esi + 0x6c], eax
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
call fcn.0053a1a0
push dword [ebp - 0x30]
lea edi, [esi + 0x74]
mov esi, eax
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x44]
call fcn.0053c9c3
movss xmm0, dword [ebp - 0x4c]
xor edi, edi
addss xmm0, dword [ebp - 0x48]
mov dword [ebp - 0x40], edi
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
movss dword [ebp - 0x54], xmm0
push 0x184
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x134], esi
mov dword [ebp - 4], 0x2c
test esi, esi
je 0x76748a
push 0x184
mov ecx, esi
call fcn.00538f94
push 0x50
push 1
sub esp, 0x10
mov ecx, esi
and dword [esp + 0xc], 0
mov dword [esp + 8], 0x40333333
mov dword [esp + 4], 0x40333333
mov dword [esp], 0x40333333
push 0
push 2
pop eax
push eax
call fcn.0053cb2b
mov esi, eax
mov dword [ebp - 0x24], eax
jmp 0x76748f
xor esi, esi
mov dword [ebp - 0x24], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x767563
mov eax, dword [esi]
mov ecx, esi
and dword [esi + 0x104], 0
push 0x55553300
call dword [eax + 0x3c]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push ecx
mov dword [esi + 0x6c], 1
mulss xmm0, dword [0x7bd1d4]
addss xmm0, xmm0
divss xmm0, dword [0x7be07c]
movss dword [ebp - 0x38], xmm0
movss dword [esp], xmm0
call fcn.00537559
fmul dword [ebp - 0x74]
movss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
fadd dword [ebp - 0x3c]
fstp dword [ebp - 0x68]
call fcn.0053ce50
movss xmm0, dword [ebp - 0x54]
addss xmm0, dword [0x7bd180]
fmul dword [ebp - 0x74]
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [ebp - 0x68]
fadd dword [ebp - 0x38]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x50]
addss xmm0, dword [0x7c62e4]
push ecx
push ecx
fstp dword [ebp - 0x38]
lea ecx, [ebp - 0x23c]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
call fcn.0053a1a0
push dword [ebp - 0x30]
lea edi, [esi + 0x74]
mov esi, eax
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x44]
call fcn.0053c9c3
mov edi, dword [ebp - 0x40]
push 0x184
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x138], esi
mov dword [ebp - 4], 0x2d
test esi, esi
je 0x7675c2
push 0x184
mov ecx, esi
call fcn.00538f94
push 0x50
push 8
sub esp, 0x10
mov ecx, esi
and dword [esp + 0xc], 0
mov dword [esp + 8], 0x3f800000
mov dword [esp + 4], 0x3f800000
mov dword [esp], 0x3f800000
push 0
push 0xb
call fcn.0053cb2b
mov esi, eax
mov dword [ebp - 0x24], eax
jmp 0x7675c7
xor esi, esi
mov dword [ebp - 0x24], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x76769b
mov eax, dword [esi]
mov ecx, esi
push 0xeeeecc00
call dword [eax + 0x3c]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
and dword [esi + 0x104], 0
push ecx
mov dword [esi + 0x6c], 1
mulss xmm0, dword [0x7bd1d4]
addss xmm0, xmm0
divss xmm0, dword [0x7be07c]
movss dword [ebp - 0x38], xmm0
movss dword [esp], xmm0
call fcn.00537559
fmul dword [ebp - 0x74]
movss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
fadd dword [ebp - 0x3c]
fstp dword [ebp - 0x68]
call fcn.0053ce50
movss xmm0, dword [ebp - 0x54]
addss xmm0, dword [0x7bd180]
fmul dword [ebp - 0x74]
movss dword [ebp - 0x38], xmm0
movss xmm0, dword [ebp - 0x68]
fadd dword [ebp - 0x38]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x50]
addss xmm0, dword [0x7c62e4]
push ecx
push ecx
fstp dword [ebp - 0x38]
lea ecx, [ebp - 0x248]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x38]
movss dword [esp], xmm0
call fcn.0053a1a0
push dword [ebp - 0x30]
lea edi, [esi + 0x74]
mov esi, eax
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x44]
call fcn.0053c9c3
mov edi, dword [ebp - 0x40]
inc edi
mov dword [ebp - 0x40], edi
cmp edi, 0xc
jl 0x767429
movss xmm0, dword [ebp - 0x4c]
xor edi, edi
addss xmm0, dword [ebp - 0x48]
mov dword [ebp - 0x54], edi
movss dword [ebp - 0x3c], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
movss dword [ebp - 0x34], xmm0
push 0x184
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x13c], esi
mov dword [ebp - 4], 0x2e
test esi, esi
je 0x76772c
push 0x184
mov ecx, esi
call fcn.00538f94
push 0x50
push 1
sub esp, 0x10
mov ecx, esi
and dword [esp + 0xc], 0
mov dword [esp + 8], 0x40333333
mov dword [esp + 4], 0x40333333
mov dword [esp], 0x40333333
push 0
push 2
pop eax
push eax
call fcn.0053cb2b
mov esi, eax
mov dword [ebp - 0x24], eax
jmp 0x767731
xor esi, esi
mov dword [ebp - 0x24], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x767805
mov eax, dword [esi]
mov ecx, esi
and dword [esi + 0x104], 0
push 0x55553300
call dword [eax + 0x3c]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
push ecx
mov dword [esi + 0x6c], 1
mulss xmm0, dword [0x7bd1d4]
addss xmm0, xmm0
mulss xmm0, dword [0x7bece0]
movss dword [ebp - 0x40], xmm0
movss dword [esp], xmm0
call fcn.00537559
fmul dword [ebp - 0x7c]
movss xmm0, dword [ebp - 0x40]
movss dword [esp], xmm0
fadd dword [ebp - 0x3c]
fstp dword [ebp - 0x38]
call fcn.0053ce50
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [0x7bd180]
fmul dword [ebp - 0x7c]
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [ebp - 0x38]
fadd dword [ebp - 0x40]
movss dword [esp], xmm0
movss xmm0, dword [ebp - 0x50]
addss xmm0, dword [0x7c62f0]
push ecx
push ecx
fstp dword [ebp - 0x40]
lea ecx, [ebp - 0x254]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x40]
movss dword [esp], xmm0
call fcn.0053a1a0
push dword [ebp - 0x30]
lea edi, [esi + 0x74]
mov esi, eax
mov eax, dword [ebp - 0x28]
push dword [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax + 0x44]
call fcn.0053c9c3
mov edi, dword [ebp - 0x54]
inc edi
mov dword [ebp - 0x54], edi
cmp edi, 8
jl 0x7676cb
jmp 0x7651b5
push 0xf4
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x140], esi
mov dword [ebp - 4], 0x2f
test esi, esi
je 0x767a91
push 0xf4
mov ecx, esi
call fcn.0053bf14
mov ecx, esi
call fcn.00538701
jmp 0x767a8d
push 0xfc
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x144], esi
mov dword [ebp - 4], 0x27
test esi, esi
je 0x767a91
push 0xfc
mov ecx, esi
call fcn.00536c3f
mov ecx, esi
call fcn.0053ab37
jmp 0x767a8d
xor eax, eax
mov esi, 0x613
cmp ecx, edx
cmovne esi, eax
cmp ecx, 0x604
jne 0x7678a4
lea esi, [ecx + 0x10]
jmp 0x7678d9
cmp ecx, 0x605
jne 0x7678b1
lea esi, [ecx + 0x10]
jmp 0x7678d9
cmp ecx, 0x606
jne 0x7678be
lea esi, [ecx + 0x10]
jmp 0x7678d9
cmp ecx, 0x607
jne 0x7678cb
lea esi, [ecx + 0x10]
jmp 0x7678d9
cmp ecx, 0x63d
mov eax, 0x63e
cmove esi, eax
push 0xcc
call fcn.00537b1c
mov edi, eax
pop ecx
mov dword [ebp - 0x148], edi
mov dword [ebp - 4], 0x1e
test edi, edi
je 0x76792c
push 0xcc
mov ecx, edi
call fcn.0053783d
movss xmm0, dword [ebp - 0x6c]
subss xmm0, dword [0x7c0e90]
push 0
push ecx
mov ecx, edi
movss dword [esp], xmm0
push 0x223333
push esi
call fcn.00539d95
mov esi, eax
mov dword [ebp - 0x40], eax
jmp 0x767931
xor esi, esi
mov dword [ebp - 0x40], esi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x7679a7
movss xmm0, dword [ebp - 0x4c]
lea ecx, [ebp - 0x260]
addss xmm0, dword [ebp - 0x48]
sub esp, 0xc
mov dword [esi + 0x98], 0x3f800000
mov dword [esi + 0x9c], 0x3f800000
mov dword [esi + 0x6c], 1
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
movss dword [esp], xmm0
call fcn.0053a1a0
push dword [ebp - 0x30]
lea edi, [esi + 0x74]
mov esi, eax
push dword [ebp - 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x28]
mov ecx, dword [edi + 0x44]
call fcn.0053c9c3
jmp 0x7679aa
mov edi, dword [ebp - 0x28]
push 0xf4
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x14c], esi
mov dword [ebp - 4], 0x1f
jmp 0x767831
sub ecx, 0x25f
je 0x7679f1
sub ecx, esi
je 0x767a4a
sub ecx, 4
je 0x7679eb
sub ecx, 0x53
je 0x7679e5
dec ecx
sub ecx, 1
jne 0x767a59
mov byte [ebp - 0x70], 2
jmp 0x767a59
mov byte [ebp - 0x70], 6
jmp 0x767a59
mov byte [ebp - 0x70], 4
jmp 0x767a59
mov eax, 0x6cb
cmp ecx, eax
ja 0x767a2d
je 0x767a27
sub ecx, 0x5f6
je 0x767a47
sub ecx, 9
je 0x7679e5
sub ecx, 0x82
je 0x767a47
sub ecx, 0x1e
je 0x7679e5
sub ecx, 0x10
jne 0x767a59
mov byte [ebp - 0x70], 9
jmp 0x767a59
mov byte [ebp - 0x70], 8
jmp 0x767a59
sub ecx, 0x6d6
je 0x767a55
sub ecx, 0x69
je 0x767a4f
sub ecx, 0x8a
je 0x7679e5
sub ecx, 0xc
jne 0x767a59
push 3
pop eax
mov byte [ebp - 0x70], al
jmp 0x767a59
mov byte [ebp - 0x70], 0xb
jmp 0x767a59
mov byte [ebp - 0x70], 7
push 0x114
call fcn.00537b1c
mov esi, eax
pop ecx
mov dword [ebp - 0x150], esi
mov dword [ebp - 4], 0xc
test esi, esi
je 0x767a91
push 0x114
mov ecx, esi
call fcn.0053c0d6
push dword [ebp - 0x70]
mov ecx, esi
call fcn.00536f96
mov ecx, eax
jmp 0x767a93
xor ecx, ecx
mov eax, dword [edi + 0x48]
or dword [ebp - 4], 0xffffffff
mov dword [edi + eax*4 + 0x4c], ecx
mov eax, dword [ebp - 0x2c]
cmp eax, 0x291
je 0x767aaf
cmp eax, 0x292
jne 0x767abd
mov eax, dword [edi + 0x48]
mov eax, dword [edi + eax*4 + 0x4c]
mov dword [eax + 0x4c], 1
mov esi, dword [ebp - 0x2c]
mov eax, dword [edi + 0x48]
mov ecx, dword [ebp - 0x54]
mov eax, dword [edi + eax*4 + 0x4c]
mov dword [eax + 0x24], esi
mov eax, dword [edi + 0x48]
mov eax, dword [edi + eax*4 + 0x4c]
mov dword [eax + 0x3c], ecx
mov eax, dword [edi + 0x48]
mov ecx, dword [ebp - 0x24]
mov eax, dword [edi + eax*4 + 0x4c]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0x2c]
cmp eax, 0x74e
jb 0x767af5
cmp eax, 0x753
jbe 0x767b49
cmp eax, 0x755
jb 0x767b03
cmp eax, 0x760
jbe 0x767b49
cmp eax, 0x763
jb 0x767b11
cmp eax, 0x767
jbe 0x767b49
cmp eax, 0x775
jb 0x767b1f
cmp eax, 0x779
jbe 0x767b49
cmp eax, 0x77c
jb 0x767b2d
cmp eax, 0x77f
jbe 0x767b49
cmp eax, 0x76d
je 0x767b49
cmp eax, 0x78b
je 0x767b49
cmp eax, 0x78f
jb 0x767b5a
cmp eax, 0x790
ja 0x767b5a
mov eax, dword [edi + 0x48]
mov eax, dword [edi + eax*4 + 0x4c]
mov dword [eax + 0xf0], 1
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + eax*4 + 0x4c]
mov eax, dword [ecx]
call dword [eax + 0x38]
mov eax, dword [edi + 0x48]
sub esp, 0xc
movss xmm0, dword [ebp - 0x6c]
mov ecx, dword [edi + eax*4 + 0x4c]
and dword [esp + 8], 0
movss dword [esp + 4], xmm0
and dword [esp], 0
mov eax, dword [ecx]
call dword [eax + 0x40]
movss xmm0, dword [ebp - 0x4c]
sub esp, 0xc
addss xmm0, dword [ebp - 0x48]
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + eax*4 + 0x4c]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x50]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
mov eax, dword [ecx]
movss dword [esp], xmm0
call dword [eax + 0x3c]
cmp dword [ebp - 0x2c], 0x7f3
jne 0x767c10
movss xmm0, dword [ebp - 0x34]
addss xmm0, dword [ebp - 0x44]
ucomiss xmm0, dword [0x7c62f8]
lahf
test ah, 0x44
jp 0x767c10
movss xmm0, dword [ebp - 0x4c]
addss xmm0, dword [ebp - 0x48]
ucomiss xmm0, dword [0x7c62fc]
lahf
test ah, 0x44
jp 0x767c10
mov ecx, dword [0xa69070]
test ecx, ecx
je 0x767c10
mov eax, dword [edi + 0x48]
mov eax, dword [edi + eax*4 + 0x4c]
mov dword [ecx + 0x8c590], eax
mov eax, dword [edi + 0x48]
movss xmm0, dword [ebp - 0x4c]
mov ecx, dword [edi + eax*4 + 0x4c]
push ecx
push ecx
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x34]
mov eax, dword [ecx]
movss dword [esp], xmm0
push dword [edi + 0x24]
call dword [eax + 0x6c]
mov eax, dword [edi + 0x48]
mov ecx, edi
push dword [ebp - 0x30]
push dword [edi + eax*4 + 0x4c]
jmp 0x765b68