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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov eax, dword [0x105be7d0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, edx
mov dword [ebp - 0x28], ecx
xorps xmm0, xmm0
mov dword [ebp - 0x30], edi
imul eax, dword [edi + 0x78], 0xfc
mov esi, dword [edi]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x3c], esi
add eax, dword [edi + 0x70]
mov dword [ebp - 0x58], 0
movdqu xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x2c], eax
movq qword [ebp - 0x44], xmm0
mov ebx, dword [edi + 0x24]
test ebx, ebx
je 0x10223e23
mov dword [edi + 0x24], 0
mov eax, dword [edi + 0x68]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
cmp eax, 7
ja case.default.0x10223a5d
jmp dword [eax*4 + 0x10223e40]
mov dword [ebp - 0x20], 1
jmp case.default.0x10223a5d
mov dword [ebp - 0x1c], 1
jmp case.default.0x10223a5d
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x20], 1
jmp case.default.0x10223a5d
mov dword [ebp - 0x34], 1
jmp case.default.0x10223a5d
mov dword [ebp - 0x1c], 1
jmp case.0x10223a5d.7
mov dword [ebp - 0x1c], 1
mov dword [ebp - 0x20], 1
mov dword [ebp - 0x24], 1
cmp dword [edi + 0x10], 0
jle 0x10223ac1
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov ecx, dword [esi + 0xc]
call fcn.101df6d0
test eax, eax
je 0x10223d87
mov edx, dword [esi + 0xc]
push 0
mov ecx, dword [edx]
shl ecx, 4
add ecx, dword [edx]
add edx, 8
lea eax, [edx + ecx*4]
push eax
call sub.MSVCR120.dll__setjmp3
mov ecx, dword [ebp - 0x3c]
add esp, 8
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x18], ecx
mov esi, dword [ecx + 0xc]
mov edx, dword [esi]
shl edx, 4
add edx, dword [esi]
mov dword [esi + edx*4 + 4], eax
test eax, eax
jne 0x10223d81
movdqu xmm0, xmmword [edi + 0x28]
mov edx, dword [ebp - 0x2c]
lea ecx, [ebp - 0x14]
movdqu xmmword [ebp - 0x14], xmm0
call fcn.101e0910
mov ebx, dword [ebp - 0x38]
cmp dword [ebx + 0x20], 0
je 0x10223d84
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x58]
push eax
mov edx, edi
call fcn.10221cc0
add esp, 4
mov ecx, dword [eax + 0xb0]
test ecx, ecx
jne 0x10223b50
cmp dword [eax + 0xf4], ecx
je 0x10223b6b
push ecx
mov dword [esp], 0x3f800000
lea edx, [ebp - 0x14]
push ecx
mov ecx, dword [edi + 4]
push 0
push 1
call fcn.101f2e40
add esp, 0x10
imul esi, dword [edi + 0x78], 0xfc
add esi, dword [edi + 0x70]
cmp dword [ebp - 0x34], 0
mov dword [ebp - 0x2c], esi
je 0x10223b96
mov eax, dword [edi + 4]
cmp dword [eax + 0x74], 0
jne 0x10223b96
mov ecx, dword [eax + 0x40]
test ecx, ecx
je 0x10223b96
push esi
push ebx
push eax
call ecx
add esp, 0xc
cmp dword [ebp - 0x20], 0
je 0x10223c6d
mov eax, dword [esi + 0x58]
dec eax
je 0x10223c43
dec eax
je 0x10223c05
dec eax
jne 0x10223c6d
cmp dword [esi + 0x64], eax
je 0x10223c6d
mov ecx, dword [edi + 4]
mov edx, ebx
push eax
push esi
call fcn.101f2890
mov ecx, dword [edi + 4]
add esp, 8
cmp dword [ecx + 0x74], 0
jne 0x10223bfb
mov edx, dword [ecx + 0x44]
test edx, edx
je 0x10223bfb
imul eax, dword [esi + 0x68], 0xfc
movss xmm0, dword [esi + 0x6c]
push ecx
movss dword [esp], xmm0
add eax, dword [edi + 0x70]
push eax
push dword [esi + 0x64]
push ecx
call edx
add esp, 0x10
mov ecx, dword [edi + 4]
call fcn.101f2b00
jmp 0x10223c6d
cmp dword [esi + 0x60], 0
je 0x10223c6d
mov ecx, dword [edi + 4]
mov edx, ebx
push 0
push esi
call fcn.101f2890
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x14]
push 0
push eax
imul eax, dword [esi + 0x68], 0xfc
mov edx, edi
add eax, dword [edi + 0x70]
push eax
push dword [esi + 0x60]
call fcn.10222890
mov ecx, dword [edi + 4]
add esp, 0x18
call fcn.101f2b00
jmp 0x10223c6d
mov ecx, dword [edi + 4]
cmp dword [ecx + 0x74], 0
jne 0x10223c6d
mov edx, dword [ecx + 0x30]
test edx, edx
je 0x10223c6d
movss xmm0, dword [esi + 0x6c]
lea eax, [esi + 0x70]
push ecx
movss dword [esp], xmm0
push eax
push dword [esi + 0x5c]
push esi
push ebx
push ecx
call edx
add esp, 0x18
cmp dword [ebp - 0x1c], 0
je 0x10223d4a
mov eax, dword [esi + 0x20]
dec eax
je 0x10223d1d
dec eax
je 0x10223cde
dec eax
jne 0x10223d4a
cmp dword [esi + 0x2c], eax
je 0x10223d4a
mov ecx, dword [edi + 4]
mov edx, ebx
push esi
push dword [esi + 0x1c]
call fcn.101f29e0
mov ecx, dword [edi + 4]
add esp, 8
cmp dword [ecx + 0x74], 0
jne 0x10223cd4
mov edx, dword [ecx + 0x44]
test edx, edx
je 0x10223cd4
imul eax, dword [esi + 0x30], 0xfc
movss xmm0, dword [esi + 0x34]
push ecx
movss dword [esp], xmm0
add eax, dword [edi + 0x70]
push eax
push dword [esi + 0x2c]
push ecx
call edx
add esp, 0x10
mov ecx, dword [edi + 4]
call fcn.101f2b00
jmp 0x10223d4a
cmp dword [esi + 0x28], 0
je 0x10223d4a
mov ecx, dword [edi + 4]
mov edx, ebx
push esi
push dword [esi + 0x1c]
call fcn.101f29e0
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x14]
push 1
push eax
imul eax, dword [esi + 0x30], 0xfc
mov edx, edi
add eax, dword [edi + 0x70]
push eax
push dword [esi + 0x28]
call fcn.10222890
mov ecx, dword [edi + 4]
add esp, 0x18
call fcn.101f2b00
jmp 0x10223d4a
mov ecx, dword [edi + 4]
cmp dword [ecx + 0x74], 0
jne 0x10223d4a
mov edx, dword [ecx + 0x34]
test edx, edx
je 0x10223d4a
movss xmm0, dword [esi + 0x34]
lea eax, [esi + 0x38]
push ecx
movss dword [esp], xmm0
push eax
push dword [esi + 0x24]
push esi
push dword [esi + 0x1c]
push ebx
push ecx
call edx
add esp, 0x1c
lea eax, [ebp - 0x58]
mov edx, edi
push eax
call fcn.10221f40
add esp, 4
cmp dword [ebp - 0x24], 0
je 0x10223d84
cmp dword [edi + 0x6c], 2
jge 0x10223d67
inc dword [esi + 0x18]
push dword [edi + 0x6c]
mov ecx, dword [edi + 4]
mov edx, ebx
push esi
call fcn.101f2890
add esp, 8
mov dword [edi + 0x6c], 2
jmp 0x10223d84
mov ebx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x18]
mov edx, dword [esi + 0xc]
mov ecx, dword [edx]
shl ecx, 4
add ecx, dword [edx]
cmp dword [edx + ecx*4 + 4], 3
jge 0x10223dff
inc dword [edx + ecx*4 + 4]
test ebx, ebx
je 0x10223dda
mov edx, dword [ebx]
mov ecx, esi
call fcn.1022ebf0
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx + 0x28]
push 0
mov eax, dword [eax + 4]
push dword [eax]
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebp - 0x18]
push esi
mov eax, dword [eax]
push dword [eax]
mov eax, dword [eax + 0xc]
call eax
mov esi, dword [ebp - 0x18]
push 0
mov eax, dword [esi + 4]
push dword [eax]
mov eax, dword [eax + 8]
call eax
add esp, 0x18
mov eax, dword [esi + 4]
push 0
push dword [eax]
mov eax, dword [eax + 4]
call eax
mov eax, dword [esi]
push ebx
push dword [eax]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [esi + 4]
push 0
push dword [eax]
mov eax, dword [eax + 8]
call eax
add esp, 0x18
mov esi, dword [esi + 0xc]
mov edx, dword [esi]
mov eax, edx
shl eax, 4
add eax, edx
mov ecx, dword [esi + eax*4 + 4]
lea eax, [edx - 1]
mov dword [esi], eax
cmp ecx, 1
jg 0x10223e34
imul eax, dword [edi + 0x78], 0xfc
add eax, dword [edi + 0x70]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1033d458
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax + 0xc]
call fcn.101df680
nop
cmp ah, byte fs:[edx]
adc byte [ebp + 58], ch
and dl, byte [eax]
jbe 0x10223e84
and dl, byte [eax]
xchg byte [edx], bh
and dl, byte [eax]
lahf
cmp ah, byte [edx]
adc byte [edi - 0x67efddc6], cl
cmp ah, byte [edx]
adc byte [esi + 0x5510223a], ah
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xf8
mov eax, dword [0x105be7d0]
xor eax, esp
mov dword [esp + 0xf4], eax
push esi
push edi
mov edi, edx
mov dword [esp + 0x80], ecx
mov edx, dword [ebp + 8]
mov dword [esp + 0x8c], edx
mov eax, dword [edi]
mov dword [esp + 0x54], eax
add byte [ebx - 0x6b76f7ab], cl
and al, 0x8c
add byte [eax], al
add byte [ebx + 0x24448907], cl
push esp
imul eax, dword [edi + 0x78], 0xfc
add eax, dword [edi + 0x70]
mov dword [esp + 0x4c], eax
movss xmm1, dword [eax + 0xa4]
movss xmm0, dword [eax + 0x98]
mov esi, dword [eax + 0xa0]
mulss xmm0, xmm1
mov dword [esp + 0x88], esi
movss dword [esp + 0xc], xmm1
mov ecx, dword [esi + 0x3c]
movss dword [esp + 0x50], xmm0
xorps xmm0, xmm0
movss dword [esp + 0x58], xmm0
movss xmm0, dword [eax + 0xac]
movss dword [esp + 0x30], xmm0
test ecx, ecx
je 0x10223f14
lea eax, [esp + 0xdc]
push eax
call fcn.1026f410
add esp, 4
mov dword [esp + 0x6c], eax
test eax, eax
je 0x10223f14
cmp eax, 1
jne 0x10223f46
mov ecx, dword [esp + 0xdc]
jmp 0x10223f2f
cmp edx, dword [esi + 0x40]
jge 0x10223f33
mov eax, dword [esi + 0x44]
mov dword [esp + 0x6c], 1
movzx ecx, word [eax + edx*2]
mov dword [esp + 0xdc], ecx
test ecx, ecx
jne 0x10223f46
mov dword [esp + 0xdc], 0x3f
mov dword [esp + 0x6c], 1
mov eax, dword [esi + 0xc]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x10], eax
test eax, eax
je 0x10223f95
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x10223f73
call fcn.1026f350
mov ecx, dword [esp + 0x10]
mov edx, eax
call fcn.102395e0
mov ecx, eax
mov dword [esp + 0x2c], ecx
jmp 0x10223f9b
mov eax, dword [esi + 0x38]
test eax, eax
je 0x10223f8d
cmp edx, dword [esi + 0x34]
jge 0x10223f8d
test edx, edx
js 0x10223f8d
movzx ecx, word [eax + edx*2]
mov dword [esp + 0x2c], ecx
jmp 0x10223f9b
mov ecx, edx
mov dword [esp + 0x2c], ecx
jmp 0x10223f9b
mov ecx, edx
mov dword [esp + 0x2c], edx
cmp dword [esi + 0x48], 1
jne 0x10223fc1
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x24], 0
je 0x10223fbd
push ecx
mov ecx, dword [esp + 0x58]
mov edx, esi
call fcn.1026ec20
add esp, 4
mov dword [esp + 0x2c], eax
cmp dword [esi + 0x48], 1
movss xmm3, dword [0x1058888c]
jne 0x10224060
push dword [esp + 0x8c]
lea eax, [esp + 0xcc]
mov edx, esi
push eax
call fcn.1026f740
add esp, 8
xorps xmm6, xmm6
movaps xmm4, xmm6
movq xmm0, qword [eax]
mov ax, word [eax + 8]
mov word [esp + 0x5e], ax
mov eax, dword [esp + 0x4c]
movq qword [esp + 0xbc], xmm0
movss xmm2, dword [eax + 0xa4]
movsx eax, word [esp + 0xc0]
cvtps2pd xmm0, xmm2
andpd xmm0, xmmword [0x105890c0]
cvtpd2ps xmm1, xmm0
movd xmm0, eax
mov eax, dword [esp + 0xc0]
cvtdq2ps xmm0, xmm0
shr eax, 0x10
cwde
mulss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm3
mulss xmm0, xmm2
subss xmm4, xmm1
mulss xmm0, xmm3
movss xmm3, dword [esp + 0x30]
subss xmm3, xmm0
jmp 0x1022407c
mov ax, word [esp + 0xc4]
xorps xmm6, xmm6
movss xmm3, dword [esp + 0x30]
movss xmm4, dword [esp + 0x58]
mov word [esp + 0x5e], ax
movss xmm2, dword [edi + 0x58]
lea eax, [esp + 0x70]
movss xmm7, dword [edi + 0x50]
movaps xmm0, xmm2
mulss xmm0, xmm6
movaps xmm1, xmm7
mov edx, dword [esi + 0xc]
mulss xmm1, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
push eax
lea eax, [esp + 0x94]
addss xmm1, xmm0
movss xmm0, dword [edi + 0x54]
movss dword [esp + 0x6c], xmm0
mulss xmm0, dword [esp + 0x54]
push eax
push dword [esp + 0x34]
movss dword [esp + 0x9c], xmm1
movss dword [esp + 0x5c], xmm0
movss xmm5, dword [esp + 0x5c]
movss dword [esp + 0x1c], xmm1
movss xmm1, dword [edi + 0x5c]
movaps xmm0, xmm1
mulss xmm0, xmm6
addss xmm5, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0x18]
mulss xmm2, xmm3
movss dword [esp + 0x6c], xmm0
movaps xmm0, xmm7
mulss xmm0, xmm6
movss dword [esp + 0xa0], xmm5
movss dword [esp + 0x5c], xmm5
movss xmm5, dword [esp + 0x6c]
addss xmm5, xmm0
mulss xmm7, xmm4
addss xmm7, xmm2
movss xmm0, xmm5
movss dword [esp + 0x6c], xmm5
movss xmm5, dword [esp + 0x74]
movss dword [esp + 0xa4], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0x18]
addss xmm7, dword [edi + 0x60]
mulss xmm1, xmm3
movss dword [esp + 0x64], xmm0
movaps xmm0, xmm5
mulss xmm0, xmm6
movss xmm6, dword [esp + 0x64]
mulss xmm5, xmm4
addss xmm6, xmm0
movss dword [esp + 0x3c], xmm7
addss xmm5, xmm1
movss dword [esp + 0xa8], xmm6
movdqa xmm0, xmmword [esp + 0x9c]
addss xmm5, dword [edi + 0x64]
movdqa xmmword [esp + 0x9c], xmm0
movss xmm0, xmm7
movss dword [esp + 0x64], xmm6
unpcklps xmm0, xmm5
movss dword [esp + 0x74], xmm5
movq qword [esp + 0xac], xmm0
call fcn.102313d0
movss xmm0, dword [0x10588970]
add esp, 0xc
movss xmm5, dword [esp + 0x70]
movss xmm4, dword [esp + 0x74]
subss xmm5, xmm0
movss xmm6, dword [esp + 0x78]
subss xmm4, xmm0
movss xmm3, dword [esp + 0x7c]
addss xmm6, xmm0
addss xmm3, xmm0
movss dword [esp + 0x70], xmm5
movss dword [esp + 0x74], xmm4
movss dword [esp + 0x78], xmm6
movss dword [esp + 0x7c], xmm3
mov edx, dword [esi + 0xc]
cmp dword [edx + 0x24], 0
jne 0x10224214
cmp dword [edi + 0xc], 0
jg 0x1022423f
cmp dword [edx + 0x5c], 0
je 0x10224249
mov ecx, dword [edx + 0x68]
test ecx, ecx
je 0x10224249
mov eax, dword [esp + 0x2c]
test eax, eax
js 0x10224249
cmp eax, dword [edx + 0x8c]
jge 0x10224249
movsx eax, byte [ecx + eax]
shr eax, 2
not eax
and eax, 1
jne 0x10224249
mov dword [esp + 0xc], 1
jmp 0x10224251
mov dword [esp + 0xc], 0
mov ecx, dword [edi + 0x24]
test ecx, ecx
je 0x10224306
cmp edx, dword [ecx]
jne 0x10224306
mov eax, dword [esi + 0x48]
cmp eax, dword [ecx + 0x1c]
jne 0x10224306
movss xmm0, dword [esp + 0x10]
subss xmm0, dword [ecx + 4]
movsd xmm2, qword [0x105890c0]
movss xmm1, dword [0x1058887c]
cvtps2pd xmm0, xmm0
andpd xmm0, xmm2
cvtpd2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x10224306
movss xmm0, dword [esp + 0x50]
subss xmm0, dword [ecx + 8]
cvtps2pd xmm0, xmm0
andpd xmm0, xmm2
cvtpd2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x10224306
movss xmm0, dword [esp + 0x60]
subss xmm0, dword [ecx + 0xc]
cvtps2pd xmm0, xmm0
andpd xmm0, xmm2
cvtpd2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x10224306
movss xmm0, dword [esp + 0x58]
subss xmm0, dword [ecx + 0x10]
cvtps2pd xmm0, xmm0
andpd xmm0, xmm2
cvtpd2ps xmm0, xmm0
comiss xmm0, xmm1
ja 0x10224306
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0xa8]
cmp eax, dword [edi + 0x68]
jne 0x10224306
cmp dword [esp + 0xc], 0
je 0x10224483
mov ecx, dword [esp + 0x80]
mov edx, edi
call fcn.102239e0
push dword [esi + 0x48]
mov edx, dword [esi + 0xc]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x50], eax
lea eax, [esp + 0x94]
push eax
call fcn.10229210
mov ecx, dword [esp + 0x54]
add esp, 8
cmp dword [esp + 0xc], 0
mov dword [edi + 0x24], eax
mov dword [eax + 0x14], 0
mov eax, dword [edi + 0x24]
mov dword [eax + 0x18], 0
mov eax, dword [ecx + 0xa8]
mov dword [edi + 0x68], eax
movdqu xmm0, xmmword [0x10368b10]
movdqu xmmword [edi + 0x28], xmm0
je 0x1022446b
movss xmm5, dword [ecx]
lea eax, [esp + 0x90]
movss xmm3, dword [ecx + 8]
movaps xmm1, xmm5
mulss xmm1, dword [esp + 0x10]
movaps xmm0, xmm3
mov edx, dword [edi + 4]
mulss xmm0, dword [esp + 0x50]
movss xmm2, dword [ecx + 0xc]
movss xmm4, dword [ecx + 4]
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0x50]
push dword [edi + 0xc]
movss dword [esp + 0x94], xmm1
movaps xmm1, xmm4
mulss xmm1, dword [esp + 0x14]
push ecx
push eax
push dword [esp + 0x38]
addss xmm1, xmm0
movaps xmm0, xmm3
mulss xmm0, dword [esp + 0x68]
mulss xmm3, dword [esp + 0x78]
movss dword [esp + 0xa4], xmm1
movaps xmm1, xmm5
mulss xmm1, dword [esp + 0x70]
mulss xmm5, dword [esp + 0x40]
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm2, dword [esp + 0x78]
mulss xmm0, dword [esp + 0x68]
addss xmm5, xmm3
push dword [esi + 0xc]
movss dword [esp + 0xac], xmm1
movaps xmm1, xmm4
mulss xmm4, dword [esp + 0x44]
mulss xmm1, dword [esp + 0x74]
addss xmm5, dword [ecx + 0x10]
addss xmm4, xmm2
addss xmm1, xmm0
addss xmm4, dword [ecx + 0x14]
mov ecx, dword [esp + 0x68]
movss dword [esp + 0xb0], xmm1
movdqa xmm0, xmmword [esp + 0xa4]
movdqa xmmword [esp + 0xa4], xmm0
unpcklps xmm5, xmm4
movq qword [esp + 0xb4], xmm5
call fcn.10231320
add esp, 0x14
mov dword [edi + 0x68], 3
movss xmm5, dword [esp + 0x70]
movss xmm4, dword [esp + 0x74]
movss xmm6, dword [esp + 0x78]
movss xmm3, dword [esp + 0x7c]
ucomiss xmm5, xmm6
lahf
test ah, 0x44
jnp 0x10224504
ucomiss xmm4, xmm3
lahf
test ah, 0x44
jnp 0x10224504
movss xmm0, dword [edi + 0x28]
movss xmm1, dword [edi + 0x30]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x102244f9
movss xmm2, dword [edi + 0x2c]
movss xmm7, dword [edi + 0x34]
ucomiss xmm2, xmm7
lahf
test ah, 0x44
jnp 0x102244f9
comiss xmm0, xmm1
ja 0x10224504
comiss xmm2, xmm7
ja 0x10224504
comiss xmm5, xmm6
ja 0x102244f9
comiss xmm4, xmm3
ja 0x102244f9
comiss xmm0, xmm5
jbe 0x102244d9
movss dword [edi + 0x28], xmm5
comiss xmm2, xmm4
jbe 0x102244e3
movss dword [edi + 0x2c], xmm4
comiss xmm6, xmm1
jbe 0x102244ed
movss dword [edi + 0x30], xmm6
comiss xmm3, xmm7
jbe 0x10224504
movss dword [edi + 0x34], xmm3
jmp 0x10224504
movdqu xmm0, xmmword [esp + 0x70]
movdqu xmmword [edi + 0x28], xmm0
mov edx, dword [edi + 0x24]
mov dword [esp + 0x10], edx
mov eax, dword [edx + 0x20]
mov ecx, dword [edx + 0x24]
inc eax
mov dword [esp + 0xc], ecx
cmp eax, ecx
jl 0x10224566
jle 0x10224546
sub eax, ecx
dec eax
mov dword [esp + 0x80], eax
mov eax, 0x38e38e39
mul dword [esp + 0x80]
shr edx, 3
lea eax, [edx + edx*8]
mov edx, dword [esp + 0x10]
lea ecx, [ecx + eax*4]
add ecx, 0x24
mov dword [esp + 0xc], ecx
mov edx, dword [edx + 0x28]
push 0x10
push ecx
mov ecx, dword [esp + 0x5c]
call fcn.101f3330
mov edx, dword [esp + 0x18]
add esp, 8
mov dword [edx + 0x28], eax
mov eax, dword [esp + 0xc]
mov dword [edx + 0x24], eax
mov ecx, dword [edx + 0x20]
mov eax, dword [edx + 0x28]
add ecx, ecx
mov esi, dword [esp + 0xdc]
movss xmm0, dword [esp + 0x30]
movss xmm1, dword [esp + 0x68]
mov dword [eax + ecx*8 + 0xc], esi
mov ecx, dword [edx + 0x20]
mov eax, dword [edx + 0x28]
add ecx, ecx
mov esi, dword [esp + 0x2c]
mov dword [eax + ecx*8 + 8], esi
mov ecx, dword [edx + 0x20]
mov eax, dword [edx + 0x28]
add ecx, ecx
mov esi, dword [esp + 0x88]
movss dword [eax + ecx*8], xmm0
mov ecx, dword [edx + 0x20]
mov eax, dword [edx + 0x28]
add ecx, ecx
movss dword [eax + ecx*8 + 4], xmm1
mov eax, 1
inc dword [edx + 0x20]
mov dword [esp + 0xc], eax
cmp dword [esp + 0x6c], eax
jle 0x1022468f
lea ecx, [ecx]
mov esi, dword [edi + 0x24]
mov eax, dword [esp + eax*4 + 0xdc]
mov dword [esp + 0x80], eax
mov edx, dword [esi + 0x20]
mov ecx, dword [esi + 0x24]
inc edx
mov dword [esp + 0x10], ecx
cmp edx, ecx
jl 0x10224634
jle 0x1022460c
sub edx, ecx
mov eax, 0x38e38e39
dec edx
mul edx
shr edx, 3
lea eax, [edx + edx*8]
lea ecx, [ecx + eax*4]
add ecx, 0x24
mov dword [esp + 0x10], ecx
mov edx, dword [esi + 0x28]
push 0x10
push ecx
mov ecx, dword [esp + 0x5c]
call fcn.101f3330
movss xmm0, dword [esp + 0x38]
add esp, 8
movss xmm1, dword [esp + 0x68]
mov dword [esi + 0x28], eax
mov eax, dword [esp + 0x10]
mov dword [esi + 0x24], eax
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x28]
add ecx, ecx
mov edx, dword [esp + 0x80]
mov dword [eax + ecx*8 + 0xc], edx
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x28]
add ecx, ecx
mov dword [eax + ecx*8 + 8], 0xffffffff
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x28]
add ecx, ecx
movss dword [eax + ecx*8], xmm0
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x28]
add ecx, ecx
movss dword [eax + ecx*8 + 4], xmm1
mov eax, dword [esp + 0xc]
inc dword [esi + 0x20]
inc eax
mov dword [esp + 0xc], eax
cmp eax, dword [esp + 0x6c]
jl 0x102245d0
mov esi, dword [esp + 0x88]
cmp dword [esi + 0x48], 0
jne 0x10224725
push dword [esp + 0x8c]
mov edx, esi
call fcn.1026f6e0
movss xmm4, dword [0x1058888c]
xorps xmm3, xmm3
mov ecx, dword [esp + 0x50]
add esp, 4
movss xmm1, dword [edi + 0x50]
movss xmm0, dword [edi + 0x58]
movd xmm2, edx
cvtdq2ps xmm2, xmm2
mov dword [esp + 0x80], eax
mulss xmm0, xmm3
mulss xmm2, xmm4
mulss xmm2, dword [ecx + 0xa4]
addss xmm2, dword [ecx + 0x90]
mulss xmm2, dword [ecx + 0x98]
mulss xmm1, xmm2
addss xmm1, xmm0
movss xmm0, dword [edi + 0x5c]
mulss xmm0, xmm3
addss xmm1, dword [edi + 0x60]
movss dword [edi + 0x60], xmm1
movss xmm1, dword [edi + 0x54]
mulss xmm1, xmm2
addss xmm1, xmm0
addss xmm1, dword [edi + 0x64]
movss dword [edi + 0x64], xmm1
jmp 0x10224734
movss xmm4, dword [0x1058888c]
xorps xmm3, xmm3
mov ecx, dword [esp + 0x4c]
cmp dword [esi + 0x48], 1
jne 0x1022479b
mov ax, word [esp + 0x5e]
movss xmm1, dword [edi + 0x58]
movss xmm0, dword [edi + 0x50]
cwde
mulss xmm0, xmm3
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm4
mulss xmm2, dword [ecx + 0xa4]
addss xmm2, dword [ecx + 0x90]
mulss xmm1, xmm2
addss xmm1, xmm0
movss xmm0, dword [edi + 0x54]
mulss xmm0, xmm3
addss xmm1, dword [edi + 0x60]
movss dword [edi + 0x60], xmm1
movss xmm1, dword [edi + 0x5c]
mulss xmm1, xmm2
addss xmm1, xmm0
addss xmm1, dword [edi + 0x64]
movss dword [edi + 0x64], xmm1
mov ecx, dword [esp + 0xfc]
pop edi
pop esi
xor ecx, esp
call fcn.1033d458
mov esp, ebp
pop ebp
ret