Function at 0x402ff0
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
movzx eax, byte [0x42600c]
test al, al
jne 0x403073
movss xmm0, xmm2
pfrsqrt mm1, mm0
pfadd mm0, mm1
pfmul mm3, mm0
rsqrtss xmm2, xmm2
rsqrtss xmm2, xmm2
movq mm3, mm1
pfrsqit1 mm0, mm1
pfmul mm1, mm1
mulps xmm3, xmm1
movq mm2, mm0
mulps xmm0, xmm0
movaps xmm1, xmm0
mulps xmm2, xmm0
movss xmm0, xmm2
divps xmm1, xmm2
mulps xmm3, xmm1
movss xmm0, xmm2
shufps xmm2, xmm2, 0x55
movaps xmm1, xmm0
mulps xmm1, xmm2
haddps xmm0, xmm0
movss xmm0, xmm2
pfrcpit2 mm0, mm4
pfadd mm0, mm1
rsqrtss xmm2, xmm2
mulps xmm3, xmm1
movaps xmm3, xmm2
addss xmm2, xmm0
movhlps xmm2, xmm0
sqrtss xmm2, xmm2
mov edx, dword [ebp + 8]
cmp word [edx], 0x5a4d
jne 0x405218
test al, al
jne 0x403d75
addps xmm2, xmm0
shufps xmm2, xmm2, 0x55
movaps xmm1, xmm0
mulps xmm1, xmm2
pfrsqrt mm1, mm0
mulps xmm3, xmm1
movaps xmm1, xmm0
movaps xmm3, xmm2
subps xmm0, xmm1
subps xmm0, xmm1
addss xmm2, xmm0
movss xmm0, xmm2
haddps xmm0, xmm0
mulps xmm3, xmm1
pfmul mm3, mm0
mulps xmm1, xmm2
mulps xmm2, xmm0
pfmul mm1, mm1
subps xmm2, xmm1
movq mm4, mm1
addss xmm2, xmm0
haddps xmm0, xmm0
movq mm4, mm1
movq mm4, mm1
movhlps xmm2, xmm0
pfrcpit2 mm0, mm4
movhlps xmm2, xmm0
shufps xmm2, xmm2, 0x55
movq mm4, mm1
sqrtss xmm2, xmm2
rsqrtps xmm0, xmm0
pfmul mm1, mm1
movaps xmm3, xmm2
mov ecx, dword [ebp + 8]
add ecx, dword [ecx + 0x3c]
mov dword [ebp - 0x30], ecx
pfmul mm2, mm0
movq mm2, mm0
addss xmm2, xmm0
subps xmm2, xmm1
movq mm2, mm0
pfrsqit1 mm0, mm1
sqrtss xmm2, xmm2
sqrtss xmm2, xmm2
mulps xmm3, xmm1
movq mm2, mm0
pfrsqit1 mm0, mm1
haddps xmm0, xmm0
mulps xmm1, xmm0
subps xmm0, xmm1
mov esi, ecx
cmp dword [esi], 0x4550
jne 0x403d8c
test al, al
jne 0x4031dc
rsqrtps xmm0, xmm0
pfmul mm1, mm1
haddps xmm0, xmm0
movq mm4, mm1
subps xmm0, xmm1
movaps xmm3, xmm2
mulps xmm1, xmm0
mulps xmm1, xmm0
movaps xmm3, xmm2
mulps xmm1, xmm2
sqrtss xmm2, xmm2
mulps xmm0, xmm0
pfrsqrt mm1, mm0
rsqrtss xmm2, xmm2
rsqrtss xmm2, xmm2
pfrsqrt mm1, mm0
subps xmm0, xmm1
movaps xmm1, xmm0
pfacc mm0, mm0
addps xmm2, xmm0
pfmul mm1, mm1
pfrsqit1 mm0, mm1
shufps xmm2, xmm2, 0x55
mulps xmm1, xmm0
pfmul mm3, mm0
movss xmm0, xmm2
subps xmm0, xmm1
pfrcpit2 mm0, mm4
movq mm4, mm1
movq mm4, mm1
mulps xmm0, xmm0
mulps xmm2, xmm0
movaps xmm3, xmm2
movss xmm0, xmm2
divps xmm1, xmm2
rsqrtss xmm2, xmm2
movaps xmm1, xmm0
movq mm4, mm1
movq mm3, mm1
pfacc mm0, mm0
pfadd mm0, mm1
subps xmm2, xmm1
subps xmm0, xmm1
mov edi, dword [ebp - 0x30]
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x2000
mov eax, dword [edi + 0x50]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x34]
mov dword [esp], eax
call sub.KERNEL32.dll_VirtualAlloc
mov dword [ebp - 0x44], eax
movzx eax, byte [0x42600c]
sub esp, 0x10
test al, al
jne 0x403238
subps xmm2, xmm1
pfrsqrt mm1, mm0
mulps xmm3, xmm1
addss xmm2, xmm0
subps xmm2, xmm1
rsqrtss xmm2, xmm2
mulps xmm1, xmm2
shufps xmm2, xmm2, 0
shufps xmm2, xmm2, 0x55
mulps xmm2, xmm0
mulps xmm1, xmm0
mov edx, dword [ebp - 0x44]
test edx, edx
je 0x4055f0
test al, al
jne 0x40328f
pfrsqrt mm1, mm0
subps xmm0, xmm1
pfmul mm3, mm0
addss xmm2, xmm0
subps xmm0, xmm1
pfadd mm0, mm1
pfmul mm1, mm1
rsqrtps xmm0, xmm0
pfmul mm2, mm0
movaps xmm1, xmm0
pfadd mm0, mm1
movq mm3, mm1
mulps xmm0, xmm0
pfmul mm1, mm1
mulps xmm3, xmm1
pfmul mm2, mm0
addss xmm2, xmm0
pfmul mm3, mm0
pfrcpit2 mm0, mm4
mulps xmm2, xmm0
call sub.KERNEL32.dll_GetProcessHeap
mov dword [esp + 8], 0x14
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.KERNEL32.dll_HeapAlloc
sub esp, 0xc
cmp byte [0x42600c], 0
mov dword [ebp - 0x38], eax
jne 0x4051d9
pfmul mm1, mm1
pfmul mm2, mm0
mulps xmm1, xmm2
addss xmm2, xmm0
addps xmm2, xmm0
mulps xmm0, xmm0
movq mm2, mm0
mulps xmm2, xmm0
movss xmm0, xmm2
shufps xmm2, xmm2, 0
pfrcpit2 mm0, mm4
movss xmm0, xmm2
pfmul mm3, mm0
pfrsqrt mm1, mm0
movss xmm0, xmm2
pfmul mm1, mm1
movaps xmm3, xmm2
mov ecx, dword [ebp - 0x44]
mov dword [eax + 4], ecx
mulps xmm2, xmm0
addps xmm2, xmm0
pfrsqit1 mm0, mm1
mulps xmm0, xmm0
shufps xmm2, xmm2, 0
movaps xmm1, xmm0
movaps xmm1, xmm0
pfmul mm3, mm0
pfmul mm2, mm0
mulps xmm1, xmm0
mov dword [eax + 0xc], 0
movaps xmm1, xmm0
mulps xmm1, xmm0
subps xmm2, xmm1
subps xmm0, xmm1
movaps xmm1, xmm0
divps xmm1, xmm2
pfrsqrt mm1, mm0
pfmul mm2, mm0
mulps xmm0, xmm0
pfmul mm2, mm0
movhlps xmm2, xmm0
mulps xmm0, xmm0
rsqrtps xmm0, xmm0
pfrsqrt mm1, mm0
movaps xmm1, xmm0
sqrtss xmm2, xmm2
movq mm3, mm1
mulps xmm1, xmm0
mov dword [eax + 8], 0
haddps xmm0, xmm0
addps xmm2, xmm0
subps xmm2, xmm1
sqrtss xmm2, xmm2
subps xmm0, xmm1
subps xmm2, xmm1
rsqrtss xmm2, xmm2
movaps xmm1, xmm0
subps xmm0, xmm1
pfrcpit2 mm0, mm4
subps xmm2, xmm1
mov dword [eax + 0x10], 0
pfmul mm3, mm0
pfadd mm0, mm1
pfadd mm0, mm1
movhlps xmm2, xmm0
addss xmm2, xmm0
pfmul mm0, mm0
mulps xmm1, xmm2
movss xmm0, xmm2
mulps xmm1, xmm0
rsqrtss xmm2, xmm2
haddps xmm0, xmm0
addss xmm2, xmm0
haddps xmm0, xmm0
shufps xmm2, xmm2, 0x55
movaps xmm1, xmm0
movaps xmm1, xmm0
mov edi, dword [ebp - 0x30]
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x1000
mov eax, dword [edi + 0x50]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x44]
mov dword [esp], eax
call sub.KERNEL32.dll_VirtualAlloc
sub esp, 0x10
cmp byte [0x42600c], 0
jne 0x403446
movhlps xmm2, xmm0
pfacc mm0, mm0
pfadd mm0, mm1
mulps xmm0, xmm0
haddps xmm0, xmm0
rsqrtps xmm0, xmm0
haddps xmm0, xmm0
movq mm2, mm0
pfmul mm1, mm1
pfmul mm2, mm0
movaps xmm3, xmm2
mulps xmm0, xmm0
subps xmm0, xmm1
pfrsqrt mm1, mm0
mulps xmm0, xmm0
pfadd mm0, mm1
rsqrtss xmm2, xmm2
pfmul mm3, mm0
mov edx, dword [ebp - 0x30]
mov dword [esp + 0xc], 4
mov ecx, dword [ebp - 0x44]
mov dword [esp + 8], 0x1000
mov eax, dword [edx + 0x54]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sub.KERNEL32.dll_VirtualAlloc
sub esp, 0x10
mov ebx, eax
cmp byte [0x42600c], 0
jne 0x4034ca
pfmul mm0, mm0
shufps xmm2, xmm2, 0
mulps xmm2, xmm0
subps xmm0, xmm1
rsqrtss xmm2, xmm2
movaps xmm1, xmm0
sqrtss xmm2, xmm2
movq mm4, mm1
mulps xmm0, xmm0
pfmul mm3, mm0
subps xmm0, xmm1
pfmul mm1, mm1
mulps xmm0, xmm0
mulps xmm0, xmm0
addss xmm2, xmm0
pfmul mm3, mm0
addps xmm2, xmm0
pfacc mm0, mm0
shufps xmm2, xmm2, 0
addss xmm2, xmm0
movaps xmm1, xmm0
divps xmm1, xmm2
rsqrtss xmm2, xmm2
mov esi, dword [ebp + 8]
mov edi, dword [ebp - 0x30]
mov eax, dword [esi + 0x3c]
add eax, dword [edi + 0x54]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
movzx edx, byte [0x42600c]
test dl, dl
mov eax, edx
jne 0x4051b3
pfmul mm2, mm0
movhlps xmm2, xmm0
movss xmm0, xmm2
mulps xmm2, xmm0
mulps xmm0, xmm0
movss xmm0, xmm2
movhlps xmm2, xmm0
movaps xmm1, xmm0
movss xmm0, xmm2
pfrsqit1 mm0, mm1
movaps xmm3, xmm2
subps xmm2, xmm1
mulps xmm1, xmm2
subps xmm0, xmm1
pfmul mm1, mm1
movq mm4, mm1
pfmul mm3, mm0
rsqrtps xmm0, xmm0
rsqrtss xmm2, xmm2
pfadd mm0, mm1
pfrsqit1 mm0, mm1
movaps xmm3, xmm2
pfmul mm1, mm1
mov ecx, dword [esi + 0x3c]
add ecx, ebx
mov ebx, dword [ebp - 0x38]
mov dword [ebx], ecx
pfmul mm1, mm1
pfmul mm1, mm1
mulps xmm0, xmm0
movaps xmm1, xmm0
movq mm3, mm1
pfadd mm0, mm1
rsqrtss xmm2, xmm2
movq mm2, mm0
divps xmm1, xmm2
movss xmm0, xmm2
pfadd mm0, mm1
movaps xmm1, xmm0
rsqrtps xmm0, xmm0
divps xmm1, xmm2
pfacc mm0, mm0
mov esi, dword [ebp - 0x44]
mov dword [ecx + 0x34], esi
movss xmm0, xmm2
rsqrtps xmm0, xmm0
pfmul mm1, mm1
addss xmm2, xmm0
rsqrtps xmm0, xmm0
subps xmm0, xmm1
movaps xmm1, xmm0
movq mm3, mm1
pfmul mm0, mm0
pfrsqit1 mm0, mm1
movss xmm0, xmm2
shufps xmm2, xmm2, 0
movhlps xmm2, xmm0
rsqrtss xmm2, xmm2
mulps xmm1, xmm0
movq mm2, mm0
pfmul mm0, mm0
sqrtss xmm2, xmm2
pfmul mm3, mm0
mov edi, dword [ebx + 4]
movzx ebx, word [ecx + 0x14]
mov dword [ebp - 0x34], edi
lea ebx, [ecx + ebx + 0x18]
mulps xmm1, xmm0
mulps xmm0, xmm0
divps xmm1, xmm2
movaps xmm1, xmm0
pfmul mm1, mm1
movq mm4, mm1
movaps xmm1, xmm0
divps xmm1, xmm2
mulps xmm0, xmm0
sqrtss xmm2, xmm2
haddps xmm0, xmm0
pfmul mm2, mm0
addps xmm2, xmm0
movq mm4, mm1
movq mm3, mm1
movq mm3, mm1
haddps xmm0, xmm0
pfmul mm1, mm1
divps xmm1, xmm2
movaps xmm1, xmm0
xor esi, esi
mov edi, ecx
cmp word [ecx + 6], 0
jne 0x40382b
jmp 0x4039f9
test dl, dl
jne 0x403e20
divps xmm1, xmm2
mulps xmm2, xmm0
pfmul mm3, mm0
addss xmm2, xmm0
rsqrtps xmm0, xmm0
divps xmm1, xmm2
mulps xmm1, xmm0
mulps xmm1, xmm0
subps xmm2, xmm1
rsqrtps xmm0, xmm0
pfrcpit2 mm0, mm4
movq mm3, mm1
mov ecx, dword [ebp - 0x30]
mov edi, dword [ecx + 0x38]
haddps xmm0, xmm0
addss xmm2, xmm0
mulps xmm2, xmm0
pfrsqrt mm1, mm0
addss xmm2, xmm0
mulps xmm0, xmm0
mulps xmm3, xmm1
pfadd mm0, mm1
movq mm4, mm1
movq mm2, mm0
movaps xmm1, xmm0
sqrtss xmm2, xmm2
mulps xmm2, xmm0
mulps xmm0, xmm0
divps xmm1, xmm2
movhlps xmm2, xmm0
movaps xmm3, xmm2
movq mm3, mm1
movaps xmm1, xmm0
haddps xmm0, xmm0
movaps xmm1, xmm0
movq mm4, mm1
pfrsqit1 mm0, mm1
shufps xmm2, xmm2, 0
test edi, edi
jle 0x40380b
test dl, dl
jne 0x403718
mulps xmm1, xmm2
movq mm2, mm0
pfrsqrt mm1, mm0
divps xmm1, xmm2
pfmul mm1, mm1
mulps xmm1, xmm2
movaps xmm1, xmm0
mulps xmm1, xmm2
mulps xmm3, xmm1
pfmul mm3, mm0
sqrtss xmm2, xmm2
addss xmm2, xmm0
mulps xmm3, xmm1
rsqrtps xmm0, xmm0
pfmul mm1, mm1
mulps xmm0, xmm0
movq mm4, mm1
haddps xmm0, xmm0
pfmul mm0, mm0
shufps xmm2, xmm2, 0x55
pfrsqrt mm1, mm0
movaps xmm3, xmm2
divps xmm1, xmm2
pfrsqit1 mm0, mm1
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x1000
mov dword [esp + 4], edi
add eax, dword [ebx + 0xc]
mov dword [esp], eax
call sub.KERNEL32.dll_VirtualAlloc
sub esp, 0x10
cmp byte [0x42600c], 0
jne 0x403e40
movaps xmm1, xmm0
pfmul mm2, mm0
movq mm3, mm1
addss xmm2, xmm0
rsqrtss xmm2, xmm2
haddps xmm0, xmm0
mulps xmm2, xmm0
mulps xmm1, xmm2
subps xmm2, xmm1
movq mm2, mm0
pfadd mm0, mm1
movaps xmm3, xmm2
haddps xmm0, xmm0
addps xmm2, xmm0
haddps xmm0, xmm0
mov dword [ebx + 8], eax
movaps xmm1, xmm0
mulps xmm3, xmm1
pfadd mm0, mm1
subps xmm2, xmm1
pfmul mm1, mm1
pfmul mm3, mm0
pfmul mm1, mm1
mulps xmm3, xmm1
movq mm3, mm1
pfmul mm1, mm1
mulps xmm0, xmm0
mulps xmm0, xmm0
pfmul mm0, mm0
movq mm2, mm0
mulps xmm1, xmm2
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
movzx eax, byte [0x42600c]
test al, al
jne 0x40380b
shufps xmm2, xmm2, 0
mulps xmm1, xmm0
mulps xmm0, xmm0
movaps xmm1, xmm0
pfrcpit2 mm0, mm4
pfmul mm1, mm1
mulps xmm0, xmm0
mulps xmm0, xmm0
pfmul mm2, mm0
pfmul mm3, mm0
movss xmm0, xmm2
mulps xmm0, xmm0
pfacc mm0, mm0
movq mm3, mm1
pfrsqrt mm1, mm0
mulps xmm2, xmm0
mov edi, dword [ebp - 0x38]
add esi, 1
mov ecx, dword [edi]
movzx edx, word [ecx + 6]
cmp esi, edx
jge 0x4039f1
movzx eax, byte [0x42600c]
add ebx, 0x28
mov edx, eax
test dl, dl
jne 0x403882
pfacc mm0, mm0
mulps xmm1, xmm2
addss xmm2, xmm0
rsqrtss xmm2, xmm2
mulps xmm1, xmm2
movq mm2, mm0
mulps xmm2, xmm0
pfmul mm1, mm1
movhlps xmm2, xmm0
mulps xmm1, xmm0
mulps xmm0, xmm0
subps xmm0, xmm1
haddps xmm0, xmm0
pfrcpit2 mm0, mm4
pfmul mm1, mm1
movaps xmm3, xmm2
sqrtss xmm2, xmm2
addps xmm2, xmm0
movq mm3, mm1
movss xmm0, xmm2
mulps xmm1, xmm2
subps xmm2, xmm1
pfmul mm1, mm1
addss xmm2, xmm0
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x403633
test dl, dl
jne 0x4038d0
shufps xmm2, xmm2, 0
mulps xmm3, xmm1
movaps xmm3, xmm2
pfmul mm3, mm0
movss xmm0, xmm2
mulps xmm1, xmm2
movq mm2, mm0
movaps xmm1, xmm0
movhlps xmm2, xmm0
haddps xmm0, xmm0
pfmul mm1, mm1
subps xmm2, xmm1
pfmul mm1, mm1
movaps xmm1, xmm0
movq mm2, mm0
rsqrtss xmm2, xmm2
pfrcpit2 mm0, mm4
haddps xmm0, xmm0
mov eax, dword [ebp - 0x34]
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x1000
mov dword [esp + 4], ecx
add eax, dword [ebx + 0xc]
mov dword [esp], eax
call sub.KERNEL32.dll_VirtualAlloc
sub esp, 0x10
mov edi, eax
cmp byte [0x42600c], 0
jne 0x40395a
pfrsqrt mm1, mm0
movss xmm0, xmm2
rsqrtps xmm0, xmm0
pfadd mm0, mm1
pfrsqrt mm1, mm0
pfmul mm0, mm0
pfmul mm2, mm0
shufps xmm2, xmm2, 0
pfacc mm0, mm0
movaps xmm1, xmm0
pfmul mm0, mm0
addps xmm2, xmm0
pfadd mm0, mm1
pfmul mm1, mm1
sqrtss xmm2, xmm2
pfmul mm1, mm1
pfmul mm0, mm0
divps xmm1, xmm2
pfrsqrt mm1, mm0
pfmul mm1, mm1
pfmul mm2, mm0
movaps xmm1, xmm0
pfadd mm0, mm1
movhlps xmm2, xmm0
mov edx, dword [ebx + 0x10]
mov eax, dword [ebp + 8]
add eax, dword [ebx + 0x14]
mov dword [esp], edi
mov dword [esp + 8], edx
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcpy
cmp byte [0x42600c], 0
jne 0x403e30
movaps xmm1, xmm0
movss xmm0, xmm2
movaps xmm1, xmm0
haddps xmm0, xmm0
movaps xmm3, xmm2
haddps xmm0, xmm0
movaps xmm1, xmm0
sqrtss xmm2, xmm2
sqrtss xmm2, xmm2
haddps xmm0, xmm0
pfmul mm1, mm1
mulps xmm1, xmm2
rsqrtss xmm2, xmm2
movaps xmm1, xmm0
movq mm4, mm1
mov dword [ebx + 8], edi
movss xmm0, xmm2
haddps xmm0, xmm0
pfrcpit2 mm0, mm4
pfmul mm0, mm0
movaps xmm1, xmm0
movaps xmm3, xmm2
addps xmm2, xmm0
mulps xmm3, xmm1
pfrsqit1 mm0, mm1
mulps xmm1, xmm0
mov edi, dword [ebp - 0x38]
add esi, 1
xor eax, eax
mov ecx, dword [edi]
movzx edx, word [ecx + 6]
cmp esi, edx
jl 0x40381f
mov edx, dword [edi + 4]
mov edi, ecx
mov dword [ebp - 0x34], edx
test al, al
jne 0x4051a2
mulps xmm0, xmm0
shufps xmm2, xmm2, 0x55
pfmul mm1, mm1
mulps xmm2, xmm0
pfacc mm0, mm0
pfmul mm1, mm1
pfmul mm1, mm1
movss xmm0, xmm2
pfrsqrt mm1, mm0
mulps xmm2, xmm0
sqrtss xmm2, xmm2
pfmul mm1, mm1
subps xmm2, xmm1
mulps xmm3, xmm1
shufps xmm2, xmm2, 0x55
movaps xmm1, xmm0
mulps xmm3, xmm1
pfacc mm0, mm0
movq mm3, mm1
rsqrtss xmm2, xmm2
movss xmm0, xmm2
haddps xmm0, xmm0
subps xmm0, xmm1
haddps xmm0, xmm0
pfmul mm3, mm0
rsqrtps xmm0, xmm0
movaps xmm1, xmm0
pfadd mm0, mm1
movhlps xmm2, xmm0
subps xmm2, xmm1
movaps xmm1, xmm0
mulps xmm3, xmm1
sqrtss xmm2, xmm2
pfmul mm1, mm1
divps xmm1, xmm2
movq mm4, mm1
addps xmm2, xmm0
haddps xmm0, xmm0
mulps xmm3, xmm1
mov ebx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x44]
sub esi, dword [ebx + 0x34]
mov dword [ebp - 0x30], esi
movq mm4, mm1
pfmul mm2, mm0
haddps xmm0, xmm0
movaps xmm1, xmm0
shufps xmm2, xmm2, 0
pfrcpit2 mm0, mm4
movaps xmm3, xmm2
shufps xmm2, xmm2, 0
pfmul mm1, mm1
pfadd mm0, mm1
rsqrtss xmm2, xmm2
movaps xmm1, xmm0
addps xmm2, xmm0
pfmul mm3, mm0
pfacc mm0, mm0
movhlps xmm2, xmm0
haddps xmm0, xmm0
pfmul mm3, mm0
rsqrtss xmm2, xmm2
mulps xmm1, xmm2
subps xmm0, xmm1
subps xmm2, xmm1
movaps xmm1, xmm0
pfrcpit2 mm0, mm4
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x403e48
test al, al
je 0x40549c
mov ebx, dword [ecx + 0xa4]
test ebx, ebx
je 0x405322
test al, al
jne 0x405700
pfacc mm0, mm0
subps xmm0, xmm1
pfmul mm3, mm0
addps xmm2, xmm0
movaps xmm1, xmm0
pfmul mm3, mm0
pfmul mm3, mm0
pfrcpit2 mm0, mm4
mulps xmm0, xmm0
movq mm4, mm1
mov ecx, dword [ecx + 0xa0]
add ecx, dword [ebp - 0x34]
pfmul mm2, mm0
pfmul mm0, mm0
mulps xmm1, xmm2
sqrtss xmm2, xmm2
movaps xmm3, xmm2
divps xmm1, xmm2
mulps xmm0, xmm0
pfmul mm0, mm0
mulps xmm0, xmm0
mulps xmm1, xmm0
pfacc mm0, mm0
movaps xmm1, xmm0
movaps xmm3, xmm2
mov byte [ebp - 0x3c], al
mov eax, dword [ecx]
test eax, eax
je 0x405455
add eax, dword [ebp - 0x34]
cmp byte [ebp - 0x3c], 0
mov dword [ebp - 0x2c], eax
jne 0x403bd7
pfmul mm3, mm0
movq mm2, mm0
pfacc mm0, mm0
shufps xmm2, xmm2, 0
pfmul mm2, mm0
haddps xmm0, xmm0
movhlps xmm2, xmm0
mulps xmm0, xmm0
mulps xmm0, xmm0
pfrsqrt mm1, mm0
movq mm3, mm1
movaps xmm1, xmm0
mulps xmm0, xmm0
shufps xmm2, xmm2, 0
pfrcpit2 mm0, mm4
subps xmm2, xmm1
pfrcpit2 mm0, mm4
pfrsqit1 mm0, mm1
mulps xmm3, xmm1
divps xmm1, xmm2
pfrsqrt mm1, mm0
movq mm2, mm0
addss xmm2, xmm0
mov esi, dword [ecx + 4]
lea edx, [esi - 8]
mov edi, edx
shr edi, 1
je 0x4053b8
xor eax, eax
cmp byte [ebp - 0x3c], 0
jne 0x40539c
jmp 0x403c57
sqrtss xmm2, xmm2
pfrcpit2 mm0, mm4
divps xmm1, xmm2
movaps xmm1, xmm0
addps xmm2, xmm0
pfmul mm3, mm0
sqrtss xmm2, xmm2
pfrcpit2 mm0, mm4
movaps xmm3, xmm2
addss xmm2, xmm0
addss xmm2, xmm0
mulps xmm1, xmm0
pfacc mm0, mm0
subps xmm2, xmm1
rsqrtss xmm2, xmm2
rsqrtps xmm0, xmm0
mulps xmm0, xmm0
mulps xmm0, xmm0
shufps xmm2, xmm2, 0
mulps xmm3, xmm1
movaps xmm1, xmm0
divps xmm1, xmm2
pfrsqit1 mm0, mm1
lea edx, [esi - 8]
mov ebx, edx
add eax, 1
shr ebx, 1
cmp eax, ebx
jae 0x4053c2
movzx edi, word [ecx + eax*2 + 8]
mulps xmm0, xmm0
mulps xmm2, xmm0
mulps xmm2, xmm0
divps xmm1, xmm2
movaps xmm1, xmm0
haddps xmm0, xmm0
pfrsqit1 mm0, mm1
divps xmm1, xmm2
pfmul mm1, mm1
movaps xmm3, xmm2
mulps xmm3, xmm1
haddps xmm0, xmm0
movaps xmm1, xmm0
divps xmm1, xmm2
rsqrtss xmm2, xmm2
pfrcpit2 mm0, mm4
pfadd mm0, mm1
movq mm2, mm0
mulps xmm2, xmm0
pfmul mm2, mm0
movq mm2, mm0
subps xmm2, xmm1
movhlps xmm2, xmm0
pfmul mm3, mm0
mov ebx, edi
sar ebx, 0xc
test ebx, ebx
je 0x403bf5
cmp ebx, 3
jne 0x403c48
movaps xmm1, xmm0
movq mm4, mm1
shufps xmm2, xmm2, 0x55
movaps xmm3, xmm2
mulps xmm1, xmm2
movss xmm0, xmm2
movq mm4, mm1
mulps xmm3, xmm1
mulps xmm0, xmm0
movhlps xmm2, xmm0
movaps xmm1, xmm0
mulps xmm0, xmm0
mulps xmm0, xmm0
haddps xmm0, xmm0
sqrtss xmm2, xmm2
pfmul mm1, mm1
and edi, 0xfff
add edi, dword [ebp - 0x2c]
movss xmm0, xmm2
rsqrtss xmm2, xmm2
pfrcpit2 mm0, mm4
shufps xmm2, xmm2, 0x55
movaps xmm1, xmm0
haddps xmm0, xmm0
movaps xmm1, xmm0
mulps xmm0, xmm0
haddps xmm0, xmm0
shufps xmm2, xmm2, 0
pfmul mm2, mm0
movaps xmm1, xmm0
addss xmm2, xmm0
mov edx, dword [ebp - 0x30]
add dword [edi], edx
haddps xmm0, xmm0
pfmul mm1, mm1
movq mm2, mm0
pfmul mm1, mm1
mulps xmm0, xmm0
addss xmm2, xmm0
rsqrtss xmm2, xmm2
sqrtss xmm2, xmm2
rsqrtps xmm0, xmm0
pfmul mm2, mm0
haddps xmm0, xmm0
shufps xmm2, xmm2, 0x55
pfmul mm1, mm1
addss xmm2, xmm0
movhlps xmm2, xmm0
mov esi, dword [ecx + 4]
lea edx, [esi - 8]
jmp 0x403c48
mov ebx, dword [ebp + 8]
add ebx, dword [ebx + 0x3c]
mov esi, ebx
cmp dword [esi], 0x4550
mov dword [ebp - 0x30], ebx
je 0x403141
test al, al
jne 0x405226
pfmul mm1, mm1
haddps xmm0, xmm0
pfrsqit1 mm0, mm1
pfmul mm3, mm0
addss xmm2, xmm0
mulps xmm3, xmm1
movhlps xmm2, xmm0
movss xmm0, xmm2
pfrcpit2 mm0, mm4
haddps xmm0, xmm0
rsqrtps xmm0, xmm0
movss xmm0, xmm2
pfmul mm2, mm0
pfmul mm2, mm0
rsqrtps xmm0, xmm0
pfmul mm2, mm0
subps xmm0, xmm1
pfadd mm0, mm1
addps xmm2, xmm0
movq mm2, mm0
movq mm3, mm1
pfrcpit2 mm0, mm4
rsqrtss xmm2, xmm2
haddps xmm0, xmm0
subps xmm0, xmm1
pfrsqit1 mm0, mm1
shufps xmm2, xmm2, 0x55
pfmul mm0, mm0
pfrsqit1 mm0, mm1
movss xmm0, xmm2
movss xmm0, xmm2
rsqrtss xmm2, xmm2
pfmul mm1, mm1
pfrsqrt mm1, mm0
movaps xmm1, xmm0
rsqrtps xmm0, xmm0
xor eax, eax
jmp 0x40469c
mov ecx, dword [ebp - 0x30]
mov edi, dword [ecx + 0x38]
jmp 0x4036b9
mov dword [ebx + 8], edi
mov eax, 1
jmp 0x40380b
mov dword [ebx + 8], eax
jmp 0x4037b4
test al, al
jne 0x403eca
pfrsqit1 mm0, mm1
haddps xmm0, xmm0
pfmul mm2, mm0
pfacc mm0, mm0
movaps xmm1, xmm0
haddps xmm0, xmm0
mulps xmm1, xmm2
pfadd mm0, mm1
addss xmm2, xmm0
movaps xmm1, xmm0
movq mm4, mm1
pfmul mm1, mm1
mulps xmm1, xmm0
mulps xmm3, xmm1
divps xmm1, xmm2
movq mm4, mm1
mulps xmm0, xmm0
mulps xmm1, xmm2
mulps xmm1, xmm0
movaps xmm1, xmm0
mulps xmm3, xmm1
movaps xmm3, xmm2
pfmul mm1, mm1
movaps xmm3, xmm2
rsqrtss xmm2, xmm2
movaps xmm3, xmm2
mulps xmm1, xmm2
pfrsqrt mm1, mm0
addps xmm2, xmm0
mulps xmm1, xmm0
pfmul mm2, mm0
subps xmm2, xmm1
pfadd mm0, mm1
movhlps xmm2, xmm0
rsqrtps xmm0, xmm0
shufps xmm2, xmm2, 0x55
pfmul mm2, mm0
mov edx, dword [edi + 0x84]
test edx, edx
je 0x405155
mov ecx, dword [ebp - 0x34]
add ecx, dword [edi + 0x80]
test al, al
mov dword [ebp - 0x40], 1
mov dword [ebp - 0x3c], ecx
je 0x4052c7
mov ebx, dword [ebp - 0x3c]
mov dword [esp + 4], 0x14
mov dword [esp], ebx
call sub.KERNEL32.dll_IsBadReadPtr
sub esp, 8
test eax, eax
je 0x4046a4
movzx eax, byte [0x42600c]
mov byte [ebp - 0x30], al
movzx eax, byte [ebp - 0x30]
test al, al
je 0x4046c8
mov ebx, dword [ebp - 0x40]
test ebx, ebx
je 0x405790
cmp byte [ebp - 0x30], 0
jne 0x4051f9
pfrcpit2 mm0, mm4
shufps xmm2, xmm2, 0x55
subps xmm0, xmm1
movaps xmm1, xmm0
haddps xmm0, xmm0
mulps xmm1, xmm0
pfmul mm0, mm0
movaps xmm1, xmm0
divps xmm1, xmm2
pfrcpit2 mm0, mm4
mov ebx, dword [ebp - 0x38]
mov ecx, dword [ebx]
movzx edx, word [ecx + 0x14]
lea ebx, [ecx + edx + 0x18]
pfrsqit1 mm0, mm1
haddps xmm0, xmm0
rsqrtss xmm2, xmm2
pfrsqrt mm1, mm0
mulps xmm0, xmm0
mulps xmm3, xmm1
pfrsqit1 mm0, mm1
pfadd mm0, mm1
rsqrtps xmm0, xmm0
mulps xmm0, xmm0
movaps xmm1, xmm0
pfadd mm0, mm1
pfmul mm3, mm0
pfrcpit2 mm0, mm4
movaps xmm1, xmm0
addss xmm2, xmm0
mulps xmm2, xmm0
pfacc mm0, mm0
mulps xmm0, xmm0
rsqrtss xmm2, xmm2
shufps xmm2, xmm2, 0
pfmul mm1, mm1
addss xmm2, xmm0
movaps xmm1, xmm0
xor esi, esi
cmp word [ecx + 6], 0
je 0x40587c
mov dword [ebp - 0x3c], ecx
jmp 0x40409c
test al, al
jne 0x404014
sqrtss xmm2, xmm2
shufps xmm2, xmm2, 0x55
haddps xmm0, xmm0
sqrtss xmm2, xmm2
movaps xmm1, xmm0
mulps xmm2, xmm0
movq mm4, mm1
haddps xmm0, xmm0
pfadd mm0, mm1
subps xmm2, xmm1
mulps xmm1, xmm2
pfrcpit2 mm0, mm4
addps xmm2, xmm0
pfrsqit1 mm0, mm1
subps xmm0, xmm1
addps xmm2, xmm0
mov dword [esp + 8], 0x4000
mov eax, dword [ebx + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sub.KERNEL32.dll_VirtualFree
movzx eax, byte [0x42600c]
sub esp, 0xc
test al, al
jne 0x404720
pfmul mm0, mm0
pfacc mm0, mm0
pfmul mm3, mm0
mulps xmm1, xmm0
pfrcpit2 mm0, mm4
movaps xmm1, xmm0
mulps xmm2, xmm0
pfrcpit2 mm0, mm4
movaps xmm1, xmm0
pfmul mm0, mm0
shufps xmm2, xmm2, 0x55
movq mm2, mm0
pfrsqrt mm1, mm0
divps xmm1, xmm2
rsqrtss xmm2, xmm2
rsqrtps xmm0, xmm0
movaps xmm1, xmm0
movaps xmm3, xmm2
mov edx, dword [ebp - 0x38]
mov edx, dword [edx]
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x3c]
add esi, 1
movzx edx, word [ecx + 6]
cmp esi, edx
jge 0x404436
add ebx, 0x28
test al, al
mov edx, dword [ebx + 0x24]
jne 0x4040ef
mulps xmm1, xmm2
mulps xmm0, xmm0
pfmul mm3, mm0
pfadd mm0, mm1
pfmul mm3, mm0
rsqrtps xmm0, xmm0
movaps xmm1, xmm0
shufps xmm2, xmm2, 0
haddps xmm0, xmm0
mulps xmm1, xmm0
pfmul mm2, mm0
addps xmm2, xmm0
shufps xmm2, xmm2, 0
mulps xmm3, xmm1
movaps xmm3, xmm2
pfrsqrt mm1, mm0
shufps xmm2, xmm2, 0
pfmul mm1, mm1
mulps xmm0, xmm0
divps xmm1, xmm2
movaps xmm1, xmm0
movq mm3, mm1
test edx, 0x2000000
jne 0x403fd8
mov ecx, edx
mov edi, edx
shr ecx, 0x1d
and ecx, 1
shr edi, 0x1e
mov dword [ebp - 0x30], ecx
mov ecx, edx
and edi, 1
shr ecx, 0x1f
test al, al
mov dword [ebp - 0x34], ecx
jne 0x404790
mulps xmm1, xmm0
movaps xmm1, xmm0
haddps xmm0, xmm0
shufps xmm2, xmm2, 0x55
pfadd mm0, mm1
pfmul mm1, mm1
movhlps xmm2, xmm0
movaps xmm1, xmm0
mulps xmm0, xmm0
pfacc mm0, mm0
subps xmm0, xmm1
mulps xmm0, xmm0
addss xmm2, xmm0
pfacc mm0, mm0
pfmul mm1, mm1
pfrsqrt mm1, mm0
mulps xmm2, xmm0
pfacc mm0, mm0
movaps xmm1, xmm0
subps xmm2, xmm1
mulps xmm3, xmm1
movaps xmm1, xmm0
pfrcpit2 mm0, mm4
mulps xmm0, xmm0
mov ecx, dword [ebp - 0x30]
lea ecx, [edi + ecx*2]
mov edi, dword [ebp - 0x34]
lea edi, [edi + ecx*2]
mov ecx, dword [edi*4 + 0x4243c0]
mov dword [ebp - 0x2c], ecx
shufps xmm2, xmm2, 0x55
pfacc mm0, mm0
divps xmm1, xmm2
subps xmm2, xmm1
pfmul mm1, mm1
mulps xmm3, xmm1
movaps xmm1, xmm0
haddps xmm0, xmm0
addps xmm2, xmm0
pfacc mm0, mm0
movhlps xmm2, xmm0
movq mm3, mm1
shufps xmm2, xmm2, 0
test edx, 0x4000000
je 0x404780
test al, al
jne 0x404ff5
pfmul mm1, mm1
movhlps xmm2, xmm0
pfmul mm3, mm0
mulps xmm1, xmm2
mulps xmm1, xmm0
movaps xmm1, xmm0
mulps xmm0, xmm0
mulps xmm2, xmm0
movq mm3, mm1
rsqrtss xmm2, xmm2
movq mm4, mm1
or dword [ebp - 0x2c], 0x200
pfmul mm0, mm0
pfrsqit1 mm0, mm1
subps xmm2, xmm1
mulps xmm1, xmm0
movaps xmm1, xmm0
pfrsqit1 mm0, mm1
movaps xmm3, xmm2
pfmul mm0, mm0
pfmul mm2, mm0
movhlps xmm2, xmm0
rsqrtps xmm0, xmm0
movq mm3, mm1
subps xmm0, xmm1
movaps xmm3, xmm2
addss xmm2, xmm0
movhlps xmm2, xmm0
pfadd mm0, mm1
addss xmm2, xmm0
mulps xmm0, xmm0
movaps xmm1, xmm0
pfmul mm1, mm1
movq mm3, mm1
rsqrtss xmm2, xmm2
pfrsqit1 mm0, mm1
shufps xmm2, xmm2, 0x55
movaps xmm3, xmm2
rsqrtss xmm2, xmm2
subps xmm2, xmm1
pfmul mm2, mm0
pfmul mm0, mm0
mulps xmm3, xmm1
haddps xmm0, xmm0
pfmul mm1, mm1
movss xmm0, xmm2
movss xmm0, xmm2
movq mm2, mm0
divps xmm1, xmm2
divps xmm1, xmm2
subps xmm0, xmm1
movaps xmm1, xmm0
pfrsqrt mm1, mm0
movq mm3, mm1
movaps xmm1, xmm0
mov edi, dword [ebx + 0x10]
rsqrtss xmm2, xmm2
mulps xmm2, xmm0
movaps xmm3, xmm2
movaps xmm1, xmm0
addss xmm2, xmm0
mulps xmm3, xmm1
mulps xmm0, xmm0
haddps xmm0, xmm0
pfrsqrt mm1, mm0
pfrcpit2 mm0, mm4
test edi, edi
jne 0x404730
test al, al
jne 0x4042e0
movq mm3, mm1
subps xmm2, xmm1
mulps xmm2, xmm0
pfmul mm0, mm0
pfmul mm3, mm0
pfrsqrt mm1, mm0
movq mm4, mm1
haddps xmm0, xmm0
rsqrtss xmm2, xmm2
mulps xmm1, xmm0
movaps xmm1, xmm0
test dl, 0x40
je 0x4050d0
test al, al
jne 0x4050e7
haddps xmm0, xmm0
mulps xmm1, xmm2
subps xmm2, xmm1
pfmul mm3, mm0
movq mm4, mm1
pfmul mm0, mm0
mulps xmm1, xmm0
pfadd mm0, mm1
mulps xmm1, xmm0
pfrsqrt mm1, mm0
mov edx, dword [ebp - 0x3c]
mov edi, dword [edx + 0x20]
mulps xmm0, xmm0
pfmul mm0, mm0
movhlps xmm2, xmm0
pfmul mm0, mm0
pfmul mm2, mm0
mulps xmm0, xmm0
movaps xmm1, xmm0
addss xmm2, xmm0
pfrsqit1 mm0, mm1
movaps xmm3, xmm2
shufps xmm2, xmm2, 0
subps xmm0, xmm1
shufps xmm2, xmm2, 0x55
movq mm4, mm1
pfmul mm1, mm1
movaps xmm3, xmm2
pfrsqrt mm1, mm0
addps xmm2, xmm0
sqrtss xmm2, xmm2
pfadd mm0, mm1
haddps xmm0, xmm0
pfadd mm0, mm1
pfmul mm2, mm0
movss xmm0, xmm2
mulps xmm0, xmm0
movaps xmm1, xmm0
mulps xmm2, xmm0
movaps xmm1, xmm0
pfrsqit1 mm0, mm1
pfacc mm0, mm0
shufps xmm2, xmm2, 0x55
shufps xmm2, xmm2, 0x55
pfmul mm1, mm1
pfrsqit1 mm0, mm1
mulps xmm3, xmm1
shufps xmm2, xmm2, 0x55
pfmul mm1, mm1
movhlps xmm2, xmm0
movaps xmm1, xmm0
pfrsqrt mm1, mm0
addss xmm2, xmm0
pfmul mm1, mm1
pfmul mm0, mm0
pfrcpit2 mm0, mm4
rsqrtss xmm2, xmm2
pfacc mm0, mm0
movaps xmm1, xmm0
movhlps xmm2, xmm0
pfmul mm0, mm0
pfrsqrt mm1, mm0
test edi, edi
jne 0x405071
test al, al
jne 0x404087
movzx edx, byte [0x42600c]
movhlps xmm2, xmm0
mulps xmm1, xmm0
subps xmm0, xmm1
pfrsqrt mm1, mm0
subps xmm0, xmm1
mulps xmm1, xmm0
divps xmm1, xmm2
addss xmm2, xmm0
mulps xmm1, xmm2
pfmul mm1, mm1
pfrsqrt mm1, mm0
mulps xmm1, xmm0
pfrsqrt mm1, mm0
pfrsqit1 mm0, mm1
pfacc mm0, mm0
pfrsqit1 mm0, mm1
mulps xmm1, xmm2
mov ecx, dword [ebp - 0x3c]
mov eax, edx
add esi, 1
movzx edx, word [ecx + 6]
cmp esi, edx
jl 0x404099
test al, al
jne 0x4044c5
movaps xmm1, xmm0
pfrcpit2 mm0, mm4
mulps xmm1, xmm0
movaps xmm1, xmm0
rsqrtss xmm2, xmm2
mulps xmm3, xmm1
pfmul mm0, mm0
divps xmm1, xmm2
mulps xmm1, xmm2
pfrcpit2 mm0, mm4
subps xmm0, xmm1
mulps xmm3, xmm1
shufps xmm2, xmm2, 0
movhlps xmm2, xmm0
shufps xmm2, xmm2, 0x55
subps xmm0, xmm1
shufps xmm2, xmm2, 0
pfmul mm1, mm1
mulps xmm1, xmm0
mulps xmm1, xmm0
addps xmm2, xmm0
sqrtss xmm2, xmm2
pfadd mm0, mm1
subps xmm0, xmm1
sqrtss xmm2, xmm2
subps xmm2, xmm1
mulps xmm1, xmm2
movaps xmm1, xmm0
mulps xmm1, xmm0
pfmul mm1, mm1
mulps xmm3, xmm1
movq mm3, mm1
pfmul mm1, mm1
haddps xmm0, xmm0
movss xmm0, xmm2
pfrcpit2 mm0, mm4
pfacc mm0, mm0
addps xmm2, xmm0
pfadd mm0, mm1
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x40520b
test al, al
jne 0x405535
rsqrtps xmm0, xmm0
pfadd mm0, mm1
movq mm3, mm1
pfrsqit1 mm0, mm1
movaps xmm1, xmm0
movhlps xmm2, xmm0
movaps xmm3, xmm2
mulps xmm1, xmm2
mulps xmm1, xmm0
movq mm3, mm1
movaps xmm1, xmm0
shufps xmm2, xmm2, 0
movaps xmm3, xmm2
mulps xmm3, xmm1
mulps xmm2, xmm0
mulps xmm2, xmm0
pfadd mm0, mm1
movq mm4, mm1
movq mm4, mm1
pfrsqit1 mm0, mm1
movhlps xmm2, xmm0
pfrcpit2 mm0, mm4
mulps xmm1, xmm2
mulps xmm1, xmm2
mulps xmm0, xmm0
add edx, dword [ebp - 0x44]
movq mm2, mm0
movaps xmm3, xmm2
movaps xmm1, xmm0
divps xmm1, xmm2
rsqrtss xmm2, xmm2
mulps xmm0, xmm0
pfrsqrt mm1, mm0
subps xmm0, xmm1
subps xmm0, xmm1
pfmul mm2, mm0
subps xmm2, xmm1
movaps xmm1, xmm0
mov ebx, dword [ebp - 0x44]
mov dword [esp + 8], 0
mov dword [esp + 4], 1
mov dword [esp], ebx
call edx
movzx edx, byte [0x42600c]
sub esp, 0xc
test dl, dl
jne 0x4045b2
mulps xmm0, xmm0
rsqrtps xmm0, xmm0
pfadd mm0, mm1
pfmul mm1, mm1
movhlps xmm2, xmm0
pfmul mm3, mm0
shufps xmm2, xmm2, 0
shufps xmm2, xmm2, 0x55
rsqrtps xmm0, xmm0
movss xmm0, xmm2
pfacc mm0, mm0
pfrsqrt mm1, mm0
pfadd mm0, mm1
addps xmm2, xmm0
rsqrtps xmm0, xmm0
movhlps xmm2, xmm0
test eax, eax
je 0x405937
test dl, dl
jne 0x4055e1
pfrsqit1 mm0, mm1
shufps xmm2, xmm2, 0
mulps xmm0, xmm0
pfrcpit2 mm0, mm4
sqrtss xmm2, xmm2
pfrcpit2 mm0, mm4
mulps xmm0, xmm0
mulps xmm2, xmm0
movaps xmm3, xmm2
rsqrtps xmm0, xmm0
divps xmm1, xmm2
addps xmm2, xmm0
pfmul mm1, mm1
mulps xmm1, xmm2
mulps xmm3, xmm1
pfrcpit2 mm0, mm4
mulps xmm3, xmm1
movq mm3, mm1
movaps xmm1, xmm0
movq mm2, mm0
haddps xmm0, xmm0
rsqrtss xmm2, xmm2
movhlps xmm2, xmm0
pfmul mm3, mm0
mov esi, dword [ebp - 0x38]
mov dword [esi + 0x10], 1
pfmul mm0, mm0
pfrsqit1 mm0, mm1
pfmul mm0, mm0
addps xmm2, xmm0
pfmul mm3, mm0
rsqrtss xmm2, xmm2
pfmul mm0, mm0
shufps xmm2, xmm2, 0
movaps xmm1, xmm0
subps xmm2, xmm1
sqrtss xmm2, xmm2
movaps xmm3, xmm2
haddps xmm0, xmm0
movaps xmm1, xmm0
rsqrtss xmm2, xmm2
sqrtss xmm2, xmm2
subps xmm0, xmm1
movhlps xmm2, xmm0
movq mm2, mm0
mulps xmm1, xmm2
pfrcpit2 mm0, mm4
rsqrtss xmm2, xmm2
mulps xmm1, xmm2
movaps xmm1, xmm0
movq mm4, mm1
haddps xmm0, xmm0
subps xmm2, xmm1
mulps xmm1, xmm2
movq mm2, mm0
shufps xmm2, xmm2, 0x55
pfadd mm0, mm1
pfmul mm2, mm0
movaps xmm1, xmm0
movaps xmm1, xmm0
pfmul mm2, mm0
mov eax, dword [ebp - 0x38]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx + 0xc]
test eax, eax
jne 0x4047b0
movzx ecx, byte [0x42600c]
mov byte [ebp - 0x30], cl
movzx eax, byte [ebp - 0x30]
test al, al
jne 0x403f27
mulps xmm1, xmm2
movq mm3, mm1
pfadd mm0, mm1
mulps xmm3, xmm1
sqrtss xmm2, xmm2
movhlps xmm2, xmm0
addps xmm2, xmm0
movss xmm0, xmm2
mulps xmm2, xmm0
pfmul mm1, mm1
mulps xmm2, xmm0
divps xmm1, xmm2
pfadd mm0, mm1
pfrsqrt mm1, mm0
pfmul mm0, mm0
movaps xmm1, xmm0
pfadd mm0, mm1
movaps xmm1, xmm0
movaps xmm1, xmm0
movss xmm0, xmm2
pfrcpit2 mm0, mm4
movaps xmm1, xmm0
movq mm4, mm1
jmp 0x405164
mov edi, dword [ebp - 0x38]
mov edi, dword [edi]
mov dword [ebp - 0x3c], edi
jmp 0x404087
test al, al
je 0x4043a6
mov edx, dword [ebp - 0x2c]
lea eax, [ebp - 0x1c]
mov dword [esp + 0xc], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov eax, dword [ebx + 8]
mov dword [esp], eax
call sub.KERNEL32.dll_VirtualProtect
sub esp, 0x10
test eax, eax
jne 0x405001
movzx edx, byte [0x42600c]
test dl, dl
mov eax, edx
je 0x4050f2
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx]
mov dword [ebp - 0x3c], ecx
jmp 0x404087
test al, al
je 0x40423b
mov edi, dword [ebx + 0x10]
jmp 0x4042ae
mov ecx, edi
mov edi, dword [ebp - 0x30]
lea edi, [ecx + edi*2]
mov ecx, dword [ebp - 0x34]
lea ecx, [ecx + edi*2]
mov edi, dword [ecx*4 + 0x4243c0]
mov dword [ebp - 0x2c], edi
jmp 0x4041b4
add eax, dword [ebp - 0x34]
mov dword [esp], eax
call sub.KERNEL32.dll_LoadLibraryA
movzx edx, byte [0x42600c]
mov byte [ebp - 0x30], dl
sub esp, 4
test dl, dl
mov edi, eax
jne 0x404816
addps xmm2, xmm0
sqrtss xmm2, xmm2
pfmul mm3, mm0
pfmul mm1, mm1
shufps xmm2, xmm2, 0x55
pfmul mm3, mm0
pfmul mm3, mm0
pfmul mm2, mm0
pfmul mm1, mm1
subps xmm2, xmm1
movhlps xmm2, xmm0
movaps xmm1, xmm0
movaps xmm1, xmm0
subps xmm2, xmm1
pfrsqrt mm1, mm0
haddps xmm0, xmm0
pfmul mm0, mm0
mulps xmm1, xmm0
pfmul mm1, mm1
mulps xmm2, xmm0
test edi, edi
je 0x405711
test dl, dl
jne 0x40484c
subps xmm2, xmm1
rsqrtps xmm0, xmm0
movaps xmm1, xmm0
mulps xmm0, xmm0
sqrtss xmm2, xmm2
mulps xmm0, xmm0
addps xmm2, xmm0
mulps xmm0, xmm0
mulps xmm0, xmm0
movq mm3, mm1
shufps xmm2, xmm2, 0
addss xmm2, xmm0
movq mm2, mm0
mov ebx, dword [ebp - 0x38]
mov eax, dword [ebx + 0xc]
lea ebx, [eax*4 + 4]
call sub.KERNEL32.dll_GetProcessHeap
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.KERNEL32.dll_HeapAlloc
sub esp, 0xc
mov ebx, eax
cmp byte [0x42600c], 0
jne 0x4048c5
pfmul mm1, mm1
movss xmm0, xmm2
addss xmm2, xmm0
addss xmm2, xmm0
mulps xmm2, xmm0
pfacc mm0, mm0
addss xmm2, xmm0
rsqrtss xmm2, xmm2
movq mm3, mm1
pfacc mm0, mm0
pfrcpit2 mm0, mm4
rsqrtss xmm2, xmm2
mulps xmm2, xmm0
mulps xmm2, xmm0
movaps xmm1, xmm0
pfrcpit2 mm0, mm4
rsqrtss xmm2, xmm2
movhlps xmm2, xmm0
mulps xmm0, xmm0
mov eax, dword [ebp - 0x38]
mov esi, dword [eax + 8]
call sub.KERNEL32.dll_GetProcessHeap
mov dword [esp + 4], 0
mov dword [esp + 8], esi
mov dword [esp], eax
call sub.KERNEL32.dll_HeapFree
movzx edx, byte [0x42600c]
mov byte [ebp - 0x30], dl
sub esp, 0xc
test dl, dl
jne 0x404ee0
pfmul mm1, mm1
mulps xmm2, xmm0
addss xmm2, xmm0
mulps xmm3, xmm1
pfmul mm1, mm1
haddps xmm0, xmm0
haddps xmm0, xmm0
movaps xmm1, xmm0
pfmul mm1, mm1
pfmul mm1, mm1
rsqrtps xmm0, xmm0
subps xmm2, xmm1
pfmul mm0, mm0
movaps xmm1, xmm0
pfrcpit2 mm0, mm4
movq mm4, mm1
pfmul mm2, mm0
addps xmm2, xmm0
pfrsqrt mm1, mm0
mulps xmm1, xmm2
shufps xmm2, xmm2, 0
mulps xmm3, xmm1
mulps xmm0, xmm0
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 8], ebx
movq mm3, mm1
pfmul mm2, mm0
subps xmm2, xmm1
haddps xmm0, xmm0
movaps xmm1, xmm0
movq mm2, mm0
movhlps xmm2, xmm0
movaps xmm1, xmm0
pfadd mm0, mm1
rsqrtps xmm0, xmm0
shufps xmm2, xmm2, 0
addss xmm2, xmm0
pfrcpit2 mm0, mm4
pfrsqrt mm1, mm0
haddps xmm0, xmm0
movq mm3, mm1
pfmul mm0, mm0
pfrcpit2 mm0, mm4
mulps xmm2, xmm0
pfrsqrt mm1, mm0
mulps xmm2, xmm0
movss xmm0, xmm2
movq mm2, mm0
shufps xmm2, xmm2, 0x55
test ebx, ebx
je 0x405725
test dl, dl
jne 0x404fb0
rsqrtps xmm0, xmm0
mulps xmm1, xmm2
movaps xmm1, xmm0
pfacc mm0, mm0
shufps xmm2, xmm2, 0x55
shufps xmm2, xmm2, 0
pfrcpit2 mm0, mm4
addps xmm2, xmm0
movaps xmm1, xmm0
pfmul mm3, mm0
pfacc mm0, mm0
movaps xmm3, xmm2
pfacc mm0, mm0
haddps xmm0, xmm0
haddps xmm0, xmm0
mulps xmm1, xmm2
shufps xmm2, xmm2, 0x55
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + 0xc]
mov dword [ebx + eax*4], edi
add eax, 1
mov dword [ecx + 0xc], eax
addss xmm2, xmm0
rsqrtss xmm2, xmm2
pfrsqrt mm1, mm0
movaps xmm1, xmm0
mulps xmm0, xmm0
haddps xmm0, xmm0
pfmul mm2, mm0
movq mm2, mm0
shufps xmm2, xmm2, 0
mulps xmm3, xmm1
pfmul mm1, mm1
pfmul mm3, mm0
pfrsqrt mm1, mm0
mulps xmm3, xmm1
subps xmm0, xmm1
movhlps xmm2, xmm0
pfmul mm2, mm0
shufps xmm2, xmm2, 0x55
subps xmm0, xmm1
rsqrtps xmm0, xmm0
pfmul mm1, mm1
pfmul mm1, mm1
movq mm2, mm0
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx]
test eax, eax
je 0x404ef0
test dl, dl
jne 0x404fc4
pfrsqrt mm1, mm0
movss xmm0, xmm2
movaps xmm1, xmm0
shufps xmm2, xmm2, 0x55
addss xmm2, xmm0
mulps xmm0, xmm0
divps xmm1, xmm2
pfmul mm3, mm0
pfadd mm0, mm1
mulps xmm0, xmm0
divps xmm1, xmm2
mulps xmm2, xmm0
subps xmm2, xmm1
addss xmm2, xmm0
movaps xmm1, xmm0
mulps xmm1, xmm2
mulps xmm1, xmm2
subps xmm2, xmm1
subps xmm2, xmm1
pfmul mm1, mm1
shufps xmm2, xmm2, 0
subps xmm2, xmm1
haddps xmm0, xmm0
pfmul mm2, mm0
add eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
haddps xmm0, xmm0
haddps xmm0, xmm0
pfacc mm0, mm0
movhlps xmm2, xmm0
pfmul mm1, mm1
rsqrtps xmm0, xmm0
mulps xmm1, xmm2
pfmul mm1, mm1
subps xmm0, xmm1
movaps xmm3, xmm2
haddps xmm0, xmm0
mulps xmm0, xmm0
mulps xmm1, xmm2
shufps xmm2, xmm2, 0
movhlps xmm2, xmm0
addps xmm2, xmm0
mulps xmm3, xmm1
addss xmm2, xmm0
mov esi, dword [ebp - 0x34]
add esi, dword [ecx + 0x10]
mulps xmm1, xmm2
movaps xmm3, xmm2
shufps xmm2, xmm2, 0x55
movq mm2, mm0
mulps xmm2, xmm0
pfrsqit1 mm0, mm1
sqrtss xmm2, xmm2
pfmul mm0, mm0
pfmul mm2, mm0
pfacc mm0, mm0
movq mm2, mm0
pfmul mm1, mm1
movss xmm0, xmm2
rsqrtps xmm0, xmm0
movaps xmm1, xmm0
haddps xmm0, xmm0
movaps xmm1, xmm0
mulps xmm0, xmm0
pfmul mm1, mm1
mulps xmm1, xmm0
pfadd mm0, mm1
pfmul mm2, mm0
sqrtss xmm2, xmm2
pfmul mm3, mm0
movss xmm0, xmm2
mulps xmm2, xmm0
movq mm4, mm1
movaps xmm1, xmm0
rsqrtss xmm2, xmm2
movss xmm0, xmm2
divps xmm1, xmm2
pfrsqrt mm1, mm0
subps xmm0, xmm1
movq mm2, mm0
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx]
test eax, eax
je 0x404da1
xor ebx, ebx
jmp 0x404c69
pfmul mm1, mm1
mulps xmm0, xmm0
subps xmm0, xmm1
subps xmm0, xmm1
movq mm3, mm1
mulps xmm1, xmm0
subps xmm2, xmm1
mulps xmm1, xmm2
movaps xmm1, xmm0
movss xmm0, xmm2
pfrsqit1 mm0, mm1
movq mm3, mm1
mulps xmm1, xmm2
movaps xmm3, xmm2
movq mm2, mm0
divps xmm1, xmm2
mulps xmm1, xmm0
addss xmm2, xmm0
pfrcpit2 mm0, mm4
pfmul mm3, mm0
pfmul mm0, mm0
subps xmm0, xmm1
movss xmm0, xmm2
add eax, dword [ebp - 0x34]
mulps xmm0, xmm0
movaps xmm1, xmm0
mulps xmm3, xmm1
mulps xmm0, xmm0
movaps xmm3, xmm2
shufps xmm2, xmm2, 0x55
shufps xmm2, xmm2, 0x55
haddps xmm0, xmm0
haddps xmm0, xmm0
addss xmm2, xmm0
movq mm2, mm0
pfrcpit2 mm0, mm4
pfacc mm0, mm0
movq mm3, mm1
pfmul mm2, mm0
mulps xmm3, xmm1
mulps xmm2, xmm0
movq mm4, mm1
haddps xmm0, xmm0
mulps xmm3, xmm1
add eax, 2
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.KERNEL32.dll_GetProcAddress
movzx edx, byte [0x42600c]
mov ecx, edx
sub esp, 8
test dl, dl
mov dword [esi + ebx], eax
je 0x404cd0
test eax, eax
mov byte [ebp - 0x30], dl
je 0x404d2f
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ecx + ebx + 4]
add ebx, 4
test eax, eax
je 0x404da1
test dl, dl
jne 0x404cb4
pfmul mm3, mm0
mulps xmm1, xmm0
pfrsqrt mm1, mm0
mulps xmm0, xmm0
movaps xmm1, xmm0
pfmul mm1, mm1
pfmul mm3, mm0
movaps xmm1, xmm0
haddps xmm0, xmm0
pfmul mm1, mm1
addps xmm2, xmm0
pfrsqit1 mm0, mm1
addss xmm2, xmm0
mulps xmm0, xmm0
pfrcpit2 mm0, mm4
movaps xmm1, xmm0
mulps xmm0, xmm0
mulps xmm1, xmm2
movss xmm0, xmm2
movss xmm0, xmm2
test eax, eax
js 0x404e20
test dl, dl
nop
je 0x404b91
add eax, dword [ebp - 0x34]
jmp 0x404c26
pfmul mm1, mm1
pfmul mm0, mm0
mulps xmm1, xmm2
pfacc mm0, mm0
subps xmm2, xmm1
shufps xmm2, xmm2, 0
addss xmm2, xmm0
subps xmm2, xmm1
shufps xmm2, xmm2, 0x55
sqrtss xmm2, xmm2
movq mm2, mm0
movaps xmm3, xmm2
addps xmm2, xmm0
subps xmm2, xmm1
pfmul mm2, mm0
pfrsqit1 mm0, mm1
movq mm2, mm0
mulps xmm0, xmm0
movhlps xmm2, xmm0
mulps xmm1, xmm0
sqrtss xmm2, xmm2
rsqrtss xmm2, xmm2
pfmul mm3, mm0
xor ecx, ecx
test eax, eax
mov byte [ebp - 0x30], 0
jne 0x404c57
test cl, cl
mov dword [ebp - 0x40], 0
jne 0x404da1
mulps xmm2, xmm0
sqrtss xmm2, xmm2
movaps xmm1, xmm0
movaps xmm1, xmm0
movaps xmm1, xmm0
movq mm3, mm1
haddps xmm0, xmm0
movaps xmm1, xmm0
pfmul mm0, mm0
addps xmm2, xmm0
haddps xmm0, xmm0
movaps xmm1, xmm0
pfrsqit1 mm0, mm1
haddps xmm0, xmm0
mulps xmm0, xmm0
pfrsqrt mm1, mm0
mulps xmm1, xmm0
mulps xmm1, xmm0
pfmul mm1, mm1
divps xmm1, xmm2
rsqrtps xmm0, xmm0
subps xmm2, xmm1
haddps xmm0, xmm0
shufps xmm2, xmm2, 0x55
addps xmm2, xmm0
sqrtss xmm2, xmm2
subps xmm0, xmm1
movhlps xmm2, xmm0
sqrtss xmm2, xmm2
pfrsqit1 mm0, mm1
cmp byte [ebp - 0x30], 0
jne 0x404dd5
movss xmm0, xmm2
mulps xmm1, xmm2
movq mm4, mm1
addss xmm2, xmm0
mulps xmm1, xmm0
shufps xmm2, xmm2, 0x55
movq mm3, mm1
movss xmm0, xmm2
pfmul mm1, mm1
mulps xmm1, xmm0
pfadd mm0, mm1
movaps xmm1, xmm0
pfmul mm2, mm0
mov esi, dword [ebp - 0x40]
test esi, esi
je 0x403f1b
cmp byte [ebp - 0x30], 0
jne 0x404e10
subps xmm0, xmm1
rsqrtps xmm0, xmm0
shufps xmm2, xmm2, 0x55
mulps xmm1, xmm0
addps xmm2, xmm0
subps xmm2, xmm1
rsqrtss xmm2, xmm2
movss xmm0, xmm2
haddps xmm0, xmm0
shufps xmm2, xmm2, 0x55
haddps xmm0, xmm0
movaps xmm1, xmm0
add dword [ebp - 0x3c], 0x14
jmp 0x403ef3
test dl, dl
jne 0x404e64
pfmul mm2, mm0
movq mm3, mm1
pfacc mm0, mm0
divps xmm1, xmm2
mulps xmm3, xmm1
pfmul mm1, mm1
mulps xmm0, xmm0
divps xmm1, xmm2
addps xmm2, xmm0
haddps xmm0, xmm0
divps xmm1, xmm2
pfmul mm0, mm0
subps xmm2, xmm1
pfrsqit1 mm0, mm1
pfmul mm1, mm1
pfrsqit1 mm0, mm1
pfrsqit1 mm0, mm1
shufps xmm2, xmm2, 0
and eax, 0xffff
mov dword [esp + 4], eax
mov dword [esp], edi
call sub.KERNEL32.dll_GetProcAddress
movzx edx, byte [0x42600c]
mov ecx, edx
sub esp, 8
test dl, dl
mov dword [esi + ebx], eax
jne 0x404c4c
subps xmm2, xmm1
addps xmm2, xmm0
movq mm4, mm1
pfrcpit2 mm0, mm4
movaps xmm1, xmm0
mulps xmm0, xmm0
pfmul mm3, mm0
sqrtss xmm2, xmm2
haddps xmm0, xmm0
movq mm4, mm1
movhlps xmm2, xmm0
movq mm3, mm1
pfacc mm0, mm0
movaps xmm1, xmm0
shufps xmm2, xmm2, 0x55
movaps xmm1, xmm0
mulps xmm0, xmm0
haddps xmm0, xmm0
mulps xmm2, xmm0
pfadd mm0, mm1
subps xmm2, xmm1
movaps xmm1, xmm0
jmp 0x404cf8
mov esi, dword [ebp - 0x38]
mov dword [esi + 8], ebx
jmp 0x4049a5
test dl, dl
jne 0x404fe0
mulps xmm2, xmm0
pfadd mm0, mm1
addps xmm2, xmm0
haddps xmm0, xmm0
haddps xmm0, xmm0
haddps xmm0, xmm0
rsqrtps xmm0, xmm0
movaps xmm1, xmm0
pfmul mm0, mm0
pfrcpit2 mm0, mm4
pfmul mm1, mm1
subps xmm2, xmm1
shufps xmm2, xmm2, 0x55
pfmul mm3, mm0
pfmul mm3, mm0
movq mm2, mm0
movaps xmm1, xmm0
mov esi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x34]
add eax, dword [esi + 0x10]
mov dword [ebp - 0x2c], eax
addss xmm2, xmm0
movaps xmm1, xmm0
mulps xmm1, xmm0
pfmul mm1, mm1
pfrsqit1 mm0, mm1
movaps xmm1, xmm0
shufps xmm2, xmm2, 0
mulps xmm0, xmm0
haddps xmm0, xmm0
rsqrtss xmm2, xmm2
pfmul mm0, mm0
mulps xmm1, xmm2
rsqrtss xmm2, xmm2
haddps xmm0, xmm0
mov esi, eax
pfmul mm3, mm0
pfmul mm1, mm1
mulps xmm1, xmm2
mulps xmm1, xmm2
mulps xmm3, xmm1
movhlps xmm2, xmm0
pfmul mm1, mm1
movaps xmm3, xmm2
movq mm2, mm0
pfadd mm0, mm1
divps xmm1, xmm2
mulps xmm1, xmm2
mulps xmm3, xmm1
shufps xmm2, xmm2, 0
movq mm3, mm1
movhlps xmm2, xmm0
jmp 0x404b5b
mov esi, dword [ebp - 0x38]
mov eax, dword [esi + 0xc]
mov dword [ebx + eax*4], edi
add eax, 1
mov dword [esi + 0xc], eax
jmp 0x404a53
mov ebx, dword [ebp - 0x3c]
add eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x2c], eax
mov ecx, eax
add esi, dword [ebx + 0x10]
jmp 0x404b80
mov ecx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x34]
add ebx, dword [ecx + 0x10]
mov dword [ebp - 0x2c], ebx
mov esi, ebx
mov ecx, ebx
jmp 0x404b80
or dword [ebp - 0x2c], 0x200
jmp 0x404788
movzx eax, byte [0x42600c]
test al, al
mov edx, eax
jne 0x404720
movaps xmm3, xmm2
movaps xmm1, xmm0
pfacc mm0, mm0
pfrcpit2 mm0, mm4
rsqrtps xmm0, xmm0
movaps xmm3, xmm2
movq mm2, mm0
addss xmm2, xmm0
movaps xmm3, xmm2
pfmul mm1, mm1
rsqrtps xmm0, xmm0
pfmul mm1, mm1
pfmul mm1, mm1
movq mm4, mm1
movaps xmm1, xmm0
haddps xmm0, xmm0
movss xmm0, xmm2
pfmul mm2, mm0
pfmul mm3, mm0
addss xmm2, xmm0
haddps xmm0, xmm0
movaps xmm1, xmm0
sqrtss xmm2, xmm2
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
jmp 0x4043e7
test al, al
jne 0x404738
shufps xmm2, xmm2, 0x55
pfadd mm0, mm1
shufps xmm2, xmm2, 0x55
movaps xmm1, xmm0
pfmul mm2, mm0
rsqrtss xmm2, xmm2
pfacc mm0, mm0
haddps xmm0, xmm0
pfadd mm0, mm1
rsqrtps xmm0, xmm0
pfmul mm0, mm0
pfrsqit1 mm0, mm1
movaps xmm1, xmm0
rsqrtps xmm0, xmm0
movhlps xmm2, xmm0
movss xmm0, xmm2
movq mm2, mm0
movq mm4, mm1
sqrtss xmm2, xmm2
pfrsqit1 mm0, mm1
pfmul mm1, mm1
pfrsqrt mm1, mm0
jmp 0x404738
test dl, dl
jns 0x405140
test al, al
je 0x405230
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ecx + 0x24]
jmp 0x4043d0
mov ecx, dword [ebp - 0x3c]
mov edi, dword [ecx + 0x20]
jmp 0x4043d0
movq mm3, mm1
pfacc mm0, mm0
pfacc mm0, mm0
mulps xmm3, xmm1
movaps xmm1, xmm0
pfrsqit1 mm0, mm1
pfmul mm2, mm0
mulps xmm0, xmm0
pfacc mm0, mm0
pfmul mm1, mm1
movq mm2, mm0
haddps xmm0, xmm0
movq mm3, mm1
mulps xmm1, xmm2
movaps xmm1, xmm0
movaps xmm1, xmm0
pfacc mm0, mm0
movaps xmm1, xmm0
subps xmm2, xmm1
pfmul mm0, mm0
pfrsqit1 mm0, mm1
jmp 0x405012
test al, al
jne 0x4043d8
nop
lea esi, [esi]
jmp 0x404356
test al, al
jne 0x4051f9
mov dword [ebp - 0x40], 1
subps xmm2, xmm1
movq mm3, mm1
shufps xmm2, xmm2, 0
pfrsqit1 mm0, mm1
pfrcpit2 mm0, mm4
mulps xmm0, xmm0
pfadd mm0, mm1
pfmul mm3, mm0
rsqrtps xmm0, xmm0
sqrtss xmm2, xmm2
mulps xmm2, xmm0
pfrsqrt mm1, mm0
pfrcpit2 mm0, mm4
sqrtss xmm2, xmm2
xor eax, eax
mov byte [ebp - 0x30], 0
jmp 0x403f27
mov edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x44]
sub ebx, dword [edx + 0x34]
mov dword [ebp - 0x30], ebx
jmp 0x403aec
mov esi, dword [ebp + 8]
mov ecx, ebx
mov edi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x44]
add ecx, dword [esi + 0x3c]
mov esi, dword [edi + 4]
mov dword [ecx + 0x34], ebx
movzx ebx, word [ecx + 0x14]
mov dword [edi], ecx
mov dword [ebp - 0x34], esi
lea ebx, [ecx + ebx + 0x18]
jmp 0x40361f
mov esi, dword [ebp - 0x44]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x10], 0
mov dword [eax + 4], esi
jmp 0x4033d5
mov ebx, dword [ebp - 0x38]
mov ecx, dword [ebx]
movzx edx, word [ecx + 0x14]
lea ebx, [ecx + edx + 0x18]
jmp 0x403fc3
test al, al
je 0x40466d
jmp 0x404699
test al, al
lea esi, [esi]
je 0x40553d
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
movaps xmm1, xmm0
movq mm4, mm1
haddps xmm0, xmm0
mulps xmm0, xmm0
pfmul mm1, mm1
mulps xmm0, xmm0
subps xmm2, xmm1
rsqrtss xmm2, xmm2
pfrsqit1 mm0, mm1
mulps xmm0, xmm0
rsqrtps xmm0, xmm0
pfmul mm0, mm0
movss xmm0, xmm2
movq mm2, mm0
movss xmm0, xmm2
pfrsqrt mm1, mm0
pfadd mm0, mm1
pfacc mm0, mm0
movss xmm0, xmm2
haddps xmm0, xmm0
movq mm3, mm1
pfmul mm1, mm1
mov edx, dword [ebp - 0x3c]
mov edi, dword [edx + 0x24]
movq mm3, mm1
pfmul mm1, mm1
movaps xmm1, xmm0
sqrtss xmm2, xmm2
subps xmm0, xmm1
movq mm3, mm1
movaps xmm1, xmm0
pfmul mm3, mm0
movq mm4, mm1
rsqrtss xmm2, xmm2
mulps xmm0, xmm0
movss xmm0, xmm2
movss xmm0, xmm2
movhlps xmm2, xmm0
shufps xmm2, xmm2, 0x55
subps xmm2, xmm1
movq mm3, mm1
movaps xmm3, xmm2
jmp 0x404356
mulps xmm2, xmm0
shufps xmm2, xmm2, 0x55
addss xmm2, xmm0
movq mm2, mm0
subps xmm2, xmm1
mulps xmm0, xmm0
mulps xmm1, xmm0
haddps xmm0, xmm0
pfadd mm0, mm1
addss xmm2, xmm0
rsqrtps xmm0, xmm0
shufps xmm2, xmm2, 0x55
haddps xmm0, xmm0
addps xmm2, xmm0
rsqrtss xmm2, xmm2
mulps xmm0, xmm0
pfrsqit1 mm0, mm1
divps xmm1, xmm2
pfmul mm1, mm1
sqrtss xmm2, xmm2
pfadd mm0, mm1
rsqrtps xmm0, xmm0
haddps xmm0, xmm0
pfmul mm0, mm0
jmp 0x403ef3
test al, al
jne 0x4055d7
subps xmm2, xmm1
haddps xmm0, xmm0
mulps xmm1, xmm0
movaps xmm1, xmm0
mulps xmm1, xmm0
mulps xmm1, xmm2
sqrtss xmm2, xmm2
pfrcpit2 mm0, mm4
divps xmm1, xmm2
rsqrtss xmm2, xmm2
rsqrtps xmm0, xmm0
movq mm2, mm0
mulps xmm0, xmm0
haddps xmm0, xmm0
addss xmm2, xmm0
pfrsqit1 mm0, mm1
rsqrtps xmm0, xmm0
movq mm3, mm1
pfrsqrt mm1, mm0
shufps xmm2, xmm2, 0x55
pfrsqrt mm1, mm0
pfmul mm3, mm0
movaps xmm1, xmm0
shufps xmm2, xmm2, 0
mov edx, dword [ebp - 0x38]
mov edi, dword [edx]
jmp 0x403e4c
cmp ebx, 3
je 0x4055b5
mov ebx, edx
add eax, 1
shr ebx, 1
cmp eax, ebx
jae 0x4053b8
movzx edi, word [ecx + eax*2 + 8]
mov ebx, edi
sar ebx, 0xc
test ebx, ebx
jne 0x405388
lea edx, [esi - 8]
mov ebx, edx
add eax, 1
shr ebx, 1
cmp eax, ebx
jb 0x40539c
cmp byte [ebp - 0x3c], 0
jne 0x4055d0
movq mm2, mm0
pfrsqrt mm1, mm0
movaps xmm1, xmm0
rsqrtss xmm2, xmm2
pfmul mm0, mm0
pfmul mm1, mm1
pfacc mm0, mm0
movaps xmm1, xmm0
sqrtss xmm2, xmm2
movss xmm0, xmm2
pfacc mm0, mm0
shufps xmm2, xmm2, 0x55
shufps xmm2, xmm2, 0
movq mm3, mm1
mulps xmm1, xmm2
movq mm4, mm1
movss xmm0, xmm2
rsqrtps xmm0, xmm0
pfmul mm3, mm0
mulps xmm0, xmm0
mulps xmm0, xmm0
divps xmm1, xmm2
add ecx, esi
shufps xmm2, xmm2, 0x55
pfrsqit1 mm0, mm1
mulps xmm0, xmm0
movaps xmm1, xmm0
subps xmm2, xmm1
rsqrtps xmm0, xmm0
pfmul mm0, mm0
mulps xmm1, xmm2
pfrcpit2 mm0, mm4
pfmul mm2, mm0
haddps xmm0, xmm0
pfrsqit1 mm0, mm1
movaps xmm1, xmm0
mulps xmm0, xmm0
pfmul mm0, mm0
haddps xmm0, xmm0
mov eax, dword [ecx]
test eax, eax
jne 0x403b7a
movzx eax, byte [ebp - 0x3c]
test al, al
jne 0x4055d7
divps xmm1, xmm2
addps xmm2, xmm0
pfmul mm1, mm1
mulps xmm3, xmm1
mulps xmm2, xmm0
movhlps xmm2, xmm0
movhlps xmm2, xmm0
pfmul mm2, mm0
movaps xmm1, xmm0
mulps xmm0, xmm0
mulps xmm3, xmm1
haddps xmm0, xmm0
pfrsqit1 mm0, mm1
movq mm3, mm1
pfmul mm0, mm0
haddps xmm0, xmm0
jmp 0x40532a
pfmul mm1, mm1
pfadd mm0, mm1
shufps xmm2, xmm2, 0
movhlps xmm2, xmm0
mulps xmm1, xmm0
movq mm4, mm1
haddps xmm0, xmm0
haddps xmm0, xmm0
addss xmm2, xmm0
pfrsqrt mm1, mm0
rsqrtps xmm0, xmm0
pfrsqrt mm1, mm0
mulps xmm1, xmm0
pfmul mm1, mm1
divps xmm1, xmm2
movaps xmm1, xmm0
movq mm4, mm1
pfmul mm1, mm1
pfrsqit1 mm0, mm1
pfrsqrt mm1, mm0
sqrtss xmm2, xmm2
movq mm3, mm1
shufps xmm2, xmm2, 0x55
movhlps xmm2, xmm0
pfrcpit2 mm0, mm4
rsqrtps xmm0, xmm0
mulps xmm0, xmm0
haddps xmm0, xmm0
movaps xmm3, xmm2
movaps xmm3, xmm2
movss xmm0, xmm2
movhlps xmm2, xmm0
mulps xmm3, xmm1
pfrcpit2 mm0, mm4
divps xmm1, xmm2
shufps xmm2, xmm2, 0x55
haddps xmm0, xmm0
mulps xmm1, xmm0
mov ebx, dword [ecx + 0xa4]
test ebx, ebx
je 0x405322
jmp 0x403b0d
add edx, dword [ebp - 0x44]
jmp 0x404553
divps xmm1, xmm2
addss xmm2, xmm0
rsqrtps xmm0, xmm0
mulps xmm2, xmm0
rsqrtss xmm2, xmm2
shufps xmm2, xmm2, 0
haddps xmm0, xmm0
pfmul mm0, mm0
movq mm2, mm0
movss xmm0, xmm2
movaps xmm1, xmm0
movaps xmm1, xmm0
pfrsqit1 mm0, mm1
subps xmm0, xmm1
pfmul mm0, mm0
shufps xmm2, xmm2, 0x55
movaps xmm1, xmm0
pfrsqit1 mm0, mm1
addss xmm2, xmm0
pfrsqrt mm1, mm0
mulps xmm0, xmm0
addps xmm2, xmm0
pfmul mm3, mm0
pfrcpit2 mm0, mm4
divps xmm1, xmm2
movaps xmm1, xmm0
pfrsqrt mm1, mm0
movaps xmm1, xmm0
rsqrtss xmm2, xmm2
divps xmm1, xmm2
pfmul mm1, mm1
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [ebp - 0x2c]
and edi, 0xfff
mov esi, dword [ebp - 0x30]
add dword [ebx + edi], esi
mov esi, dword [ecx + 4]
lea edx, [esi - 8]
jmp 0x4053ad
add ecx, esi
jmp 0x403b70
mov edx, dword [ebp - 0x38]
mov edi, dword [edx]
jmp 0x403eca
mov edi, dword [ebp - 0x38]
mov dword [edi + 0x10], 1
jmp 0x404699
test al, al
jne 0x405619
pfmul mm2, mm0
movaps xmm1, xmm0
pfacc mm0, mm0
mulps xmm0, xmm0
movaps xmm1, xmm0
pfmul mm3, mm0
pfmul mm1, mm1
movq mm2, mm0
movq mm4, mm1
rsqrtps xmm0, xmm0
movq mm2, mm0
mov edx, dword [ebp - 0x30]
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x2000
mov eax, dword [edx + 0x50]
mov dword [esp], 0
mov dword [esp + 4], eax
call sub.KERNEL32.dll_VirtualAlloc
mov dword [ebp - 0x44], eax
movzx eax, byte [0x42600c]
sub esp, 0x10
test al, al
jne 0x40569a
sqrtss xmm2, xmm2
pfmul mm1, mm1
mulps xmm0, xmm0
movq mm3, mm1
movaps xmm1, xmm0
mulps xmm0, xmm0
pfrsqrt mm1, mm0
mulps xmm0, xmm0
addps xmm2, xmm0
pfmul mm3, mm0
pfmul mm0, mm0
movss xmm0, xmm2
pfmul mm2, mm0
movaps xmm1, xmm0
shufps xmm2, xmm2, 0x55
pfrsqrt mm1, mm0
movq mm4, mm1
pfadd mm0, mm1
movq mm3, mm1
mulps xmm0, xmm0
addss xmm2, xmm0
mov edi, dword [ebp - 0x44]
test edi, edi
je 0x4059bb
test al, al
jne 0x40328f
rsqrtps xmm0, xmm0
mulps xmm0, xmm0
shufps xmm2, xmm2, 0x55
movaps xmm3, xmm2
mulps xmm1, xmm0
pfmul mm1, mm1
pfmul mm3, mm0
movaps xmm1, xmm0
mulps xmm0, xmm0
pfmul mm1, mm1
movq mm4, mm1
pfmul mm3, mm0
haddps xmm0, xmm0
mulps xmm1, xmm2
movhlps xmm2, xmm0
movq mm4, mm1
shufps xmm2, xmm2, 0
mulps xmm0, xmm0
shufps xmm2, xmm2, 0x55
movaps xmm1, xmm0
mulps xmm3, xmm1
mulps xmm1, xmm0
pfrsqrt mm1, mm0
jmp 0x403247
mov ecx, dword [ecx + 0xa0]
add ecx, dword [ebp - 0x34]
mov byte [ebp - 0x3c], al
jmp 0x403b70
test dl, dl
je 0x405888
mov dword [ebp - 0x40], 0
jmp 0x403f1b
test dl, dl
jne 0x405719
pfrsqit1 mm0, mm1
sqrtss xmm2, xmm2
movq mm4, mm1
subps xmm2, xmm1
mulps xmm2, xmm0
pfmul mm2, mm0
pfmul mm0, mm0
movaps xmm1, xmm0
movhlps xmm2, xmm0
mulps xmm0, xmm0
movhlps xmm2, xmm0
mulps xmm3, xmm1
movq mm4, mm1
haddps xmm0, xmm0
addps xmm2, xmm0
movss xmm0, xmm2
pfmul mm0, mm0
mulps xmm0, xmm0
rsqrtps xmm0, xmm0
mulps xmm0, xmm0
movss xmm0, xmm2
movhlps xmm2, xmm0
mulps xmm1, xmm0
pfmul mm2, mm0
mulps xmm0, xmm0
pfrsqrt mm1, mm0
movhlps xmm2, xmm0
mov dword [ebp - 0x40], 0
jmp 0x4046c8
cmp byte [ebp - 0x30], 0
jne 0x40582d
subps xmm0, xmm1
pfmul mm1, mm1
addss xmm2, xmm0
pfrcpit2 mm0, mm4
movaps xmm1, xmm0
movaps xmm1, xmm0
shufps xmm2, xmm2, 0
rsqrtps xmm0, xmm0
mulps xmm1, xmm2
pfrsqrt mm1, mm0
rsqrtps xmm0, xmm0
movq mm3, mm1
addps xmm2, xmm0
pfmul mm3, mm0
subps xmm0, xmm1
movq mm3, mm1
movaps xmm1, xmm0
pfacc mm0, mm0
mulps xmm3, xmm1
pfmul mm3, mm0
pfmul mm1, mm1
pfmul mm2, mm0
pfrsqit1 mm0, mm1
pfrcpit2 mm0, mm4
pfmul mm1, mm1
movhlps xmm2, xmm0
movaps xmm1, xmm0
pfrcpit2 mm0, mm4
mulps xmm0, xmm0
movaps xmm3, xmm2
pfrcpit2 mm0, mm4
pfmul mm1, mm1
pfmul mm1, mm1
rsqrtss xmm2, xmm2
movq mm3, mm1
movaps xmm1, xmm0
pfadd mm0, mm1
pfmul mm0, mm0
movhlps xmm2, xmm0
subps xmm0, xmm1
pfmul mm2, mm0
addps xmm2, xmm0
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call fcn.004022f0
cmp byte [0x42600c], 0
jne 0x405226
subps xmm0, xmm1
rsqrtps xmm0, xmm0
addps xmm2, xmm0
pfmul mm3, mm0
movss xmm0, xmm2
pfmul mm3, mm0
movaps xmm1, xmm0
rsqrtss xmm2, xmm2
movq mm4, mm1
rsqrtps xmm0, xmm0
shufps xmm2, xmm2, 0x55
movaps xmm1, xmm0
mulps xmm3, xmm1
haddps xmm0, xmm0
xor eax, eax
jmp 0x40469c
movzx eax, byte [0x42600c]
jmp 0x404436
haddps xmm0, xmm0
subps xmm0, xmm1
pfrsqrt mm1, mm0
movaps xmm3, xmm2
pfmul mm2, mm0
rsqrtss xmm2, xmm2
pfadd mm0, mm1
shufps xmm2, xmm2, 0
pfmul mm0, mm0
shufps xmm2, xmm2, 0x55
subps xmm0, xmm1
mulps xmm1, xmm2
pfmul mm1, mm1
pfmul mm1, mm1
movaps xmm3, xmm2
movq mm4, mm1
pfmul mm1, mm1
movss xmm0, xmm2
pfmul mm0, mm0
mulps xmm1, xmm0
haddps xmm0, xmm0
pfacc mm0, mm0
movq mm3, mm1
subps xmm0, xmm1
rsqrtps xmm0, xmm0
addps xmm2, xmm0
pfmul mm0, mm0
divps xmm1, xmm2
sqrtss xmm2, xmm2
movhlps xmm2, xmm0
pfacc mm0, mm0
pfmul mm2, mm0
shufps xmm2, xmm2, 0
rsqrtps xmm0, xmm0
pfrsqit1 mm0, mm1
shufps xmm2, xmm2, 0
shufps xmm2, xmm2, 0x55
addss xmm2, xmm0
mulps xmm1, xmm0
pfrcpit2 mm0, mm4
addss xmm2, xmm0
pfrcpit2 mm0, mm4
mulps xmm0, xmm0
pfadd mm0, mm1
addps xmm2, xmm0
mov dword [ebp - 0x40], 0
jmp 0x4046c8
test dl, dl
jne 0x40582d
addps xmm2, xmm0
movss xmm0, xmm2
movhlps xmm2, xmm0
shufps xmm2, xmm2, 0
pfmul mm3, mm0
pfmul mm2, mm0
mulps xmm0, xmm0
pfrsqrt mm1, mm0
pfmul mm2, mm0
haddps xmm0, xmm0
pfadd mm0, mm1
addps xmm2, xmm0
pfmul mm2, mm0
pfadd mm0, mm1
shufps xmm2, xmm2, 0
haddps xmm0, xmm0
pfrcpit2 mm0, mm4
movaps xmm1, xmm0
subps xmm0, xmm1
pfrcpit2 mm0, mm4
pfmul mm1, mm1
mulps xmm0, xmm0
movaps xmm1, xmm0
movaps xmm1, xmm0
addps xmm2, xmm0
pfrcpit2 mm0, mm4
shufps xmm2, xmm2, 0x55
movq mm3, mm1
pfmul mm0, mm0
pfadd mm0, mm1
sqrtss xmm2, xmm2
mulps xmm3, xmm1
mulps xmm3, xmm1
jmp 0x4057de
test al, al
lea esi, [esi]
jne 0x405226
pfrsqrt mm1, mm0
movaps xmm1, xmm0
haddps xmm0, xmm0
divps xmm1, xmm2
mulps xmm3, xmm1
movaps xmm3, xmm2
haddps xmm0, xmm0
pfacc mm0, mm0
addss xmm2, xmm0
mulps xmm3, xmm1
pfrcpit2 mm0, mm4
movq mm3, mm1
pfrsqrt mm1, mm0
movaps xmm3, xmm2
pfmul mm1, mm1
subps xmm2, xmm1
pfmul mm0, mm0
mulps xmm1, xmm0
addps xmm2, xmm0
mulps xmm3, xmm1
mulps xmm0, xmm0
mulps xmm3, xmm1
subps xmm0, xmm1
shufps xmm2, xmm2, 0
addps xmm2, xmm0
pfacc mm0, mm0
movq mm3, mm1
subps xmm0, xmm1
movq mm3, mm1
divps xmm1, xmm2
pfrsqrt mm1, mm0
pfadd mm0, mm1
pfacc mm0, mm0
pfadd mm0, mm1
mulps xmm1, xmm0
mulps xmm1, xmm0
pfmul mm3, mm0
movaps xmm3, xmm2
pfacc mm0, mm0
mulps xmm2, xmm0
addps xmm2, xmm0
xor eax, eax
jmp 0x40469c