Function at 0x10035260
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x74
push ebx
push ebp
mov ebp, edx
movss dword [esp + 0x50], xmm3
push esi
push edi
mov esi, ecx
xor edi, edi
mov eax, dword [ebp + 0x28]
push dword [ebp + 0x38]
mov dword [esp + 0x40], esi
push dword [eax]
mov eax, dword [esi + 0x28]
push dword [eax]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp + 0x28]
push dword [ebp + 0x38]
push dword [eax + 4]
mov eax, dword [esi + 0x28]
push dword [eax + 4]
call sub.VCRUNTIME140.dll_memcpy
movss xmm0, dword [esp + 0x70]
add esp, 0x18
mov eax, dword [ebp + 0x18]
mov edx, 2
cvtps2pd xmm0, xmm0
sub eax, 2
mov dword [esp + 0x30], edx
cmp dword [ebp + 0x10], 1
addsd xmm0, qword [0x101e62e8]
cvtpd2ps xmm1, xmm0
movss dword [esp + 0x20], xmm1
jne 0x100356ae
cmp eax, edx
jle 0x100370a1
movsd xmm3, qword [0x101e6388]
xorps xmm4, xmm4
nop word [eax + eax]
mov eax, dword [ebp + 0x28]
mov ebx, dword [eax + edx*4 - 8]
mov edi, dword [eax + edx*4]
mov dword [esp + 0x38], ebx
mov ebx, dword [eax + edx*4 - 4]
mov dword [esp + 0x18], ebx
mov ebx, dword [eax + edx*4 + 4]
mov edx, dword [eax + edx*4 + 8]
mov eax, dword [esi + 0x28]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x28], ebx
mov ebx, 2
mov dword [esp + 0x2c], edi
mov esi, dword [eax + esi*4]
movzx eax, byte [edi]
mov dword [esp + 0x14], esi
mov byte [esi], al
movzx eax, byte [edi + 1]
mov byte [esi + 1], al
mov eax, dword [ebp + 0x14]
sub eax, ebx
cmp eax, ebx
jle 0x1003567e
mov ecx, dword [esp + 0x28]
lea eax, [esi + 2]
mov dword [esp + 0x24], eax
add edi, 4
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x34], eax
lea esi, [ecx + 3]
mov eax, dword [esp + 0x38]
sub ecx, edx
sub eax, edx
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x5c], eax
sub ecx, edx
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x28]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x18]
mov eax, ecx
sub eax, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x28]
mov dword [esp + 0x60], eax
mov eax, ecx
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x2c]
mov dword [esp + 0x64], eax
mov eax, ecx
sub eax, dword [esp + 0x38]
mov dword [esp + 0x1c], ecx
sub dword [esp + 0x1c], edx
sub ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], ecx
inc eax
lea ecx, [edx + 1]
mov dword [esp + 0x40], eax
xorps xmm0, xmm0
mov dword [esp + 0x48], ecx
xorps xmm2, xmm2
mov eax, dword [esp + 0x48]
lea ecx, [esi + 1]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x88]
movzx eax, byte [eax]
cvtsi2ss xmm2, eax
movzx eax, byte [edx]
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 2]
mulss xmm2, dword [ecx + 4]
mulss xmm0, dword [ecx]
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 3]
mulss xmm0, dword [ecx + 8]
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 4]
mulss xmm0, dword [ecx + 0xc]
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x58]
movzx eax, byte [edx + eax]
mulss xmm0, dword [ecx + 0x10]
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [esi - 2]
cvtsi2ss xmm0, eax
movzx eax, byte [esi - 1]
mulss xmm1, dword [ecx + 0x14]
mulss xmm0, dword [ecx + 0x18]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [esi]
mulss xmm0, dword [ecx + 0x1c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x44]
movzx eax, byte [eax]
mulss xmm0, dword [ecx + 0x20]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x54]
movzx eax, byte [edx + eax]
mulss xmm0, dword [ecx + 0x24]
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [edi - 3]
cvtsi2ss xmm0, eax
movzx eax, byte [edi - 2]
mulss xmm1, dword [ecx + 0x28]
mulss xmm0, dword [ecx + 0x2c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x50]
movzx eax, byte [esi + eax]
mulss xmm0, dword [ecx + 0x30]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [ecx + 0x34]
addss xmm1, xmm0
movzx eax, byte [edi]
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x1c]
movzx eax, byte [edx + eax]
mulss xmm0, dword [ecx + 0x38]
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x34]
mulss xmm1, dword [ecx + 0x3c]
mov ecx, dword [esp + 0x4c]
movzx eax, byte [eax + ecx]
mov ecx, dword [esp + 0x88]
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x24]
mulss xmm0, dword [ecx + 0x40]
mov ecx, dword [esp + 0x18]
addss xmm1, xmm0
xorps xmm0, xmm0
movzx eax, byte [eax + ecx]
mov ecx, dword [esp + 0x88]
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [esi + eax]
mulss xmm0, dword [ecx + 0x44]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x28]
movzx eax, byte [edi + eax]
mulss xmm0, dword [ecx + 0x48]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x5c]
movzx eax, byte [edx + eax]
mulss xmm0, dword [ecx + 0x4c]
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x34]
movzx eax, byte [eax]
mulss xmm1, dword [ecx + 0x50]
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x40]
movzx eax, byte [eax]
mulss xmm0, dword [ecx + 0x54]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x60]
movzx eax, byte [esi + eax]
mulss xmm0, dword [ecx + 0x58]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x64]
movzx eax, byte [edi + eax]
mulss xmm0, dword [ecx + 0x5c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [ecx + 0x60]
addss xmm1, xmm0
addss xmm2, xmm1
comiss xmm4, xmm2
jb 0x10035631
xor al, al
jmp 0x10035642
cvtps2pd xmm0, xmm2
comisd xmm0, xmm3
jb 0x1003563e
or al, 0xff
jmp 0x10035642
cvttss2si eax, xmm2
mov edx, dword [esp + 0x24]
inc ebx
inc dword [esp + 0x24]
inc edi
mov esi, dword [esp + 0x44]
movss xmm1, dword [esp + 0x20]
mov byte [edx], al
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0x14]
sub eax, 2
cmp ebx, eax
mov eax, dword [esp + 0x34]
jl 0x100353d0
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
movzx eax, byte [edi + ebx]
mov edx, dword [esp + 0x30]
mov byte [esi + ebx], al
inc edx
movzx eax, byte [edi + ebx + 1]
mov byte [esi + ebx + 1], al
mov eax, dword [ebp + 0x18]
mov esi, dword [esp + 0x3c]
sub eax, 2
mov dword [esp + 0x30], edx
cmp edx, eax
jl 0x100352f0
jmp 0x100370a1
cmp eax, 2
jle 0x100370a1
nop word [eax + eax]
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax + edx*4 - 8]
mov ebx, dword [eax + edx*4 - 4]
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + edx*4]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + edx*4 + 4]
mov edx, dword [eax + edx*4 + 8]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x28], ebx
mov eax, dword [eax + 0x28]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x38], eax
mov esi, dword [esp + 0x38]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esi], eax
mov eax, esi
mov dword [eax + 4], ecx
mov eax, dword [ebp + 0x10]
cmp eax, 2
jne 0x10035ce8
mov edi, eax
mov eax, dword [ebp + 0x14]
sub eax, edi
cmp eax, edi
jle 0x10037070
mov esi, dword [esp + 0x10]
lea eax, [ebx + 3]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
add eax, 4
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
lea ecx, [esi + 0xc]
mov eax, dword [esp + 0x18]
sub esi, edx
sub eax, edx
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x14]
add ebx, 0x10
mov dword [esp + 0x68], eax
sub esi, edx
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x10]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x28]
mov eax, esi
sub eax, dword [esp + 0x10]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x10]
mov dword [esp + 0x6c], eax
mov eax, esi
sub eax, dword [esp + 0x14]
mov dword [esp + 0x24], esi
sub dword [esp + 0x24], edx
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x18]
sub eax, dword [esp + 0x14]
sub esi, dword [esp + 0x18]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x88]
mov dword [esp + 0x70], eax
xorps xmm0, xmm0
movss xmm3, dword [esi + 4]
lea eax, [edx + 4]
movss xmm2, dword [esi]
mov dword [esp + 0x18], eax
xorps xmm1, xmm1
lea eax, [ecx + 4]
movss xmm4, dword [esi + 8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
add eax, 4
movss xmm5, dword [esi + 0xc]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x18]
movss xmm6, dword [esi + 0x10]
movss xmm7, dword [esi + 0x14]
movzx eax, byte [eax]
cvtsi2ss xmm1, eax
movzx eax, byte [edx]
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 8]
mulss xmm1, xmm3
mulss xmm0, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0xc]
mulss xmm0, xmm4
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0x10]
mulss xmm0, xmm5
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x64]
movzx eax, byte [eax + edx]
mulss xmm0, xmm6
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, dword [esp + 0x20]
movss dword [esp + 0x1c], xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ecx - 8]
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 4]
mulss xmm1, xmm7
mulss xmm0, dword [esi + 0x18]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx]
mulss xmm0, dword [esi + 0x1c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
mulss xmm0, dword [esi + 0x20]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x60]
movzx eax, byte [eax + edx]
mulss xmm0, dword [esi + 0x24]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x1c]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ebx - 0xc]
movss dword [esp + 0x1c], xmm0
xorps xmm0, xmm0
mulss xmm1, dword [esi + 0x28]
cvtsi2ss xmm0, eax
movzx eax, byte [ebx - 8]
mulss xmm0, dword [esi + 0x2c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x5c]
movzx eax, byte [eax + ecx]
mulss xmm0, dword [esi + 0x30]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ebx]
mulss xmm0, dword [esi + 0x34]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x2c]
mulss xmm0, dword [esi + 0x38]
mov esi, dword [esp + 0x28]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x1c]
movzx eax, byte [esi + eax]
mov esi, dword [esp + 0x88]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x24]
movss dword [esp + 0x1c], xmm0
xorps xmm0, xmm0
movzx eax, byte [eax + edx]
mulss xmm1, dword [esi + 0x40]
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x34]
movzx eax, byte [eax + 5]
mulss xmm0, dword [esi + 0x3c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x58]
movzx eax, byte [eax + ecx]
mulss xmm0, dword [esi + 0x44]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x54]
movzx eax, byte [eax + ebx]
mulss xmm0, dword [esi + 0x48]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x68]
movzx eax, byte [eax + edx]
mulss xmm0, dword [esi + 0x4c]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x1c]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x2c]
movss dword [esp + 0x1c], xmm0
xorps xmm0, xmm0
movzx eax, byte [eax]
mulss xmm1, dword [esi + 0x50]
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x50]
movzx eax, byte [eax]
mulss xmm0, dword [esi + 0x54]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x6c]
movzx eax, byte [eax + ecx]
mulss xmm0, dword [esi + 0x58]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x70]
movzx eax, byte [eax + ebx]
mulss xmm0, dword [esi + 0x5c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [esi + 0x60]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x1c]
addss xmm0, xmm1
mov eax, dword [esp + 0x34]
add eax, 4
xorps xmm1, xmm1
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 3]
movss dword [esp + 0x1c], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 7]
mulss xmm0, xmm2
movss dword [esp + 0x74], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0xb]
movss xmm2, dword [esp + 0x74]
mulss xmm0, xmm3
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0xf]
mulss xmm0, xmm4
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0x13]
mulss xmm0, xmm5
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 9]
cvtsi2ss xmm1, eax
movzx eax, byte [ecx - 5]
mulss xmm0, xmm6
mulss xmm1, xmm7
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 1]
addss xmm2, dword [esp + 0x20]
mulss xmm0, dword [esi + 0x18]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 3]
mulss xmm0, dword [esi + 0x1c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 7]
mulss xmm0, dword [esi + 0x20]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ebx - 0xd]
mulss xmm0, dword [esi + 0x24]
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ebx - 9]
cvtsi2ss xmm0, eax
movzx eax, byte [ebx - 5]
mulss xmm1, dword [esi + 0x28]
mulss xmm0, dword [esi + 0x2c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ebx - 1]
mulss xmm0, dword [esi + 0x30]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ebx + 3]
mulss xmm0, dword [esi + 0x34]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [esi + 0x38]
addss xmm1, xmm0
mov ecx, dword [esp + 0x34]
addss xmm2, xmm1
xorps xmm1, xmm1
movsd xmm3, qword [0x101e6388]
xorps xmm0, xmm0
xorps xmm4, xmm4
movzx eax, byte [ecx]
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x4c]
movzx eax, byte [eax]
mulss xmm1, dword [esi + 0x3c]
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 8]
mulss xmm0, dword [esi + 0x40]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 0xc]
mulss xmm0, dword [esi + 0x44]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 0x10]
mov ecx, dword [esp + 0x2c]
mulss xmm0, dword [esi + 0x48]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 1]
mulss xmm0, dword [esi + 0x4c]
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ecx + 3]
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 7]
mulss xmm1, dword [esi + 0x50]
mulss xmm0, dword [esi + 0x54]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 0xb]
mulss xmm0, dword [esi + 0x58]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 0xf]
mulss xmm0, dword [esi + 0x5c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [esi + 0x60]
addss xmm1, xmm0
addss xmm2, xmm1
movss xmm1, dword [esp + 0x1c]
comiss xmm4, xmm1
jb 0x10035c7b
xor dl, dl
jmp 0x10035c8d
cvtps2pd xmm0, xmm1
comisd xmm0, xmm3
jb 0x10035c89
or dl, 0xff
jmp 0x10035c8d
cvttss2si edx, xmm1
comiss xmm4, xmm2
jb 0x10035c96
xor al, al
jmp 0x10035ca7
cvtps2pd xmm0, xmm2
comisd xmm0, xmm3
jb 0x10035ca3
or al, 0xff
jmp 0x10035ca7
cvttss2si eax, xmm2
movzx ecx, al
add ebx, 4
shl ecx, 0x18
movzx eax, dl
mov edx, dword [esp + 0x18]
or ecx, eax
mov eax, dword [esp + 0x38]
mov dword [eax + edi*4], ecx
inc edi
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x14]
sub eax, 2
cmp edi, eax
jl 0x100357b4
jmp 0x10037070
cmp eax, 3
jne 0x10036544
lea edi, [eax - 1]
mov eax, dword [ebp + 0x14]
sub eax, edi
cmp eax, edi
jle 0x10037070
mov esi, dword [esp + 0x18]
lea eax, [ebx + 1]
mov dword [esp + 0x2c], eax
sub esi, edx
mov eax, dword [esp + 0x18]
add eax, 4
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x1c], eax
add ebx, 0x10
mov eax, dword [esp + 0x10]
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x14]
sub esi, dword [esp + 0x10]
lea ecx, [eax + 0xc]
mov dword [esp + 0x6c], esi
sub eax, edx
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x14]
sub eax, edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x28]
mov esi, eax
sub esi, dword [esp + 0x10]
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x18]
sub esi, dword [esp + 0x10]
mov dword [esp + 0x5c], esi
mov esi, eax
sub esi, dword [esp + 0x14]
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x18]
sub esi, dword [esp + 0x14]
mov dword [esp + 0x34], eax
sub dword [esp + 0x34], edx
sub eax, dword [esp + 0x18]
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x88]
mov dword [esp + 0x28], eax
nop
xorps xmm1, xmm1
movss xmm3, dword [esi + 4]
xorps xmm0, xmm0
movss xmm2, dword [esi]
lea eax, [edx + 4]
movss xmm4, dword [esi + 8]
mov dword [esp + 0x50], eax
lea eax, [ecx + 4]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1c]
add eax, 4
movss xmm5, dword [esi + 0xc]
mov dword [esp + 0x54], eax
movzx eax, byte [edx]
movss xmm6, dword [esi + 0x10]
movss xmm7, dword [esi + 0x14]
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x50]
movzx eax, byte [eax]
mulss xmm1, xmm2
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 8]
mulss xmm0, xmm3
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0xc]
mulss xmm0, xmm4
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0x10]
mulss xmm0, xmm5
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x74]
movzx eax, byte [edx + eax]
mulss xmm0, xmm6
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, dword [esp + 0x20]
movss dword [esp + 0x18], xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ecx - 8]
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 4]
mulss xmm1, xmm7
mulss xmm0, dword [esi + 0x18]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx]
mulss xmm0, dword [esi + 0x1c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x4c]
movzx eax, byte [eax]
mulss xmm0, dword [esi + 0x20]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x70]
movzx eax, byte [edx + eax]
mulss xmm0, dword [esi + 0x24]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x18]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ebx - 0xc]
movss dword [esp + 0x18], xmm0
xorps xmm0, xmm0
mulss xmm1, dword [esi + 0x28]
cvtsi2ss xmm0, eax
movzx eax, byte [ebx - 8]
mulss xmm0, dword [esi + 0x2c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x6c]
movzx eax, byte [ecx + eax]
mulss xmm0, dword [esi + 0x30]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ebx]
mulss xmm0, dword [esi + 0x34]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x28]
mulss xmm0, dword [esi + 0x38]
mov esi, dword [esp + 0x1c]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x18]
movzx eax, byte [esi + eax]
mov esi, dword [esp + 0x88]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x34]
movss dword [esp + 0x18], xmm0
xorps xmm0, xmm0
movzx eax, byte [edx + eax]
mulss xmm1, dword [esi + 0x40]
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + 7]
mulss xmm0, dword [esi + 0x3c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x68]
movzx eax, byte [ecx + eax]
mulss xmm0, dword [esi + 0x44]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x64]
movzx eax, byte [ebx + eax]
mulss xmm0, dword [esi + 0x48]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x60]
movzx eax, byte [edx + eax]
mulss xmm0, dword [esi + 0x4c]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x18]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x1c]
movss dword [esp + 0x18], xmm0
xorps xmm0, xmm0
movzx eax, byte [eax]
mulss xmm1, dword [esi + 0x50]
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x54]
movzx eax, byte [eax]
mulss xmm0, dword [esi + 0x54]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x5c]
movzx eax, byte [ecx + eax]
mulss xmm0, dword [esi + 0x58]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x58]
movzx eax, byte [ebx + eax]
mulss xmm0, dword [esi + 0x5c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [esi + 0x60]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x18]
addss xmm0, xmm1
mov eax, dword [esp + 0x2c]
add eax, 4
xorps xmm1, xmm1
mov dword [esp + 0x24], eax
movzx eax, byte [edx + 1]
movss dword [esp + 0x18], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm1, eax
movzx eax, byte [edx + 5]
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 9]
mulss xmm1, xmm2
mulss xmm0, xmm3
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0xd]
mulss xmm0, xmm4
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0x11]
mulss xmm0, xmm5
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 0xb]
mulss xmm0, xmm6
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, dword [esp + 0x20]
movss dword [esp + 0x10], xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ecx - 7]
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 3]
mulss xmm1, xmm7
mulss xmm0, dword [esi + 0x18]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 1]
mulss xmm0, dword [esi + 0x1c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 5]
mulss xmm0, dword [esi + 0x20]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ebx - 0xf]
mulss xmm0, dword [esi + 0x24]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x10]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ebx - 0xb]
movss dword [esp + 0x10], xmm0
xorps xmm0, xmm0
mulss xmm1, dword [esi + 0x28]
cvtsi2ss xmm0, eax
movzx eax, byte [ebx - 7]
mulss xmm0, dword [esi + 0x2c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ebx - 3]
mulss xmm0, dword [esi + 0x30]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ebx + 1]
mulss xmm0, dword [esi + 0x34]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [esi + 0x38]
addss xmm1, xmm0
mov eax, dword [esp + 0x2c]
movss xmm0, dword [esp + 0x10]
movzx eax, byte [eax]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x24]
movss dword [esp + 0x10], xmm0
xorps xmm0, xmm0
movzx eax, byte [eax]
mulss xmm1, dword [esi + 0x3c]
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + 8]
mulss xmm0, dword [esi + 0x40]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + 0xc]
mulss xmm0, dword [esi + 0x44]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [eax + 0x10]
mulss xmm0, dword [esi + 0x48]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax - 3]
mulss xmm0, dword [esi + 0x4c]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x10]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x1c]
movss dword [esp + 0x10], xmm0
xorps xmm0, xmm0
movzx eax, byte [eax + 1]
mulss xmm1, dword [esi + 0x50]
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + 5]
mulss xmm0, dword [esi + 0x54]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + 9]
mulss xmm0, dword [esi + 0x58]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + 0xd]
mulss xmm0, dword [esi + 0x5c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 2]
mulss xmm0, dword [esi + 0x60]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x10]
addss xmm0, xmm1
movss dword [esp + 0x10], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 6]
mulss xmm0, xmm2
movss dword [esp + 0x78], xmm0
xorps xmm0, xmm0
movss xmm2, dword [esp + 0x78]
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0xa]
mulss xmm0, xmm3
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0xe]
xorps xmm1, xmm1
mulss xmm0, xmm4
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0x12]
mulss xmm0, xmm5
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 0xa]
cvtsi2ss xmm1, eax
movzx eax, byte [ecx - 6]
mulss xmm0, xmm6
mulss xmm1, xmm7
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 2]
addss xmm2, dword [esp + 0x20]
mulss xmm0, dword [esi + 0x18]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 2]
mulss xmm0, dword [esi + 0x1c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 6]
mov ecx, dword [esp + 0x2c]
mulss xmm0, dword [esi + 0x20]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ebx - 0xe]
mulss xmm0, dword [esi + 0x24]
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ebx - 0xa]
cvtsi2ss xmm0, eax
movzx eax, byte [ebx - 6]
mulss xmm1, dword [esi + 0x28]
mulss xmm0, dword [esi + 0x2c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ebx - 2]
mulss xmm0, dword [esi + 0x30]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ebx + 2]
mulss xmm0, dword [esi + 0x34]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 1]
mulss xmm0, dword [esi + 0x38]
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ecx + 5]
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 9]
mulss xmm1, dword [esi + 0x3c]
mulss xmm0, dword [esi + 0x40]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 0xd]
mulss xmm0, dword [esi + 0x44]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 0x11]
mov ecx, dword [esp + 0x1c]
movsd xmm3, qword [0x101e6388]
xorps xmm4, xmm4
mulss xmm0, dword [esi + 0x48]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 2]
mulss xmm0, dword [esi + 0x4c]
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ecx + 2]
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 6]
mulss xmm1, dword [esi + 0x50]
mulss xmm0, dword [esi + 0x54]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 0xa]
mulss xmm0, dword [esi + 0x58]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 0xe]
mulss xmm0, dword [esi + 0x5c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [esi + 0x60]
addss xmm1, xmm0
addss xmm2, xmm1
movss xmm1, dword [esp + 0x18]
comiss xmm4, xmm1
jb 0x100364a4
mov byte [esp + 0x40], 0
jmp 0x100364bc
cvtps2pd xmm0, xmm1
comisd xmm0, xmm3
jb 0x100364b4
mov byte [esp + 0x40], 0xff
jmp 0x100364bc
cvttss2si eax, xmm1
mov dword [esp + 0x40], eax
movss xmm1, dword [esp + 0x10]
comiss xmm4, xmm1
jb 0x100364cb
xor dl, dl
jmp 0x100364dd
cvtps2pd xmm0, xmm1
comisd xmm0, xmm3
jb 0x100364d9
or dl, 0xff
jmp 0x100364dd
cvttss2si edx, xmm1
comiss xmm4, xmm2
jb 0x100364e6
xor al, al
jmp 0x100364f7
cvtps2pd xmm0, xmm2
comisd xmm0, xmm3
jb 0x100364f3
or al, 0xff
jmp 0x100364f7
cvttss2si eax, xmm2
movzx ecx, al
add ebx, 4
shl ecx, 8
movzx eax, dl
mov edx, dword [esp + 0x50]
or ecx, eax
mov eax, dword [esp + 0x40]
movzx eax, al
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x38]
mov dword [eax + edi*4], ecx
inc edi
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x14]
sub eax, 2
cmp edi, eax
jl 0x10035d90
jmp 0x10037070
cmp eax, 4
jne 0x10037070
lea edi, [eax - 2]
mov eax, dword [ebp + 0x14]
sub eax, edi
cmp eax, edi
jle 0x10037070
lea eax, [ebx + 1]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
lea ecx, [eax + 4]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x14]
add ecx, 0x10
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x10]
lea esi, [ecx + 0xc]
mov dword [esp + 0x10], esi
mov esi, ecx
sub esi, edx
mov dword [esp + 0x78], esi
mov esi, dword [esp + 0x14]
sub esi, edx
mov dword [esp + 0x74], esi
mov esi, ebx
sub esi, edx
mov dword [esp + 0x6c], esi
mov esi, eax
sub esi, edx
mov dword [esp + 0x60], esi
mov esi, dword [esp + 0x14]
sub esi, ecx
mov dword [esp + 0x70], esi
mov esi, ebx
sub esi, ecx
mov dword [esp + 0x68], esi
mov esi, eax
sub esi, ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x5c], esi
mov esi, ebx
sub esi, dword [esp + 0x14]
mov dword [esp + 0x64], esi
mov esi, eax
sub esi, dword [esp + 0x14]
sub ebx, eax
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x88]
lea eax, [edx + 4]
movss xmm3, dword [esi + 4]
mov dword [esp + 0x54], eax
xorps xmm1, xmm1
mov eax, dword [esp + 0x10]
xorps xmm0, xmm0
add eax, 4
movss xmm2, dword [esi]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x18]
add eax, 4
movss xmm4, dword [esi + 8]
mov dword [esp + 0x58], eax
movzx eax, byte [edx]
movss xmm5, dword [esi + 0xc]
movss xmm6, dword [esi + 0x10]
movss xmm7, dword [esi + 0x14]
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x54]
movzx eax, byte [eax]
mulss xmm1, xmm2
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 8]
mulss xmm0, xmm3
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0xc]
mulss xmm0, xmm4
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0x10]
mulss xmm0, xmm5
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x78]
movzx eax, byte [eax + edx]
mulss xmm0, xmm6
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, dword [esp + 0x20]
movss dword [esp + 0x24], xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax - 8]
mulss xmm1, xmm7
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax - 4]
mulss xmm0, dword [esi + 0x18]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
mulss xmm0, dword [esi + 0x1c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x50]
movzx eax, byte [eax]
mulss xmm0, dword [esi + 0x20]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x74]
movzx eax, byte [eax + edx]
mulss xmm0, dword [esi + 0x24]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x24]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ecx - 0xc]
movss dword [esp + 0x24], xmm0
xorps xmm0, xmm0
mulss xmm1, dword [esi + 0x28]
cvtsi2ss xmm0, eax
mulss xmm0, dword [esi + 0x2c]
movzx eax, byte [ecx - 8]
mov ecx, dword [esp + 0x70]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [ecx + eax]
mulss xmm0, dword [esi + 0x30]
mov ecx, dword [esp + 0x34]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx]
mov ecx, dword [esp + 0x68]
mulss xmm0, dword [esi + 0x34]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [ebx + eax]
mulss xmm0, dword [esi + 0x38]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x24]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x6c]
movss dword [esp + 0x24], xmm0
xorps xmm0, xmm0
movzx eax, byte [eax + edx]
mulss xmm1, dword [esi + 0x40]
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + 7]
mulss xmm0, dword [esi + 0x3c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [ecx + eax]
mulss xmm0, dword [esi + 0x44]
mov ecx, dword [esp + 0x34]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x64]
movzx eax, byte [eax + ecx]
mulss xmm0, dword [esi + 0x48]
mov ecx, dword [esp + 0x5c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x60]
movzx eax, byte [eax + edx]
mulss xmm0, dword [esi + 0x4c]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x24]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x18]
movss dword [esp + 0x24], xmm0
xorps xmm0, xmm0
movzx eax, byte [eax]
mulss xmm1, dword [esi + 0x50]
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x58]
movzx eax, byte [eax]
mulss xmm0, dword [esi + 0x54]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [ecx + eax]
mulss xmm0, dword [esi + 0x58]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [esi + 0x5c]
addss xmm1, xmm0
mov ecx, dword [esp + 0x34]
xorps xmm0, xmm0
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + ecx]
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x1c]
add eax, 4
mov dword [esp + 0x4c], eax
movzx eax, byte [edx + 1]
mulss xmm0, dword [esi + 0x60]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x24]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [edx + 5]
movss dword [esp + 0x24], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 9]
mulss xmm1, xmm2
mulss xmm0, xmm3
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0xd]
mulss xmm0, xmm4
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0x11]
mulss xmm0, xmm5
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax - 0xb]
mulss xmm0, xmm6
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, dword [esp + 0x20]
movss dword [esp + 0x28], xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax - 7]
mulss xmm1, xmm7
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax - 3]
mulss xmm0, dword [esi + 0x18]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 1]
mulss xmm0, dword [esi + 0x1c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 5]
mulss xmm0, dword [esi + 0x20]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 0xf]
mulss xmm0, dword [esi + 0x24]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x28]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ecx - 0xb]
movss dword [esp + 0x28], xmm0
xorps xmm0, xmm0
mulss xmm1, dword [esi + 0x28]
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 7]
mulss xmm0, dword [esi + 0x2c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 3]
mulss xmm0, dword [esi + 0x30]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 1]
mulss xmm0, dword [esi + 0x34]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x4c]
movzx eax, byte [eax]
mulss xmm0, dword [esi + 0x38]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x28]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x1c]
movss dword [esp + 0x28], xmm0
xorps xmm0, xmm0
movzx eax, byte [eax]
mulss xmm1, dword [esi + 0x40]
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + 8]
mulss xmm0, dword [esi + 0x3c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + 0xc]
mulss xmm0, dword [esi + 0x44]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + 0x10]
mulss xmm0, dword [esi + 0x48]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 1]
mulss xmm0, dword [esi + 0x4c]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x28]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x18]
movss dword [esp + 0x28], xmm0
xorps xmm0, xmm0
movzx eax, byte [eax - 3]
mulss xmm1, dword [esi + 0x54]
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 5]
mulss xmm0, dword [esi + 0x50]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 9]
mulss xmm0, dword [esi + 0x58]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 0xd]
mulss xmm0, dword [esi + 0x5c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [esi + 0x60]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x28]
addss xmm0, xmm1
movss dword [esp + 0x28], xmm0
movzx eax, byte [edx + 2]
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [edx + 6]
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0xa]
mulss xmm1, xmm2
mulss xmm0, xmm3
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0xe]
mulss xmm0, xmm4
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0x12]
mulss xmm0, xmm5
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax - 0xa]
mulss xmm0, xmm6
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm1, dword [esp + 0x20]
movss dword [esp + 0x2c], xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax - 6]
mulss xmm1, xmm7
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax - 2]
mulss xmm0, dword [esi + 0x18]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 2]
mulss xmm0, dword [esi + 0x1c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 6]
mulss xmm0, dword [esi + 0x20]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 0xe]
mulss xmm0, dword [esi + 0x24]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x2c]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ecx - 0xa]
movss dword [esp + 0x2c], xmm0
xorps xmm0, xmm0
mulss xmm1, dword [esi + 0x28]
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 6]
mulss xmm0, dword [esi + 0x2c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 2]
mulss xmm0, dword [esi + 0x30]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 2]
mulss xmm0, dword [esi + 0x34]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [esi + 0x38]
addss xmm1, xmm0
mov eax, dword [esp + 0x1c]
movss xmm0, dword [esp + 0x2c]
movzx eax, byte [eax + 1]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x1c]
movss dword [esp + 0x2c], xmm0
xorps xmm0, xmm0
movzx eax, byte [eax + 5]
mulss xmm1, dword [esi + 0x3c]
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + 9]
mulss xmm0, dword [esi + 0x40]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + 0xd]
mulss xmm0, dword [esi + 0x44]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + 0x11]
mulss xmm0, dword [esi + 0x48]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 2]
mulss xmm0, dword [esi + 0x4c]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x2c]
addss xmm0, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
mov eax, dword [esp + 0x18]
movss dword [esp + 0x2c], xmm0
xorps xmm0, xmm0
movzx eax, byte [eax - 2]
mulss xmm1, dword [esi + 0x54]
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 6]
mulss xmm0, dword [esi + 0x50]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 0xa]
mulss xmm0, dword [esi + 0x58]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + 0xe]
mulss xmm0, dword [esi + 0x5c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 3]
mulss xmm0, dword [esi + 0x60]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x2c]
addss xmm0, xmm1
movss dword [esp + 0x2c], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 7]
mulss xmm0, xmm2
movss dword [esp + 0x80], xmm0
xorps xmm0, xmm0
movss xmm2, dword [esp + 0x80]
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0xb]
mulss xmm0, xmm3
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0xf]
xorps xmm1, xmm1
mulss xmm0, xmm4
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 0x13]
mov edx, dword [esp + 0x10]
mulss xmm0, xmm5
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx - 9]
cvtsi2ss xmm1, eax
movzx eax, byte [edx - 5]
mulss xmm0, xmm6
mulss xmm1, xmm7
addss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx - 1]
addss xmm2, dword [esp + 0x20]
mulss xmm0, dword [esi + 0x18]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 3]
mulss xmm0, dword [esi + 0x1c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [edx + 7]
mulss xmm0, dword [esi + 0x20]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 0xd]
mulss xmm0, dword [esi + 0x24]
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ecx - 9]
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 5]
mulss xmm1, dword [esi + 0x28]
mulss xmm0, dword [esi + 0x2c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx - 1]
mulss xmm0, dword [esi + 0x30]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 3]
mov ecx, dword [esp + 0x1c]
mulss xmm0, dword [esi + 0x34]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 2]
mulss xmm0, dword [esi + 0x38]
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ecx + 6]
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 0xa]
mulss xmm1, dword [esi + 0x3c]
mulss xmm0, dword [esi + 0x40]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 0xe]
mulss xmm0, dword [esi + 0x44]
addss xmm1, xmm0
xorps xmm0, xmm0
movsd xmm3, qword [0x101e6388]
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 0x12]
mov ecx, dword [esp + 0x18]
xorps xmm4, xmm4
mulss xmm0, dword [esi + 0x48]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 3]
mulss xmm0, dword [esi + 0x4c]
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
movzx eax, byte [ecx - 1]
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 7]
mulss xmm1, dword [esi + 0x54]
mulss xmm0, dword [esi + 0x50]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 0xb]
mulss xmm0, dword [esi + 0x58]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
movzx eax, byte [ecx + 0xf]
mulss xmm0, dword [esi + 0x5c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mulss xmm0, dword [esi + 0x60]
addss xmm1, xmm0
addss xmm2, xmm1
movss xmm1, dword [esp + 0x24]
comiss xmm4, xmm1
jb 0x10036f93
mov byte [esp + 0x48], 0
jmp 0x10036fab
cvtps2pd xmm0, xmm1
comisd xmm0, xmm3
jb 0x10036fa3
mov byte [esp + 0x48], 0xff
jmp 0x10036fab
cvttss2si eax, xmm1
mov dword [esp + 0x48], eax
movss xmm1, dword [esp + 0x28]
comiss xmm4, xmm1
jb 0x10036fbd
mov byte [esp + 0x44], 0
jmp 0x10036fd5
cvtps2pd xmm0, xmm1
comisd xmm0, xmm3
jb 0x10036fcd
mov byte [esp + 0x44], 0xff
jmp 0x10036fd5
cvttss2si eax, xmm1
mov dword [esp + 0x44], eax
movss xmm1, dword [esp + 0x2c]
comiss xmm4, xmm1
jb 0x10036fe4
xor dl, dl
jmp 0x10036ff6
cvtps2pd xmm0, xmm1
comisd xmm0, xmm3
jb 0x10036ff2
or dl, 0xff
jmp 0x10036ff6
cvttss2si edx, xmm1
comiss xmm4, xmm2
jb 0x10036fff
xor al, al
jmp 0x10037010
cvtps2pd xmm0, xmm2
comisd xmm0, xmm3
jb 0x1003700c
or al, 0xff
jmp 0x10037010
cvttss2si eax, xmm2
movzx ecx, al
shl ecx, 8
movzx eax, dl
or ecx, eax
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x44]
movzx eax, al
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x48]
movzx eax, al
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x38]
mov dword [eax + edi*4], ecx
inc edi
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x10], eax
add ecx, 4
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0x14]
sub eax, 2
mov dword [esp + 0x34], ecx
cmp edi, eax
jl 0x100365e2
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov eax, dword [ecx + edi*4]
mov ecx, dword [ecx + edi*4 + 4]
mov dword [edx + edi*4], eax
mov dword [edx + edi*4 + 4], ecx
mov edx, dword [esp + 0x30]
mov eax, dword [ebp + 0x18]
inc edx
sub eax, 2
mov dword [esp + 0x30], edx
cmp edx, eax
jl 0x100356c0
mov esi, dword [esp + 0x3c]
mov eax, dword [ebp + 0x28]
push dword [ebp + 0x38]
push dword [eax + edx*4]
mov eax, dword [esi + 0x28]
push dword [eax + edx*4]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp + 0x28]
mov ecx, dword [esp + 0x3c]
push dword [ebp + 0x38]
push dword [eax + ecx*4 + 4]
mov eax, dword [esi + 0x28]
push dword [eax + ecx*4 + 4]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0x18
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x74
ret