Function at 0x1024af70
Capabilities:
Hash data with crc32
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x180
mov ecx, dword [ebp + 8]
mov eax, dword [0x1042dd60]
mov dword [esp + 0x18], eax
mov bl, byte [ecx]
test bl, bl
je 0x1024afd6
add ecx, 2
mov edx, 0xffffffff
mov eax, 0xffffffff
jmp 0x1024afbb
movzx esi, bl
movzx edi, al
shr eax, 8
xor edi, esi
xor eax, dword [edi*4 + 0x10359ccc]
add ecx, 1
mov bl, bh
test bh, bh
je 0x1024afd2
mov bh, byte [ecx - 1]
cmp bl, 0x23
jne 0x1024afa0
cmp bh, 0x23
jne 0x1024afa0
cmp byte [ecx], 0x23
cmove eax, edx
mov bh, 0x23
jmp 0x1024afa0
not eax
jmp 0x1024afd8
xor eax, eax
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx + 0x19a4]
mov esi, dword [ecx + 0x19ac]
mov ecx, esi
mov edx, edi
mov dword [esp + 0x10], edi
test edi, edi
je 0x1024b01d
mov ecx, esi
mov edx, dword [esp + 0x10]
nop word [eax + eax]
mov edi, edx
shr edi, 1
mov ebx, edi
not ebx
add ebx, edx
cmp dword [ecx + edi*8], eax
cmovae ebx, edi
lea edx, [ecx + edi*8 + 8]
cmovb ecx, edx
mov edx, ebx
test ebx, ebx
jne 0x1024b000
mov edi, dword [ebp + 0x10]
mov edx, dword [esp + 0x10]
lea edx, [esi + edx*8]
cmp ecx, edx
mov esi, dword [esp + 0x18]
je 0x1024b050
cmp dword [ecx], eax
jne 0x1024b050
mov eax, dword [ecx + 4]
mov dword [esp + 0x80], 0
mov dword [esp + 0x90], 0
test eax, eax
jne 0x1024b08b
xorps xmm0, xmm0
test byte [esi + 0x1a30], 2
xorps xmm1, xmm1
mov ecx, dword [ebp + 8]
je 0x1024b072
movss xmm0, dword [esi + 0x1a50]
movss xmm1, dword [esi + 0x1a54]
mov edx, edi
call fcn.10249180
mov cl, 1
mov dword [esp + 0x80], ecx
mov cl, 1
mov dword [esp + 0x90], ecx
mov ecx, edi
not ecx
mov edx, edi
or edx, 6
test ecx, 0xc0200
cmovne edx, edi
mov esi, dword [esi + 0x1968]
mov ecx, dword [eax + 0xa8]
mov dword [esp + 0x50], ecx
mov edi, dword [eax + 0x230]
lea ecx, [esi - 1]
mov dword [esp + 0x70], edi
cmp edi, ecx
setl bl
mov dword [esp + 0x10], edx
test edx, 0x4000000
mov edi, eax
mov dword [esp + 0xcc], esi
je 0x1024b10c
cmp dword [esp + 0x70], ecx
setl al
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x1ac4]
mov edx, dword [edx + 0x1ac8]
mov esi, dword [edi + 0x8c]
lea edx, [edx + edx*8]
cmp esi, dword [ecx + edx*4]
mov esi, dword [esp + 0xcc]
setne ah
cmp edi, dword [ecx + edx*4 + 4]
setne bl
or bl, ah
or bl, al
cmp dword [esp + 0x50], 0
setg al
or al, bl
mov byte [edi + 0x80], al
cmp al, 1
jne 0x1024b135
or byte [edi + 0xac], 8
or byte [edi + 0xb0], 8
or byte [edi + 0xb4], 8
cmp dword [esp + 0x70], esi
mov eax, dword [esp + 0x10]
mov byte [esp + 0x2b], bl
jne 0x1024b150
mov eax, dword [edi + 8]
mov dword [esp + 0x10], eax
mov ebx, dword [esp + 0x18]
jmp 0x1024b17c
mov dword [edi + 8], eax
mov dword [edi + 0x230], esi
mov word [edi + 0x86], 0
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 0x19b0]
lea ecx, [eax + 1]
mov dword [ebx + 0x19b0], ecx
mov word [edi + 0x88], ax
mov eax, dword [ebx + 0x1998]
test eax, eax
je 0x1024b19e
mov ecx, dword [ebx + 0x19a0]
mov edx, dword [ecx + eax*4 - 4]
cmp dword [esp + 0x70], esi
jne 0x1024b1a6
mov edx, dword [edi + 0x2f8]
jmp 0x1024b1b3
xor edx, edx
cmp dword [esp + 0x70], esi
je 0x1024b196
mov ecx, dword [esp + 0x10]
and ecx, 0x5000000
cmove edx, ecx
mov dword [esp + 0x20], edx
cmp eax, dword [ebx + 0x199c]
mov dword [esp + 0xc], edi
jne 0x1024b276
lea esi, [eax + 1]
test eax, eax
je 0x1024b1db
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1024b1e0
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x1024b276
lea eax, [esi*4]
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024b205
add dword [ecx + 0x374], 1
push dword [0x1042dd68]
push eax
call dword [0x103c556c]
add esp, 8
mov edi, eax
mov eax, dword [ebx + 0x19a0]
test eax, eax
je 0x1024b260
mov ecx, dword [ebx + 0x1998]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x19a0]
test eax, eax
je 0x1024b250
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024b250
add dword [ecx + 0x374], 0xffffffff
push dword [0x1042dd68]
push eax
call dword [0x103c5570]
add esp, 8
mov dword [ebx + 0x19a0], edi
mov dword [ebx + 0x199c], esi
mov eax, dword [ebx + 0x1998]
mov edi, dword [esp + 0xc]
mov ecx, dword [ebx + 0x19a0]
mov dword [ecx + eax*4], edi
add dword [ebx + 0x1998], 1
mov dword [ebx + 0x19b4], 0
mov eax, dword [0x1042dd60]
movzx ecx, word [edi + 0x19c]
movzx edx, word [edi + 0x1c4]
mov word [edi + 0x1a8], dx
mov word [edi + 0x1aa], cx
movzx ecx, word [eax + 0x1ac8]
mov word [edi + 0x1ac], cx
movzx ecx, word [eax + 0x1a98]
mov word [edi + 0x1ae], cx
movzx ecx, word [eax + 0x1aa4]
mov word [edi + 0x1b0], cx
movzx eax, word [eax + 0x1ab0]
mov word [edi + 0x1b2], ax
mov eax, dword [esp + 0x10]
test eax, 0x4000000
je 0x1024b41a
mov eax, dword [ebx + 0x1ac4]
mov ecx, dword [ebx + 0x1ac8]
lea ecx, [ecx + ecx*8]
lea esi, [eax + ecx*4]
mov dword [eax + ecx*4 + 4], edi
mov eax, dword [ebx + 0x1ac8]
cmp eax, dword [ebx + 0x1acc]
jne 0x1024b3e3
lea ebx, [eax + 1]
test eax, eax
je 0x1024b334
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1024b339
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
cmp eax, ebx
jge 0x1024b3e3
lea eax, [ebx*4]
lea eax, [eax + eax*8]
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024b361
add dword [ecx + 0x374], 1
push dword [0x1042dd68]
push eax
call dword [0x103c556c]
add esp, 8
mov edi, dword [esp + 0x18]
mov edx, dword [edi + 0x1ad0]
test edx, edx
je 0x1024b3cd
mov ecx, dword [edi + 0x1ac8]
shl ecx, 2
lea ecx, [ecx + ecx*8]
push ecx
push edx
mov dword [esp + 0x1c], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x1ad0]
test eax, eax
je 0x1024b3b5
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024b3b5
add dword [ecx + 0x374], 0xffffffff
push dword [0x1042dd68]
push eax
call dword [0x103c5570]
add esp, 8
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov dword [edi + 0x1ad0], eax
mov dword [edi + 0x1acc], ebx
mov eax, dword [edi + 0x1ac8]
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x18]
mov ecx, dword [ebx + 0x1ad0]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x20]
mov dword [ecx + eax*4 + 0x20], edx
movups xmm0, xmmword [esi]
movups xmm1, xmmword [esi + 0x10]
movups xmmword [ecx + eax*4 + 0x10], xmm1
movups xmmword [ecx + eax*4], xmm0
add dword [ebx + 0x1ac8], 1
mov eax, dword [esi]
mov dword [edi + 0x8c], eax
mov eax, dword [esp + 0x10]
and eax, 0x1000000
cmp dword [esp + 0x50], 0
jle 0x1024b434
test eax, eax
jne 0x1024b434
mov dword [edi + 0x30c], 0
test byte [ebx + 0x1a30], 1
mov esi, dword [esp + 0xcc]
mov dword [esp + 0x14], eax
jne 0x1024b472
mov dword [esp + 0x2c], 0
test byte [ebx + 0x1a30], 2
jne 0x1024b589
mov dword [esp + 0x1c], 0
mov dword [esp + 0x24], 0
jmp 0x1024b659
mov eax, dword [edi + 0xac]
mov ecx, dword [ebx + 0x1a34]
test ecx, eax
setne dl
mov dword [esp + 0x2c], edx
je 0x1024b4f1
movsd xmm0, qword [ebx + 0x1a48]
mulps xmm0, xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
addss xmm1, xmm0
ucomiss xmm1, dword [0x1035755c]
jbe 0x1024b4f9
movsd xmm0, qword [ebx + 0x1a40]
movsd qword [edi + 0xb8], xmm0
mov ecx, dword [ebx + 0x1a48]
mov edx, dword [ebx + 0x1a4c]
mov dword [edi + 0xc4], edx
mov dword [edi + 0xc0], ecx
and eax, 0xfffffff1
mov dword [edi + 0xac], eax
mov al, 1
mov dword [esp + 0x2c], eax
test byte [ebx + 0x1a30], 2
jne 0x1024b589
jmp 0x1024b45d
test ecx, ecx
jne 0x1024b448
and eax, 0xfffffff1
mov dword [edi + 0xac], eax
mov dword [edi + 0xb8], 0x7f7fffff
mov dword [edi + 0xbc], 0x7f7fffff
movsd xmm0, qword [edi + 0xc]
movsd xmm1, qword [ebx + 0x1a40]
cvttps2dq xmm1, xmm1
cvtdq2ps xmm1, xmm1
movss dword [edi + 0xc], xmm1
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
movss dword [edi + 0x10], xmm2
subps xmm1, xmm0
movaps xmm0, xmm1
movlhps xmm0, xmm1
movaps xmm2, xmm1
addss xmm1, dword [edi + 0xc8]
shufps xmm2, xmm2, 0x55
movss dword [edi + 0xc8], xmm1
addss xmm2, dword [edi + 0xcc]
movss dword [edi + 0xcc], xmm2
movups xmm1, xmmword [edi + 0xd8]
addps xmm1, xmm0
movups xmmword [edi + 0xd8], xmm1
test byte [ebx + 0x1a30], 2
je 0x1024b45d
mov eax, dword [edi + 0xb0]
mov ecx, dword [ebx + 0x1a38]
test ecx, eax
je 0x1024b641
xorps xmm0, xmm0
ucomiss xmm0, dword [ebx + 0x1a50]
setb cl
mov dword [esp + 0x24], ecx
ucomiss xmm0, dword [ebx + 0x1a54]
setb cl
mov dword [esp + 0x1c], ecx
and eax, 0xfffffff1
mov dword [edi + 0xb0], eax
xorps xmm0, xmm0
ucomiss xmm0, dword [ebx + 0x1a50]
jae 0x1024b5f1
mov dword [edi + 0x90], 0
movss xmm0, dword [ebx + 0x1a50]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x1c], xmm0
jmp 0x1024b602
mov dword [edi + 0x90], 2
mov byte [edi + 0x98], 0
xorps xmm0, xmm0
ucomiss xmm0, dword [ebx + 0x1a54]
jae 0x1024b62e
mov dword [edi + 0x94], 0
movss xmm0, dword [ebx + 0x1a54]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x20], xmm0
jmp 0x1024b659
mov dword [edi + 0x94], 2
mov byte [edi + 0x98], 0
jmp 0x1024b659
mov dword [esp + 0x1c], 0
mov dword [esp + 0x24], 0
test ecx, ecx
je 0x1024b5bc
test byte [ebx + 0x1a30], 4
jne 0x1024b678
cmp dword [esp + 0x70], esi
je 0x1024b685
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0
jmp 0x1024b685
movsd xmm0, qword [ebx + 0x1a58]
movsd qword [edi + 0x2c], xmm0
mov eax, dword [ebx + 0x1a30]
test al, 8
je 0x1024b6bb
mov edx, dword [ebx + 0x1a3c]
mov ecx, dword [edi + 0xb4]
test edx, edx
je 0x1024b6a3
and edx, ecx
je 0x1024b6bb
mov al, byte [ebx + 0x1a60]
and ecx, 0xfffffff1
mov dword [edi + 0xb4], ecx
mov byte [edi + 0x7d], al
mov eax, dword [ebx + 0x1a30]
test al, 0x20
je 0x1024b6c8
push edi
call fcn.1023e070
add esp, 4
cmp byte [edi + 0x80], 0
je 0x1024b6e6
and byte [edi + 0xac], 0xf7
and byte [edi + 0xb0], 0xf7
and byte [edi + 0xb4], 0xf7
cmp dword [esp + 0x70], esi
jne 0x1024b730
mov eax, dword [0x1042dd60]
mov dword [eax + 0x19b4], edi
movss xmm0, dword [edi + 0x274]
mulss xmm0, dword [eax + 0x18d4]
mov ecx, dword [edi + 0x2f8]
test ecx, ecx
je 0x1024b719
mulss xmm0, dword [ecx + 0x274]
movss dword [eax + 0x18e4], xmm0
movss dword [eax + 0x18d0], xmm0
mov ecx, edi
jmp 0x1024e791
mov eax, dword [esp + 0x10]
mov ecx, eax
and ecx, 0x2000000
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x20]
mov dword [edi + 0x2f8], ecx
mov dword [edi + 0x304], edi
mov dword [edi + 0x300], edi
mov dword [edi + 0x2fc], edi
test ecx, ecx
je 0x1024b77e
cmp dword [esp + 0x14], 0
je 0x1024b77e
cmp dword [esp + 0x6c], 0
jne 0x1024b77e
mov eax, dword [ecx + 0x2fc]
mov dword [edi + 0x2fc], eax
mov eax, dword [esp + 0x10]
and eax, 0x8000000
mov dword [esp + 0xe0], eax
test ecx, ecx
je 0x1024b7af
cmp dword [esp + 0xe0], 0
jne 0x1024b7af
mov eax, dword [esp + 0x10]
and eax, 0x5000000
je 0x1024b7af
mov eax, dword [ecx + 0x300]
mov dword [edi + 0x300], eax
test byte [edi + 0xa], 0x80
je 0x1024b7e2
mov dword [edi + 0x304], ecx
test byte [ecx + 0xa], 0x80
je 0x1024b7e2
mov eax, ecx
nop word cs:[eax + eax]
nop dword [eax]
mov eax, dword [eax + 0x2f8]
mov dword [edi + 0x304], eax
test byte [eax + 0xa], 0x80
jne 0x1024b7d0
mov byte [edi + 0x7a], 1
cmp dword [ebp + 0xc], 0
setne byte [edi + 0x82]
movaps xmm0, xmmword [0x1035a5e0]
movups xmmword [edi + 0x210], xmm0
cmp dword [edi + 0x1c8], 0
jg 0x1024b8ac
mov eax, 8
mov esi, 1
cmove esi, eax
lea eax, [esi*4]
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024b831
add dword [ecx + 0x374], 1
push dword [0x1042dd68]
push eax
call dword [0x103c556c]
add esp, 8
mov edi, dword [esp + 0xc]
mov edx, dword [edi + 0x1cc]
test edx, edx
je 0x1024b8a0
mov ecx, dword [edi + 0x1c4]
shl ecx, 2
push ecx
push edx
mov dword [esp + 0xb8], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x1cc]
test eax, eax
je 0x1024b885
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024b885
add dword [ecx + 0x374], 0xffffffff
push dword [0x1042dd68]
push eax
call dword [0x103c5570]
add esp, 8
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0xb0]
mov dword [edi + 0x1cc], eax
mov dword [edi + 0x1c8], esi
mov dword [edi + 0x1c4], 1
cmp dword [ebx + 0x1b1c], 0
mov ebx, edi
je 0x1024b961
mov al, byte [ebx + 0xa]
and al, 8
shr al, 3
or al, byte [esp + 0x90]
jne 0x1024b961
mov edi, dword [ebx]
push edi
push dword [ebp + 8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
add esp, 8
test eax, eax
je 0x1024b961
mov esi, dword [ebx + 0x44]
push dword [ebp + 8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ebx, eax
add ebx, 1
cmp esi, ebx
jae 0x1024b94b
test edi, edi
je 0x1024b917
mov eax, dword [0x1042dd60]
test eax, eax
je 0x1024b917
add dword [eax + 0x374], 0xffffffff
push dword [0x1042dd68]
push edi
call dword [0x103c5570]
add esp, 8
mov eax, dword [0x1042dd60]
test eax, eax
je 0x1024b937
add dword [eax + 0x374], 1
push dword [0x1042dd68]
push ebx
call dword [0x103c556c]
add esp, 8
mov edi, eax
mov esi, ebx
push ebx
push dword [ebp + 8]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ebx, dword [esp + 0xc]
mov dword [ebx], edi
mov dword [ebx + 0x44], esi
cmp byte [ebx + 0x7d], 0
mov edi, ebx
je 0x1024b97b
cmp dword [edi + 0x90], 0
jg 0x1024b97b
cmp dword [edi + 0x94], 0
jle 0x1024b9e5
cmp byte [edi + 0x81], 0
je 0x1024b98d
cmp dword [edi + 0xa8], 0
je 0x1024b9dc
movss xmm1, dword [edi + 0x2c]
xorps xmm0, xmm0
ucomiss xmm0, xmm1
jne 0x1024b9aa
movss xmm1, dword [edi + 0xe0]
subss xmm1, dword [edi + 0xd8]
cvttps2dq xmm1, xmm1
cvtdq2ps xmm1, xmm1
movss xmm2, dword [edi + 0x30]
ucomiss xmm0, xmm2
jne 0x1024b9cb
movss xmm2, dword [edi + 0xe4]
subss xmm2, dword [edi + 0xdc]
cvttps2dq xmm0, xmm2
cvtdq2ps xmm0, xmm0
movd eax, xmm1
movd ecx, xmm0
jmp 0x1024b9eb
cmp dword [edi + 0xa4], 0
jle 0x1024b98d
mov eax, dword [edi + 0x24]
mov ecx, dword [edi + 0x28]
mov dword [edi + 0x24], eax
mov dword [edi + 0x28], ecx
mov eax, dword [edi + 0xa4]
test eax, eax
jle 0x1024ba04
add eax, 0xffffffff
mov dword [edi + 0xa4], eax
mov eax, dword [edi + 0xa8]
test eax, eax
mov cl, byte [esp + 0x2b]
jle 0x1024ba1b
add eax, 0xffffffff
mov dword [edi + 0xa8], eax
cmp byte [esp + 0x90], 0
je 0x1024ba3d
cmp byte [esp + 0x24], 0
je 0x1024ba33
cmp byte [esp + 0x1c], 0
jne 0x1024ba3d
mov dword [edi + 0xa8], 1
xor cl, 1
mov byte [esp + 0x120], cl
jne 0x1024ba9e
mov eax, dword [esp + 0x10]
and eax, 0x6000000
mov eax, dword [esp + 0x10]
je 0x1024ba9e
mov dword [edi + 0xa8], 1
test al, 0x40
je 0x1024ba9e
cmp byte [esp + 0x24], 0
jne 0x1024ba7b
mov dword [edi + 0x1c], 0
mov dword [edi + 0x14], 0
cmp byte [esp + 0x1c], 0
jne 0x1024ba90
mov dword [edi + 0x20], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0
mov eax, dword [0x1042dd60]
mov dword [eax + 0x19b4], edi
movss xmm0, dword [edi + 0x274]
mulss xmm0, dword [eax + 0x18d4]
mov ecx, dword [edi + 0x2f8]
test ecx, ecx
je 0x1024bacb
mulss xmm0, dword [ecx + 0x274]
mov esi, dword [esp + 0x14]
mov ecx, esi
shr ecx, 0x18
mov dword [esp + 0xb0], ecx
mov ebx, dword [esp + 0x10]
test ebx, 0x8000000
mov ecx, 0x154c
mov edx, 0x1528
cmovne ecx, edx
test ebx, 0x6000000
cmove ecx, edx
movss dword [eax + 0x18e4], xmm0
test esi, esi
mov edx, 0x1544
cmove edx, ecx
movss dword [eax + 0x18d0], xmm0
mov esi, dword [esp + 0x18]
movss xmm2, dword [esi + edx]
movss dword [edi + 0x40], xmm2
mov ecx, dword [esi + 0x151c]
mov edx, dword [esi + 0x1520]
mov dword [edi + 0x38], edx
mov dword [edi + 0x34], ecx
movd xmm0, ecx
je 0x1024bb77
and ebx, 0x4010000
jne 0x1024bb77
xorps xmm1, xmm1
ucomiss xmm2, xmm1
mov ebx, dword [esp + 0x2c]
jne 0x1024bb7b
test dword [esp + 0x10], 0x400
je 0x1024bb65
mov ecx, dword [esp + 0x18]
movss xmm1, dword [ecx + 0x1520]
mov dword [edi + 0x34], 0
movss dword [edi + 0x38], xmm1
pxor xmm0, xmm0
jmp 0x1024bb7b
mov ebx, dword [esp + 0x2c]
lea esi, [edi + 0x24]
mov ecx, dword [esp + 0x18]
maxss xmm0, dword [ecx + 0x1560]
maxss xmm0, dword [ecx + 0x1a80]
movss dword [edi + 0x144], xmm0
movss xmm0, dword [ecx + 0x1a84]
movss dword [edi + 0x148], xmm0
test byte [esp + 0x10], 0x21
je 0x1024bbba
mov byte [edi + 0x7d], 0
jmp 0x1024bca8
movss xmm1, dword [edi + 0x10]
xorps xmm0, xmm0
test byte [edi + 8], 1
jne 0x1024bbfa
movss xmm0, dword [edi + 0x274]
mulss xmm0, dword [eax + 0x18d4]
mov ecx, dword [edi + 0x2f8]
test ecx, ecx
je 0x1024bbea
mulss xmm0, dword [ecx + 0x274]
movss xmm2, dword [eax + 0x1554]
addss xmm0, xmm2
addss xmm0, xmm2
addss xmm0, xmm1
movss xmm1, dword [edi + 0x1c]
addss xmm1, dword [edi + 0xc]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
movss dword [esp + 0x48], xmm1
movss dword [esp + 0x4c], xmm0
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x19b8], edi
jne 0x1024bc71
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x19dc], 0
jne 0x1024bc71
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x19e4], 0
jne 0x1024bc71
lea eax, [esp + 0x48]
lea ecx, [esp + 0x40]
push 1
push eax
push ecx
call fcn.1023cea0
add esp, 0xc
test al, al
je 0x1024bc71
mov eax, dword [esp + 0x18]
cmp byte [eax + 0x3dd], 0
je 0x1024bc71
mov byte [edi + 0x7e], 1
cmp byte [edi + 0x7e], 0
je 0x1024bca8
xor byte [edi + 0x7d], 1
test byte [edi + 9], 1
jne 0x1024bc9f
mov eax, dword [0x1042dd60]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2d18]
jb 0x1024bc9f
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x2d18], xmm0
push edi
call fcn.1023e070
add esp, 4
mov byte [edi + 0x7e], 0
lea ecx, [esp + 0x108]
mov edx, edi
push esi
call fcn.10248e40
add esp, 4
test byte [esp + 0x10], 0x40
je 0x1024bccf
cmp byte [edi + 0x7d], 0
je 0x1024bd8a
cmp dword [edi + 0x90], 0
mov esi, dword [esp + 0x20]
jle 0x1024bd0c
mov eax, dword [esp + 0x80]
mov ecx, eax
cmp byte [esp + 0x24], 0
jne 0x1024bd22
cmp byte [edi + 0x98], 0
movss xmm0, dword [esp + 0x108]
je 0x1024bd03
maxss xmm0, dword [edi + 0x1c]
movss dword [edi + 0x1c], xmm0
mov cl, 1
jmp 0x1024bd22
cmp dword [edi + 0x94], 0
mov eax, dword [esp + 0x80]
mov ecx, eax
jle 0x1024bdd3
cmp byte [esp + 0x1c], 0
jne 0x1024bd57
cmp dword [edi + 0x94], 0
jle 0x1024bd57
cmp byte [edi + 0x98], 0
movss xmm0, dword [esp + 0x10c]
je 0x1024bd49
maxss xmm0, dword [edi + 0x20]
movss dword [edi + 0x20], xmm0
mov al, 1
mov dword [esp + 0x80], eax
cmp byte [edi + 0x7d], 0
mov byte [esp + 0x110], cl
jne 0x1024bde1
test byte [edi + 9], 1
jne 0x1024bde1
mov eax, dword [0x1042dd60]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2d18]
jb 0x1024bde1
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x2d18], xmm0
jmp 0x1024bde1
mov eax, dword [esp + 0x80]
cmp byte [esp + 0x24], 0
mov esi, dword [esp + 0x20]
jne 0x1024bdac
movss xmm0, dword [esp + 0x108]
movss dword [edi + 0x1c], xmm0
mov al, 1
cmp byte [esp + 0x1c], 0
mov byte [esp + 0x110], al
jne 0x1024bde1
movss xmm0, dword [esp + 0x10c]
movss dword [edi + 0x20], xmm0
mov al, 1
mov dword [esp + 0x80], eax
jmp 0x1024bde1
mov eax, dword [esp + 0x80]
mov byte [esp + 0x110], al
movss xmm0, dword [edi + 0x1c]
movss xmm1, dword [edi + 0x20]
lea ecx, [esp + 0x40]
mov edx, edi
call fcn.10248c60
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [edi + 0x20], edx
mov dword [edi + 0x1c], ecx
cmp byte [edi + 0x7d], 0
sete al
or al, byte [esp + 0xb0]
je 0x1024be19
mov eax, dword [edi + 8]
jmp 0x1024be63
mov eax, dword [edi + 8]
xorps xmm0, xmm0
test al, 1
jne 0x1024be5f
mov edx, dword [0x1042dd60]
movss xmm0, dword [edi + 0x274]
mulss xmm0, dword [edx + 0x18d4]
mov esi, dword [edi + 0x2f8]
test esi, esi
je 0x1024be4b
mulss xmm0, dword [esi + 0x274]
movss xmm1, dword [edx + 0x1554]
addss xmm0, xmm1
addss xmm0, xmm1
mov esi, dword [esp + 0x20]
movd edx, xmm0
mov dword [edi + 0x14], ecx
mov dword [edi + 0x18], edx
xorps xmm0, xmm0
movss dword [esp + 0x24], xmm0
xorps xmm4, xmm4
test al, 1
jne 0x1024bf0e
mov ecx, dword [0x1042dd60]
movss xmm4, dword [edi + 0x274]
mulss xmm4, dword [ecx + 0x18d4]
mov edx, dword [edi + 0x2f8]
test edx, edx
je 0x1024bea5
mulss xmm4, dword [edx + 0x274]
movss xmm0, dword [ecx + 0x1554]
addss xmm4, xmm0
addss xmm4, xmm0
test eax, 0x400
je 0x1024bf15
mov eax, dword [0x1042dd60]
movss xmm1, dword [edi + 0x148]
movss xmm0, dword [edi + 0x274]
mulss xmm0, dword [eax + 0x18d4]
mov ecx, dword [edi + 0x2f8]
test ecx, ecx
je 0x1024beeb
mulss xmm0, dword [ecx + 0x274]
addss xmm0, xmm1
movss xmm1, dword [eax + 0x1554]
addss xmm1, xmm1
addss xmm1, xmm0
movss dword [esp + 0x24], xmm1
cmp byte [esp + 0x2b], 0
je 0x1024bf53
jmp 0x1024bf1c
test eax, 0x400
jne 0x1024bebc
cmp byte [esp + 0x2b], 0
je 0x1024bf53
test dword [esp + 0x10], 0x4000000
sete al
mov dword [edi + 0xa0], 0xffffffff
or al, bl
jne 0x1024bf53
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 0x1ac8]
mov ecx, dword [ecx + 0x1ad0]
lea eax, [eax + eax*8]
movsd xmm0, qword [ecx + eax*4 - 0x10]
movsd qword [edi + 0xc], xmm0
mov ecx, dword [esp + 0x10]
mov eax, ecx
and eax, 0x3000000
mov dword [esp + 0x14], eax
test ecx, 0x1000000
je 0x1024c090
movzx eax, word [esi + 0x14c]
mov word [edi + 0x86], ax
mov eax, dword [esi + 0x14c]
cmp eax, dword [esi + 0x150]
jne 0x1024c055
lea esi, [eax + 1]
test eax, eax
je 0x1024bfa2
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1024bfa7
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x1024c055
movss dword [esp + 0x1c], xmm4
lea eax, [esi*4]
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024bfd2
add dword [ecx + 0x374], 1
push dword [0x1042dd68]
push eax
call dword [0x103c556c]
add esp, 8
mov edi, eax
mov ebx, dword [esp + 0x20]
mov eax, dword [ebx + 0x154]
test eax, eax
je 0x1024c035
mov ecx, dword [ebx + 0x14c]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x154]
test eax, eax
je 0x1024c021
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024c021
add dword [ecx + 0x374], 0xffffffff
push dword [0x1042dd68]
push eax
call dword [0x103c5570]
add esp, 8
mov ebx, dword [esp + 0x20]
mov dword [ebx + 0x154], edi
mov dword [ebx + 0x150], esi
mov eax, dword [ebx + 0x14c]
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x2c]
movss xmm4, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ecx, dword [edx + 0x154]
mov dword [ecx + eax*4], edi
mov ecx, dword [esp + 0x10]
mov eax, ecx
shr eax, 0x1a
and eax, 1
add dword [edx + 0x14c], 1
or al, bl
jne 0x1024c090
cmp dword [esp + 0x14], 0x3000000
je 0x1024c090
movsd xmm0, qword [edx + 0xc8]
movsd qword [edi + 0xc], xmm0
movss xmm0, dword [edi + 0xb8]
movss xmm1, dword [0x10357548]
ucomiss xmm1, xmm0
je 0x1024c0ae
cmp dword [edi + 0xa8], 0
je 0x1024c115
test ecx, 0x10000000
jne 0x1024c0eb
test ecx, 0x4000000
sete al
or al, bl
jne 0x1024c0ca
cmp dword [esp + 0x50], 0
jg 0x1024c0eb
test dword [esp + 0x10], 0x2000000
sete al
or al, bl
jne 0x1024c1ac
cmp dword [esp + 0x14], 0x3000000
je 0x1024c1ac
push edi
lea eax, [esp + 0x44]
push eax
movss dword [esp + 0x24], xmm4
call fcn.102495d0
movss xmm4, dword [esp + 0x24]
add esp, 8
movsd xmm0, qword [esp + 0x40]
movsd qword [edi + 0xc], xmm0
jmp 0x1024c1ac
movsd xmm1, qword [edi + 0xc]
movsd xmm2, qword [edi + 0x1c]
movsd xmm3, qword [edi + 0xc0]
mulps xmm3, xmm2
movss xmm2, dword [edi + 0xbc]
unpcklps xmm0, xmm2
and byte [edi + 0xac], 0xf1
subps xmm0, xmm3
mov dword [edi + 0xb8], 0x7f7fffff
mov dword [edi + 0xbc], 0x7f7fffff
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [edi + 0xc], xmm0
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
movss dword [edi + 0x10], xmm2
subps xmm0, xmm1
movaps xmm1, xmm0
movlhps xmm1, xmm0
movaps xmm2, xmm0
addss xmm0, dword [edi + 0xc8]
shufps xmm2, xmm2, 0x55
movss dword [edi + 0xc8], xmm0
addss xmm2, dword [edi + 0xcc]
movss dword [edi + 0xcc], xmm2
movups xmm0, xmmword [edi + 0xd8]
addps xmm0, xmm1
movups xmmword [edi + 0xd8], xmm0
mov eax, dword [0x1042dd60]
movss xmm0, dword [eax + 0x10]
movss xmm1, dword [eax + 0x14]
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
movss dword [esp + 0x48], xmm0
movss dword [esp + 0x4c], xmm1
or bl, byte [esp + 0xb0]
jne 0x1024c265
cmp dword [edi + 0x90], 0
jg 0x1024c265
cmp dword [edi + 0x94], 0
jg 0x1024c265
xorps xmm0, xmm0
mov eax, dword [esp + 0x18]
ucomiss xmm0, dword [eax + 0x10]
jae 0x1024c265
mov eax, dword [esp + 0x18]
ucomiss xmm0, dword [eax + 0x14]
jae 0x1024c265
mov eax, dword [esp + 0x18]
movss xmm0, dword [eax + 0x15b0]
movss xmm1, dword [eax + 0x15b4]
maxss xmm1, dword [eax + 0x15bc]
maxss xmm0, dword [eax + 0x15b8]
movss dword [esp + 0x150], xmm0
movss dword [esp + 0x154], xmm1
lea eax, [esp + 0x150]
lea edx, [esp + 0x40]
mov ecx, edi
push eax
movss dword [esp + 0x20], xmm4
call fcn.10249930
movss xmm4, dword [esp + 0x20]
add esp, 4
movss xmm0, dword [edi + 0xc]
movss xmm1, dword [edi + 0x10]
cvttps2dq xmm1, xmm1
cvtdq2ps xmm1, xmm1
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [edi + 0xc], xmm0
movss dword [edi + 0x10], xmm1
mov eax, dword [esp + 0x10]
test eax, 0x1000000
jne 0x1024c2bb
and eax, 0x4000000
je 0x1024c2d9
cmp dword [esp + 0xe0], 0
jne 0x1024c2d9
mov edx, dword [esp + 0x18]
lea ecx, [edx + 0x1548]
mov al, 1
mov dword [esp + 0x1c], eax
mov al, 1
mov dword [esp + 0x50], eax
jmp 0x1024c2f0
mov ebx, eax
shr ebx, 0x1a
and ebx, 1
mov edx, dword [esp + 0x18]
lea ecx, [edx + 0x1540]
mov esi, eax
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x50], ebx
jmp 0x1024c2f4
shr eax, 0x1a
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x18]
lea ecx, [edx + 0x1524]
mov al, 1
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x10]
movss xmm0, dword [esp + 0x24]
addss xmm0, xmm4
movss dword [esp + 0x24], xmm0
movss xmm0, dword [ecx]
movss dword [esp + 0x7c], xmm0
movss dword [edi + 0x3c], xmm0
mov ecx, esi
shr ecx, 0xc
and ecx, 1
mov al, byte [esp + 0x120]
or al, cl
mov ecx, eax
xor cl, 1
xor ebx, ebx
cmp dword [esp + 0x14], 0
sete bl
movzx ecx, cl
cmp byte [esp + 0x50], 0
cmovne ebx, ecx
test al, al
cmovne ebx, ecx
mov dword [esp + 0x100], ebx
mov dword [esp + 0x104], 0xffffffff
xorps xmm0, xmm0
movaps xmmword [esp + 0x150], xmm0
cmp byte [edx + 0xb3], 1
mov ebx, 2
sbb ebx, 0
movss xmm0, dword [edx + 0x18d0]
movaps xmmword [esp + 0x160], xmm0
cmp byte [edi + 0x7d], 0
mov esi, edx
mov dword [esp + 0x2c], ebx
je 0x1024c3a1
lea eax, [edi + 0x83]
mov dword [esp + 0xfc], eax
mov byte [edi + 0x83], 0xff
jmp 0x1024c3e7
lea eax, [esp + 0x150]
lea edx, [esp + 0x108]
mov ecx, edi
push eax
push ebx
lea eax, [esp + 0x10c]
push eax
call fcn.102499f0
add esp, 0xc
mov cl, byte [esp + 0x104]
lea edx, [edi + 0x83]
mov byte [edi + 0x83], cl
cmp byte [edi + 0x7d], 0
mov dword [esp + 0xfc], edx
je 0x1024d77f
mov ebx, dword [esp + 0x20]
lea edx, [esp + 0x44]
cmp dword [esp + 0x14], 0x3000000
sete al
or al, byte [esp + 0x1c]
test al, al
lea eax, [ebx + 0x210]
lea ecx, [esp + 0x40]
cmovne eax, ecx
movss xmm0, dword [eax]
movaps xmmword [esp + 0x50], xmm0
lea eax, [ebx + 0x214]
cmovne eax, edx
movss xmm0, dword [eax]
movaps xmmword [esp + 0x90], xmm0
lea eax, [ebx + 0x218]
lea ecx, [esp + 0x48]
cmovne eax, ecx
movss xmm0, dword [eax]
movaps xmmword [esp + 0xb0], xmm0
lea ecx, [ebx + 0x21c]
lea eax, [esp + 0x4c]
cmovne ecx, eax
lea eax, [edi + 0x40]
movss xmm4, dword [edi + 0xc]
movss xmm3, dword [edi + 0x10]
movss xmm1, dword [edi + 0x18]
addss xmm1, xmm3
movss xmm2, dword [edi + 0x14]
movaps xmmword [esp + 0xe0], xmm2
test byte [edi + 8], 1
addss xmm2, xmm4
movss xmm0, dword [ecx]
movaps xmmword [esp + 0x80], xmm0
xorps xmm6, xmm6
jne 0x1024c4c5
mov ecx, dword [0x1042dd60]
movss xmm6, dword [edi + 0x274]
mulss xmm6, dword [ecx + 0x18d4]
mov edx, dword [edi + 0x2f8]
test edx, edx
je 0x1024c4b5
mulss xmm6, dword [edx + 0x274]
movss xmm7, dword [ecx + 0x1554]
addss xmm6, xmm7
addss xmm6, xmm7
movss xmm7, dword [edi + 0x1c]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
mov dword [esp + 0xd4], edx
mov edx, dword [esp + 0x10]
and edx, 0x401
cmp edx, 1
lea edx, [esi + 0x155c]
cmove edx, eax
mov dword [esp + 0xd0], ecx
addss xmm6, xmm3
addss xmm7, xmm4
movss dword [esp + 0xd8], xmm7
movss dword [esp + 0xdc], xmm6
movaps xmm6, xmm3
maxss xmm6, dword [esp + 0x90]
maxss xmm4, dword [esp + 0x50]
movss dword [edi + 0x1d0], xmm4
movss dword [edi + 0x1d4], xmm6
movaps xmm4, xmm1
minss xmm4, dword [esp + 0x80]
movaps xmm5, xmmword [esp + 0xb0]
minss xmm2, xmm5
movss dword [edi + 0x1d8], xmm2
movss dword [edi + 0x1dc], xmm4
movss xmm7, dword [edi + 0xc]
movss xmm4, dword [edi + 0x34]
movss dword [edi + 0x1e0], xmm7
addss xmm3, dword [esp + 0x24]
movss dword [edi + 0x1e4], xmm3
movaps xmm6, xmm7
addss xmm6, dword [esp + 0xe0]
movsd xmm2, qword [edi + 0x70]
unpcklps xmm6, xmm1
subps xmm6, xmm2
movss dword [edi + 0x1e8], xmm6
movaps xmm1, xmm6
shufps xmm1, xmm6, 0x55
movaps xmmword [esp + 0x110], xmm1
movss dword [edi + 0x1ec], xmm1
movss xmm0, dword [edx]
movss xmm2, dword [edi + 0x40]
movss xmm1, dword [0x103574f4]
mulss xmm1, xmm4
cvttps2dq xmm1, xmm1
cvtdq2ps xmm1, xmm1
maxss xmm1, xmm2
movlhps xmm2, xmm1
unpcklps xmm1, xmm0
movaps xmmword [esp + 0x140], xmm7
movaps xmmword [esp + 0x120], xmm3
unpcklps xmm7, xmm3
movlhps xmm7, xmm6
addps xmm7, xmmword [0x1035a5f0]
shufps xmm2, xmm2, 0x24
addps xmm1, xmm7
subps xmm7, xmm2
movsd xmm7, xmm1
cvttps2dq xmm1, xmm7
cvtdq2ps xmm1, xmm1
movaps xmm2, xmmword [esp + 0x50]
unpcklps xmm2, xmmword [esp + 0x90]
movlhps xmm2, xmm2
unpcklps xmm5, xmmword [esp + 0x80]
movlhps xmm5, xmm5
minps xmm5, xmm1
cmpltps xmm1, xmm2
andps xmm2, xmm1
andnps xmm1, xmm5
orps xmm1, xmm2
movaps xmm0, xmmword [esp + 0xe0]
movups xmmword [edi + 0x1f0], xmm1
ucomiss xmm0, dword [0x103574f0]
jbe 0x1024c663
cmp dword [esp + 0x6c], 0
jne 0x1024c663
mov eax, dword [esp + 0x10]
and eax, 0x40
jne 0x1024c663
mulss xmm0, dword [str.ff_]
jmp 0x1024c673
movss xmm0, dword [esi + 0x18d0]
mulss xmm0, dword [0x1035a600]
cvttps2dq xmm1, xmm0
cvtdq2ps xmm1, xmm1
movss dword [edi + 0x234], xmm1
addss xmm4, xmm4
addss xmm4, dword [edi + 0x24]
subss xmm4, xmm6
addss xmm4, dword [esp + 0x140]
xorps xmm1, xmm1
maxss xmm4, xmm1
movss dword [edi + 0x58], xmm4
movss xmm2, dword [edi + 0x38]
addss xmm2, xmm2
addss xmm2, dword [edi + 0x28]
subss xmm2, dword [esp + 0x110]
addss xmm2, dword [esp + 0x120]
maxss xmm2, xmm1
movss dword [edi + 0x5c], xmm2
lea ecx, [esp + 0x30]
mov edx, edi
push 1
call fcn.1024a630
add esp, 4
movsd xmm0, qword [esp + 0x30]
movsd qword [edi + 0x50], xmm0
mov dword [edi + 0x60], 0x7f7fffff
mov dword [edi + 0x64], 0x7f7fffff
mov ecx, dword [edi + 0x27c]
call fcn.10259d90
mov ecx, dword [edi + 0x27c]
mov ebx, esi
mov eax, dword [esi + 0x18cc]
mov eax, dword [eax + 0x38]
push dword [eax + 8]
call fcn.1025a820
mov eax, dword [0x1042dd60]
mov ecx, dword [eax + 0x19b4]
mov byte [ecx + 0x7c], 1
mov esi, dword [eax + 0x19b4]
mov ecx, dword [esi + 0x27c]
sub esp, 0x14
movaps xmm0, xmmword [esp + 0x94]
movss dword [esp + 0xc], xmm0
movaps xmm0, xmmword [esp + 0xc4]
movss dword [esp + 8], xmm0
movaps xmm0, xmmword [esp + 0xa4]
movss dword [esp + 4], xmm0
movaps xmm0, xmmword [esp + 0x64]
movss dword [esp], xmm0
mov dword [esp + 0x10], 0
call fcn.1025a6a0
mov eax, dword [esi + 0x27c]
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0x48]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [esi + 0x210], xmm0
xor eax, eax
test dword [esp + 0x10], 0x8000000
je 0x1024c7ff
mov eax, dword [0x1042dd60]
mov ecx, dword [eax + 0x1abc]
test ecx, ecx
jle 0x1024c7ef
mov edx, dword [eax + 0x1ac4]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*8]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffe0
jmp 0x1024c7db
add eax, 0xffffffff
add ecx, 0xffffffdc
cmp eax, 1
jle 0x1024c7ef
mov edx, dword [ecx]
test edx, edx
je 0x1024c7d0
test byte [edx + 0xb], 8
je 0x1024c7d0
cmp edi, edx
je 0x1024c7f5
xor eax, eax
jmp 0x1024c7ff
xor edx, edx
cmp edi, edx
jne 0x1024c7eb
cmp dword [edi + 0xa8], 0
setle al
mov ecx, dword [ebx + 0x1b18]
test ecx, ecx
je 0x1024c814
cmp edi, dword [ecx + 0x2fc]
sete bl
jmp 0x1024c816
xor ebx, ebx
mov ecx, eax
or cl, bl
cmp cl, 1
jne 0x1024c901
movzx eax, al
or eax, 0x2e
mov ecx, dword [0x1042dd60]
shl eax, 4
movss xmm0, dword [ecx + eax + 0x15d8]
mov edx, dword [esp + 0x18]
mulss xmm0, dword [edx + 0x1c40]
movsd xmm4, qword [ecx + eax + 0x15d0]
mulss xmm0, dword [ecx + 0x1518]
movss xmm1, dword [0x103564b8]
movss xmm5, dword [ecx + eax + 0x15cc]
minss xmm5, xmm1
xorps xmm2, xmm2
maxss xmm5, xmm2
movss xmm3, dword [0x103564b0]
mulss xmm5, xmm3
movss xmm6, dword [0x103574f4]
addss xmm5, xmm6
cvttss2si eax, xmm5
minps xmm4, xmmword [0x10357430]
xorps xmm5, xmm5
maxps xmm5, xmm4
mulps xmm5, xmmword [0x1035a480]
addps xmm5, xmmword [0x10358c10]
cvttps2dq xmm4, xmm5
movdqa xmm5, xmm4
pslld xmm5, 0x10
pslld xmm4, 8
movd ecx, xmm4
or ecx, eax
pshufd xmm4, xmm5, 0x55
movd eax, xmm4
minss xmm0, xmm1
maxss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm6
cvttss2si edx, xmm0
or eax, ecx
shl edx, 0x18
or edx, eax
mov ecx, dword [edi + 0x27c]
push 0xf
push 0
push edx
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.1025cb20
test bl, bl
mov esi, dword [esp + 0x18]
je 0x1024ca83
cmp edi, dword [esi + 0x1b18]
jne 0x1024ca83
movss xmm3, dword [edi + 0xc]
movss xmm2, dword [edi + 0x10]
movss xmm0, dword [edi + 0x18]
addss xmm0, xmm2
movss xmm1, dword [edi + 0x14]
addss xmm1, xmm3
movss xmm4, dword [esi + 0x18d0]
subss xmm3, xmm4
movss dword [esp + 0x30], xmm3
subss xmm2, xmm4
movss dword [esp + 0x34], xmm2
addss xmm1, xmm4
movss dword [esp + 0x38], xmm1
addss xmm0, xmm4
movss dword [esp + 0x3c], xmm0
ucomiss xmm3, dword [esp + 0x40]
ja 0x1024c991
movss xmm3, dword [esp + 0x44]
ucomiss xmm3, xmm2
jb 0x1024c991
movss xmm2, dword [esp + 0x48]
ucomiss xmm2, xmm1
ja 0x1024c991
movss xmm1, dword [esp + 0x4c]
ucomiss xmm1, xmm0
jbe 0x1024ca83
movss xmm0, dword [esi + 0x1b24]
mulss xmm0, dword [0x103577e0]
mov ecx, dword [edi + 0x27c]
mov eax, dword [0x1042dd60]
mulss xmm0, dword [eax + 0x18a8]
movsd xmm4, qword [eax + 0x18a0]
mulss xmm0, dword [eax + 0x1518]
movss xmm1, dword [0x103564b8]
movss xmm5, dword [eax + 0x189c]
minss xmm5, xmm1
xorps xmm2, xmm2
maxss xmm5, xmm2
movss xmm3, dword [0x103564b0]
mulss xmm5, xmm3
movss xmm6, dword [0x103574f4]
addss xmm5, xmm6
cvttss2si eax, xmm5
minps xmm4, xmmword [0x10357430]
xorps xmm5, xmm5
maxps xmm5, xmm4
mulps xmm5, xmmword [0x1035a480]
addps xmm5, xmmword [0x10358c10]
cvttps2dq xmm4, xmm5
movdqa xmm5, xmm4
pslld xmm5, 0x10
pslld xmm4, 8
movd edx, xmm4
or edx, eax
pshufd xmm4, xmm5, 0x55
movd eax, xmm4
or eax, edx
minss xmm0, xmm1
maxss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm6
cvttss2si edx, xmm0
movss xmm0, dword [esi + 0x1524]
shl edx, 0x18
or edx, eax
lea eax, [esp + 0x38]
sub esp, 0x14
movss dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 0x10], 0xf
call fcn.1025cb20
cmp dword [esp + 0x14], 0x3000000
sete al
mov ecx, dword [esp + 0x1c]
or cl, al
jne 0x1024caa9
mov eax, dword [edi + 0x27c]
mov ecx, dword [eax + 8]
imul eax, dword [eax], 0x2c
cmp dword [eax + ecx - 0x2c], 0
je 0x1024cae5
mov dword [esp + 0xac], 0
mov eax, dword [esi + 0x1b14]
test eax, eax
jne 0x1024cac4
mov eax, dword [esi + 0x1ad4]
mov bl, 1
test byte [esp + 0x100], 1
jne 0x1024cb08
test eax, eax
je 0x1024cb06
mov ecx, dword [edi + 0x300]
cmp ecx, dword [eax + 0x300]
sete bl
jmp 0x1024cb08
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x27c]
cmp dword [eax + 0x18], 0
jle 0x1024caa9
mov dword [edi + 0x27c], eax
mov al, 1
mov dword [esp + 0xac], eax
jmp 0x1024cab4
xor ebx, ebx
mov esi, dword [0x1042dd60]
movss xmm0, dword [edi + 0x3c]
movss dword [esp + 0x80], xmm0
movss xmm0, dword [edi + 0x40]
cmp byte [edi + 0x7d], 0
je 0x1024cc52
movss xmm1, dword [esi + 0x155c]
movss dword [esp + 0x50], xmm1
movss dword [esi + 0x155c], xmm0
mov eax, 0xc
test bl, bl
je 0x1024cb59
cmp byte [esi + 0x1b36], 1
mov eax, 0xc
sbb eax, 0
shl eax, 4
movsd xmm4, qword [esi + eax + 0x15d0]
movss xmm0, dword [esi + 0x1518]
mulss xmm0, dword [esi + eax + 0x15d8]
movss xmm1, dword [0x103564b8]
movss xmm5, dword [esi + eax + 0x15cc]
minss xmm5, xmm1
xorps xmm2, xmm2
maxss xmm5, xmm2
movss xmm3, dword [0x103564b0]
mulss xmm5, xmm3
movss xmm6, dword [0x103574f4]
addss xmm5, xmm6
cvttss2si eax, xmm5
minps xmm4, xmmword [0x10357430]
xorps xmm5, xmm5
maxps xmm5, xmm4
mulps xmm5, xmmword [0x1035a480]
addps xmm5, xmmword [0x10358c10]
cvttps2dq xmm4, xmm5
movdqa xmm5, xmm4
pslld xmm5, 0x10
pslld xmm4, 8
movd ecx, xmm4
or ecx, eax
pshufd xmm4, xmm5, 0x55
movd eax, xmm4
minss xmm0, xmm1
maxss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm6
cvttss2si edx, xmm0
or eax, ecx
shl edx, 0x18
or edx, eax
movups xmm0, xmmword [esp + 0xd0]
sub esp, 0x1c
movss xmm1, dword [esp + 0x9c]
movss dword [esp + 0x18], xmm1
movups xmmword [esp], xmm0
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 1
call fcn.1023a930
add esp, 0x1c
movss xmm0, dword [esp + 0x50]
movss dword [esi + 0x155c], xmm0
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0xc]
jmp 0x1024dce6
movss dword [esp + 0x1c], xmm0
mov eax, dword [edi + 8]
mov dword [esp + 0x50], eax
test al, al
js 0x1024cd45
movss xmm0, dword [edi + 0xc]
movss dword [esp + 0x14], xmm0
movss xmm1, dword [edi + 0x10]
movss dword [esp + 0x90], xmm1
mov ecx, dword [edi + 0x27c]
movss xmm2, dword [0x10357a98]
addss xmm2, xmm1
movss dword [esp + 0xb0], xmm2
movss xmm3, dword [0x1035a6c8]
addss xmm3, xmm0
movss dword [esp + 0xe0], xmm3
movss dword [esp + 0x30], xmm3
movss dword [esp + 0x34], xmm2
movss dword [esp + 0x74], xmm0
movss dword [esp + 0x78], xmm1
lea edx, [esp + 0x74]
push 0xf
push 0
push 0x64242424
lea eax, [esp + 0x3c]
push eax
push edx
call fcn.1025cb20
mov ecx, dword [edi + 0x27c]
movss xmm0, dword [esp + 0xe0]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0xb0]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x14]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [esp + 0x90]
movss dword [esp + 0x78], xmm0
sub esp, 0x18
movaps xmm0, xmmword [str.___d]
movups xmmword [esp + 8], xmm0
lea eax, [esp + 0x48]
mov dword [esp + 4], eax
lea eax, [esp + 0x8c]
mov dword [esp], eax
call fcn.1025ca40
test byte [esp + 0x50], 1
jne 0x1024ce47
movzx eax, bl
shl eax, 4
mov ecx, dword [0x1042dd60]
movsd xmm4, qword [eax + ecx + 0x1670]
movss xmm0, dword [ecx + 0x1518]
mulss xmm0, dword [eax + ecx + 0x1678]
movss xmm1, dword [0x103564b8]
movss xmm5, dword [eax + ecx + 0x166c]
minss xmm5, xmm1
xorps xmm2, xmm2
maxss xmm5, xmm2
movss xmm3, dword [0x103564b0]
mulss xmm5, xmm3
movss xmm6, dword [0x103574f4]
addss xmm5, xmm6
cvttss2si eax, xmm5
minps xmm4, xmmword [0x10357430]
xorps xmm5, xmm5
maxps xmm5, xmm4
mulps xmm5, xmmword [0x1035a480]
addps xmm5, xmmword [0x10358c10]
cvttps2dq xmm4, xmm5
movdqa xmm5, xmm4
pslld xmm5, 0x10
pslld xmm4, 8
movd ecx, xmm4
or ecx, eax
pshufd xmm4, xmm5, 0x55
movd eax, xmm4
or eax, ecx
minss xmm0, xmm1
maxss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm6
cvttss2si edx, xmm0
shl edx, 0x18
or edx, eax
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x27c]
lea eax, [esp + 0xd8]
sub esp, 0x14
movss xmm0, dword [esp + 0x94]
movss dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0xe4]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 0x10], 3
call fcn.1025cb20
test dword [esp + 0x50], 0x400
je 0x1024d194
mov eax, dword [esp + 0xc]
movss xmm4, dword [eax + 0x10]
mov ecx, dword [eax + 8]
xorps xmm1, xmm1
mov eax, dword [0x1042dd60]
xorps xmm0, xmm0
test cl, 1
jne 0x1024cea7
mov edx, dword [esp + 0xc]
movss xmm0, dword [edx + 0x274]
mulss xmm0, dword [eax + 0x18d4]
mov edx, dword [edx + 0x2f8]
test edx, edx
je 0x1024ce97
mulss xmm0, dword [edx + 0x274]
movss xmm2, dword [eax + 0x1554]
addss xmm0, xmm2
addss xmm0, xmm2
addss xmm0, xmm4
test ecx, 0x400
je 0x1024cef5
mov ecx, dword [esp + 0xc]
movss xmm1, dword [ecx + 0x148]
movss xmm2, dword [ecx + 0x274]
mulss xmm2, dword [eax + 0x18d4]
mov ecx, dword [ecx + 0x2f8]
test ecx, ecx
je 0x1024cee1
mulss xmm2, dword [ecx + 0x274]
addss xmm2, xmm1
movss xmm1, dword [eax + 0x1554]
addss xmm1, xmm1
addss xmm1, xmm2
addss xmm1, xmm0
mov ecx, dword [esp + 0xc]
movss xmm5, dword [ecx + 0xc]
movss xmm2, dword [ecx + 0x1c]
addss xmm2, xmm5
maxss xmm0, xmm4
addss xmm4, dword [ecx + 0x18]
minss xmm4, xmm1
movss xmm6, dword [ecx + 0x14]
addss xmm6, xmm5
minss xmm6, xmm2
mov ecx, dword [ecx + 0x27c]
xorps xmm1, xmm1
xorps xmm2, xmm2
test byte [esp + 0x50], 1
je 0x1024cf41
movss xmm2, dword [esp + 0x80]
movss dword [esp + 0x14], xmm2
movsd xmm2, qword [eax + 0x16a0]
movss xmm3, dword [eax + 0x169c]
minss xmm3, dword [0x103564b8]
maxss xmm3, xmm1
movss xmm7, dword [0x103564b0]
mulss xmm3, xmm7
movss xmm1, dword [0x103574f4]
addss xmm3, xmm1
cvttss2si edx, xmm3
minps xmm2, xmmword [0x10357430]
xorps xmm3, xmm3
maxps xmm3, xmm2
mulps xmm3, xmmword [0x1035a480]
addps xmm3, xmmword [0x10358c10]
cvttps2dq xmm2, xmm3
movdqa xmm3, xmm2
pslld xmm2, 8
movd edi, xmm2
pslld xmm3, 0x10
pshufd xmm2, xmm3, 0x55
movd ebx, xmm2
movss xmm2, dword [eax + 0x1518]
mulss xmm2, dword [eax + 0x16a8]
minss xmm2, dword [0x103564b8]
maxss xmm2, dword [0x103574f0]
mulss xmm2, xmm7
addss xmm2, xmm1
cvttss2si eax, xmm2
movss dword [esp + 0xb0], xmm6
movaps xmm2, xmm6
movss xmm3, dword [esp + 0x1c]
subss xmm2, xmm3
movss dword [esp + 0x30], xmm2
movss dword [esp + 0x90], xmm5
movaps xmm2, xmm5
addss xmm2, xmm3
movss dword [esp + 0x74], xmm2
movss dword [esp + 0x78], xmm0
or edi, edx
or ebx, edi
shl eax, 0x18
or eax, ebx
movss dword [esp + 0x34], xmm4
sub esp, 0x14
movss xmm0, dword [esp + 0x28]
movss dword [esp + 0xc], xmm0
lea edx, [esp + 0x44]
mov dword [esp + 4], edx
lea edi, [esp + 0x88]
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 0x10], 3
movss dword [esp + 0x28], xmm4
call fcn.1025cb20
movss xmm4, dword [esp + 0x14]
movss xmm0, dword [esi + 0x155c]
xorps xmm1, xmm1
ucomiss xmm1, xmm0
jae 0x1024d194
mov eax, dword [esp + 0xc]
movss xmm1, dword [eax + 0x18]
addss xmm1, dword [eax + 0x10]
ucomiss xmm4, xmm1
jae 0x1024d194
mov ecx, dword [0x1042dd60]
movss xmm1, dword [ecx + 0x161c]
movss xmm5, dword [0x103564b8]
minss xmm1, xmm5
xorps xmm2, xmm2
maxss xmm1, xmm2
movss xmm6, dword [0x103564b0]
mulss xmm1, xmm6
movss xmm7, dword [0x103574f4]
addss xmm1, xmm7
cvttss2si eax, xmm1
movsd xmm1, qword [ecx + 0x1620]
minps xmm1, xmmword [0x10357430]
xorps xmm3, xmm3
maxps xmm3, xmm1
mulps xmm3, xmmword [0x1035a480]
addps xmm3, xmmword [0x10358c10]
cvttps2dq xmm1, xmm3
movdqa xmm3, xmm1
pslld xmm1, 8
movd edx, xmm1
movss xmm1, dword [ecx + 0x1518]
mulss xmm1, dword [ecx + 0x1628]
pslld xmm3, 0x10
pshufd xmm3, xmm3, 0x55
mov esi, edi
movd edi, xmm3
minss xmm1, xmm5
maxss xmm1, xmm2
mulss xmm1, xmm6
addss xmm1, xmm7
cvttss2si ebx, xmm1
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x27c]
movss xmm1, dword [esp + 0xb0]
movss dword [esp + 0x30], xmm1
movss xmm1, dword [esp + 0x90]
movss dword [esp + 0x74], xmm1
movss dword [esp + 0x34], xmm4
movss dword [esp + 0x78], xmm4
or edx, eax
or edi, edx
shl ebx, 0x18
or ebx, edi
sub esp, 0x10
movss dword [esp + 0xc], xmm0
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], ebx
call fcn.1025c870
mov edi, dword [esp + 0xc]
cmp byte [edi + 0x78], 0
je 0x1024d1a8
push 0
call fcn.10276350
add esp, 4
cmp byte [edi + 0x79], 0
je 0x1024d1b8
push 1
call fcn.10276350
add esp, 4
test byte [esp + 0x50], 2
jne 0x1024d5b7
movss xmm1, dword [esp + 0x7c]
addss xmm1, dword [0x103564b8]
movss xmm0, dword [0x1035753c]
movaps xmm2, xmmword [esp + 0x160]
mulss xmm0, xmm2
addss xmm0, xmm1
mulss xmm2, dword [0x1035a698]
maxss xmm2, xmm0
cvttps2dq xmm0, xmm2
cvtdq2ps xmm0, xmm0
movaps xmmword [esp + 0x90], xmm0
movss xmm0, dword [esp + 0x1c]
addss xmm0, dword [esp + 0x80]
movss dword [esp + 0xb0], xmm0
xor eax, eax
mov esi, 0x1035a0e0
jmp 0x1024d322
push dword [0x1042dd68]
push eax
call dword [0x103c5570]
add esp, 8
mov eax, dword [esp + 0x7c]
mov dword [edi + 0x60], eax
mov dword [edi + 0x5c], ebx
mov eax, dword [edi + 0x58]
movss xmm1, dword [esp + 0x14]
movss xmm2, dword [esp + 0xe0]
movss xmm3, dword [esp + 0x6c]
movss xmm4, dword [esp + 0x120]
movss xmm5, dword [esp + 0x110]
movss xmm6, dword [esp + 0x140]
mov ecx, dword [edi + 0x60]
movss dword [ecx + eax*8], xmm6
movss dword [ecx + eax*8 + 4], xmm5
add dword [edi + 0x58], 1
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx + 0x27c]
mov eax, dword [esi - 4]
mov edx, dword [esi]
movss xmm0, dword [esp + 0xb0]
mulss xmm3, xmm0
addss xmm3, xmm2
mulss xmm4, xmm0
addss xmm4, xmm1
movss dword [esp + 0x30], xmm4
movss dword [esp + 0x34], xmm3
sub esp, 0x10
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
movss xmm0, dword [esp + 0x90]
movss dword [esp + 4], xmm0
lea eax, [esp + 0x40]
mov dword [esp], eax
call fcn.1025ba90
mov edi, dword [ebx + 0x27c]
mov ecx, edi
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x50]
push dword [esp + esi*4 + 0x150]
push dword [edi + 0x58]
push dword [edi + 0x60]
call fcn.1025b640
mov eax, esi
mov esi, dword [esp + 0x14]
mov dword [edi + 0x58], 0
mov edi, ebx
add eax, 1
add esi, 0x18
cmp dword [esp + 0x2c], eax
je 0x1024d5b7
movss xmm1, dword [esi - 0x14]
movss xmm2, dword [esi - 0x10]
mulss xmm2, dword [edi + 0x18]
addss xmm2, dword [edi + 0x10]
mulss xmm1, dword [edi + 0x14]
addss xmm1, dword [edi + 0xc]
movaps xmm5, xmmword [esp + 0x90]
movss xmm0, dword [esp + 0x1c]
movaps xmm6, xmm0
mov dword [esp + 0x50], eax
test al, 1
je 0x1024d364
movaps xmm5, xmm0
movaps xmm6, xmmword [esp + 0x90]
mov edi, dword [edi + 0x27c]
movss xmm3, dword [esi - 8]
movaps xmm0, xmm3
mulss xmm0, xmm6
movss xmm4, dword [esi - 0xc]
movaps xmm7, xmm4
mulss xmm7, xmm5
addss xmm0, xmm2
addss xmm7, xmm1
mov eax, dword [edi + 0x58]
cmp eax, dword [edi + 0x5c]
jne 0x1024d4b9
lea ebx, [eax + 1]
test eax, eax
je 0x1024d3aa
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1024d3af
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
cmp eax, ebx
jge 0x1024d4b9
movss dword [esp + 0x160], xmm7
movss dword [esp + 0x7c], xmm0
movss dword [esp + 0x140], xmm6
movss dword [esp + 0x110], xmm5
movss dword [esp + 0x120], xmm4
movss dword [esp + 0x6c], xmm3
movss dword [esp + 0xe0], xmm2
movss dword [esp + 0x14], xmm1
lea eax, [ebx*8]
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024d413
add dword [ecx + 0x374], 1
push dword [0x1042dd68]
push eax
call dword [0x103c556c]
add esp, 8
mov edx, dword [edi + 0x60]
test edx, edx
je 0x1024d471
mov ecx, dword [edi + 0x58]
shl ecx, 3
push ecx
push edx
mov dword [esp + 0x144], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x60]
test eax, eax
je 0x1024d45a
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024d45a
add dword [ecx + 0x374], 0xffffffff
push dword [0x1042dd68]
push eax
call dword [0x103c5570]
add esp, 8
mov eax, dword [esp + 0x13c]
mov dword [edi + 0x60], eax
mov dword [edi + 0x5c], ebx
mov eax, dword [edi + 0x58]
movss xmm1, dword [esp + 0x14]
movss xmm2, dword [esp + 0xe0]
movss xmm3, dword [esp + 0x6c]
movss xmm4, dword [esp + 0x120]
movss xmm5, dword [esp + 0x110]
movss xmm6, dword [esp + 0x140]
movss xmm0, dword [esp + 0x7c]
movss xmm7, dword [esp + 0x160]
mov ecx, dword [edi + 0x60]
movss dword [ecx + eax*8], xmm7
movss dword [ecx + eax*8 + 4], xmm0
add dword [edi + 0x58], 1
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x27c]
mulss xmm5, xmm3
mulss xmm6, xmm4
addss xmm5, xmm2
addss xmm6, xmm1
mov eax, dword [edi + 0x58]
cmp eax, dword [edi + 0x5c]
jne 0x1024d275
lea ebx, [eax + 1]
test eax, eax
je 0x1024d505
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1024d50a
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
cmp eax, ebx
jge 0x1024d275
movss dword [esp + 0x140], xmm6
movss dword [esp + 0x110], xmm5
movss dword [esp + 0x120], xmm4
movss dword [esp + 0x6c], xmm3
movss dword [esp + 0xe0], xmm2
movss dword [esp + 0x14], xmm1
lea eax, [ebx*8]
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024d55f
add dword [ecx + 0x374], 1
push dword [0x1042dd68]
push eax
call dword [0x103c556c]
add esp, 8
mov edx, dword [edi + 0x60]
test edx, edx
je 0x1024d23c
mov ecx, dword [edi + 0x58]
shl ecx, 3
push ecx
push edx
mov dword [esp + 0x84], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x60]
test eax, eax
je 0x1024d228
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024d228
add dword [ecx + 0x374], 0xffffffff
jmp 0x1024d228
mov ebx, dword [0x1042dd60]
movss xmm7, dword [edi + 0x3c]
movss xmm1, dword [edi + 0x40]
xorps xmm0, xmm0
movss dword [esp + 0x50], xmm1
ucomiss xmm0, xmm1
movss dword [esp + 0x14], xmm7
jae 0x1024d6ef
cmp byte [edi + 8], 0
js 0x1024d6ef
movsd xmm4, qword [ebx + 0x1620]
movss xmm0, dword [ebx + 0x1518]
mulss xmm0, dword [ebx + 0x1628]
movss xmm1, dword [0x103564b8]
movss xmm5, dword [ebx + 0x161c]
minss xmm5, xmm1
xorps xmm2, xmm2
maxss xmm5, xmm2
movss xmm3, dword [0x103564b0]
mulss xmm5, xmm3
movss xmm6, dword [0x103574f4]
addss xmm5, xmm6
cvttss2si eax, xmm5
minps xmm4, xmmword [0x10357430]
xorps xmm5, xmm5
maxps xmm5, xmm4
mulps xmm5, xmmword [0x1035a480]
addps xmm5, xmmword [0x10358c10]
cvttps2dq xmm4, xmm5
movdqa xmm5, xmm4
pslld xmm5, 0x10
pslld xmm4, 8
movd ecx, xmm4
or ecx, eax
pshufd xmm4, xmm5, 0x55
movd eax, xmm4
or eax, ecx
minss xmm0, xmm1
maxss xmm0, xmm2
mulss xmm0, xmm3
addss xmm0, xmm6
cvttss2si edx, xmm0
lea esi, [edi + 0xc]
shl edx, 0x18
or edx, eax
mov ecx, dword [edi + 0x27c]
movss xmm0, dword [edi + 0x14]
movss xmm1, dword [edi + 0x18]
addss xmm1, dword [edi + 0x10]
addss xmm0, dword [edi + 0xc]
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x34], xmm1
sub esp, 0x18
movss xmm0, dword [esp + 0x68]
movss dword [esp + 0x14], xmm0
movss dword [esp + 0xc], xmm7
lea eax, [esp + 0x48]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], edx
mov dword [esp + 0x10], 0xf
call fcn.1025ca40
movss xmm7, dword [esp + 0x14]
mov eax, dword [esp + 0xfc]
movsx esi, byte [eax]
cmp esi, 0xffffffff
je 0x1024db6d
mov eax, dword [0x1042dde0]
mov ecx, dword [0x10433bc4]
mov edx, dword fs:[0x2c]
mov ecx, dword [edx + ecx*4]
cmp eax, dword [ecx + 8]
jg 0x1024e980
cmp esi, 3
movss xmm0, dword [0x10357548]
mov dword [esp + 0x90], ebx
ja case.default.0x1024d762
movss xmm3, dword [edi + 0xc]
movss xmm2, dword [0x103564bc]
movaps xmm0, xmm3
addss xmm0, xmm2
addss xmm0, dword [edi + 0x14]
movss xmm4, dword [edi + 0x10]
addss xmm2, xmm4
addss xmm2, dword [edi + 0x18]
jmp dword [esi*4 + 0x10359c60]
subss xmm0, xmm7
addss xmm3, xmm7
movaps xmm5, xmm3
movaps xmm3, xmm0
movaps xmm2, xmm4
jmp 0x1024d8f3
movss xmm0, dword [edi + 0x20]
xorps xmm1, xmm1
cmp byte [esp + 0x90], 0
jne 0x1024d7a1
movsd xmm2, qword [edi + 0x24]
movsd xmm1, qword [edi + 0x34]
addps xmm1, xmm1
addps xmm1, xmm2
movss xmm2, dword [edi + 0x1c]
subss xmm0, dword [esp + 0x24]
movaps xmm4, xmm2
movaps xmm3, xmm0
test al, al
mov cl, byte [esp + 0x110]
jne 0x1024d7eb
mov eax, dword [esp + 0xc]
movss xmm3, dword [eax + 0x1ec]
movss xmm4, dword [eax + 0x1e8]
subss xmm3, dword [eax + 0x1e4]
subss xmm4, dword [eax + 0x1e0]
addss xmm3, dword [eax + 0x74]
addss xmm4, dword [eax + 0x70]
test cl, cl
jne 0x1024d7f2
movaps xmm2, xmm4
cmp byte [esp + 0x80], 0
mov eax, dword [esp + 0x10]
jne 0x1024d803
movaps xmm0, xmm3
test eax, 0x4000
jne 0x1024d846
mov edi, esi
movaps xmm3, xmm1
shufps xmm3, xmm1, 0x55
ucomiss xmm3, xmm0
seta cl
test al, 8
mov esi, eax
sete al
and al, cl
mov edx, dword [esp + 0xc]
lea ecx, [edx + 0x79]
mov byte [edx + 0x79], al
test si, si
js 0x1024e900
test al, al
mov ebx, dword [esp + 0x20]
mov esi, edi
jne 0x1024d860
xorps xmm3, xmm3
xor eax, eax
jmp 0x1024d86a
mov ecx, eax
mov eax, dword [esp + 0xc]
mov byte [eax + 0x79], 1
test cx, cx
mov ebx, dword [esp + 0x20]
js 0x1024e910
lea ecx, [eax + 0x79]
movss xmm3, dword [esi + 0x1580]
mov al, 1
subss xmm2, xmm3
ucomiss xmm1, xmm2
jbe 0x1024e8f3
mov edx, dword [esp + 0x10]
and edx, 8
jne 0x1024e8f3
mov ebx, dword [esp + 0x10]
and ebx, 0x800
mov edx, ebx
shr edx, 0xb
mov esi, dword [esp + 0xc]
mov byte [esi + 0x78], dl
xorps xmm2, xmm2
test ebx, ebx
jne 0x1024e918
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
jmp 0x1024e953
movss xmm3, dword [0x1035a660]
movaps xmm4, xmm0
movaps xmm2, xmm3
movaps xmm5, xmm0
jmp 0x1024d8f3
subss xmm2, xmm7
addss xmm4, xmm7
movaps xmm3, xmm0
movaps xmm5, xmm0
jmp 0x1024d8f3
subss xmm0, xmm7
addss xmm3, xmm7
movaps xmm5, xmm3
movaps xmm4, xmm2
movaps xmm3, xmm0
jmp 0x1024d8f3
subss xmm2, xmm7
addss xmm4, xmm7
movaps xmm5, xmm3
lea eax, [esi + esi*8]
lea edi, [eax + eax*2]
movss xmm0, dword [esi + edi + 0x1042dd74]
mulss xmm0, xmm7
movss xmm1, dword [esi + edi + 0x1042dd70]
mulss xmm1, xmm7
subss xmm2, xmm4
movaps xmm6, xmm2
movss dword [esp + 0x80], xmm2
movss xmm2, dword [esi + edi + 0x1042dd7c]
mulss xmm2, xmm6
subss xmm3, xmm5
movss dword [esp + 0x1c], xmm3
movaps xmm6, xmm5
movss xmm5, dword [0x103574f4]
addss xmm4, xmm5
movss dword [esp + 0xb0], xmm4
addss xmm0, xmm4
addss xmm0, xmm2
movss xmm2, dword [esi + edi + 0x1042dd78]
mulss xmm2, xmm3
addss xmm6, xmm5
movss dword [esp + 0x2c], xmm6
addss xmm1, xmm6
addss xmm1, xmm2
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx + 0x27c]
movss dword [esp + 0x30], xmm1
movss xmm1, dword [esi + edi + 0x1042dd88]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [0x1035a730]
addss xmm0, xmm1
sub esp, 0x14
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm7
lea eax, [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 0x10], 0xa
call fcn.1025bca0
movss xmm0, dword [esi + edi + 0x1042dd74]
movss xmm2, dword [esp + 0x14]
mulss xmm0, xmm2
addss xmm0, dword [esp + 0xb0]
movss xmm1, dword [esp + 0x80]
mulss xmm1, dword [esi + edi + 0x1042dd84]
addss xmm0, xmm1
movss xmm1, dword [esi + edi + 0x1042dd70]
mulss xmm1, xmm2
movss xmm3, dword [esp + 0x1c]
mulss xmm3, dword [esi + edi + 0x1042dd80]
addss xmm1, dword [esp + 0x2c]
addss xmm1, xmm3
mov ecx, dword [ebx + 0x27c]
movss dword [esp + 0x30], xmm1
movss xmm1, dword [esi + edi + 0x1042dd88]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [0x1035a734]
addss xmm0, xmm1
sub esp, 0x14
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm2
lea eax, [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 0x10], 0xa
call fcn.1025bca0
mov eax, dword [0x1042dd60]
movsd xmm2, qword [eax + 0x17a0]
movss xmm0, dword [0x103564b8]
movss xmm3, dword [eax + 0x179c]
minss xmm3, xmm0
xorps xmm1, xmm1
maxss xmm3, xmm1
movss xmm4, dword [0x103564b0]
mulss xmm3, xmm4
movss xmm5, dword [0x103574f4]
addss xmm3, xmm5
cvttss2si ecx, xmm3
minps xmm2, xmmword [0x10357430]
xorps xmm3, xmm3
maxps xmm3, xmm2
mulps xmm3, xmmword [0x1035a480]
addps xmm3, xmmword [0x10358c10]
cvttps2dq xmm2, xmm3
movdqa xmm3, xmm2
pslld xmm2, 8
movd edx, xmm2
movss xmm2, dword [eax + 0x1518]
mulss xmm2, dword [eax + 0x17a8]
minss xmm2, xmm0
maxss xmm2, xmm1
mulss xmm2, xmm4
addss xmm2, xmm5
cvttss2si eax, xmm2
mov edi, dword [ebx + 0x27c]
pslld xmm3, 0x10
or edx, ecx
pshufd xmm0, xmm3, 0x55
movd ecx, xmm0
movss xmm0, dword [0x1035735c]
maxss xmm0, dword [esp + 0x50]
or ecx, edx
shl eax, 0x18
or eax, ecx
mov ecx, dword [edi + 0x58]
mov edx, dword [edi + 0x60]
sub esp, 0x14
movss dword [esp + 0x10], xmm0
mov dword [esp + 4], ecx
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov ecx, edi
call fcn.1025ad30
mov dword [edi + 0x58], 0
mov edi, ebx
mov ebx, dword [esp + 0x90]
movss xmm0, dword [ebx + 0x155c]
xorps xmm1, xmm1
ucomiss xmm1, xmm0
mov ebx, dword [esp + 0x18]
jae 0x1024dce6
test byte [edi + 8], 1
jne 0x1024dce6
movss xmm3, dword [edi + 0x10]
mov eax, dword [0x1042dd60]
movss xmm2, dword [edi + 0x274]
mulss xmm2, dword [eax + 0x18d4]
mov ecx, dword [edi + 0x2f8]
test ecx, ecx
je 0x1024dbbb
mulss xmm2, dword [ecx + 0x274]
movss xmm4, dword [eax + 0x1554]
addss xmm4, xmm4
addss xmm4, xmm2
movss xmm6, dword [eax + 0x161c]
minss xmm6, dword [0x103564b8]
xorps xmm2, xmm2
maxss xmm6, xmm2
movss xmm5, dword [0x103564b0]
mulss xmm6, xmm5
movss xmm7, dword [0x103574f4]
addss xmm6, xmm7
cvttss2si ecx, xmm6
mov dword [esp + 0x14], ecx
movsd xmm6, qword [eax + 0x1620]
minps xmm6, xmmword [0x10357430]
xorps xmm1, xmm1
maxps xmm1, xmm6
addss xmm3, dword [0x103564bc]
mulps xmm1, xmmword [0x1035a480]
addss xmm3, xmm4
addps xmm1, xmmword [0x10358c10]
cvttps2dq xmm1, xmm1
movdqa xmm4, xmm1
pslld xmm1, 8
movd esi, xmm1
pslld xmm4, 0x10
pshufd xmm1, xmm4, 0x55
movd ecx, xmm1
movss xmm1, dword [eax + 0x1518]
mulss xmm1, dword [eax + 0x1628]
minss xmm1, dword [0x103564b8]
maxss xmm1, xmm2
mulss xmm1, xmm5
mov edi, dword [esp + 0xc]
mov edx, dword [edi + 0x27c]
addss xmm1, xmm7
cvttss2si eax, xmm1
movss xmm1, dword [edi + 0xc]
movaps xmm2, xmm1
movss xmm4, dword [esp + 0x50]
subss xmm2, xmm4
addss xmm2, dword [edi + 0x14]
movss dword [esp + 0x30], xmm2
addss xmm1, xmm4
movss dword [esp + 0x74], xmm1
movss dword [esp + 0x34], xmm3
movss dword [esp + 0x78], xmm3
or esi, dword [esp + 0x14]
or ecx, esi
shl eax, 0x18
or eax, ecx
sub esp, 0x10
movss dword [esp + 0xc], xmm0
mov dword [esp + 8], eax
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
lea eax, [esp + 0x84]
mov dword [esp], eax
mov ecx, edx
call fcn.1025c870
cmp byte [esp + 0xac], 0
mov esi, dword [esp + 0x20]
je 0x1024dd00
lea eax, [edi + 0x280]
mov dword [edi + 0x27c], eax
cmp dword [ebx + 0x1b18], edi
jne 0x1024de7f
movss xmm1, dword [edi + 0x3c]
movss xmm0, dword [ebx + 0x1524]
maxss xmm0, xmm1
movsd xmm2, qword [edi + 0xc]
movsd xmm3, qword [edi + 0x14]
addps xmm3, xmm2
movlhps xmm2, xmm3
movss xmm3, dword [ebx + 0x18d0]
shufps xmm3, xmm3, 0
movaps xmm4, xmm2
subps xmm4, xmm3
addps xmm3, xmm2
movaps xmm5, xmm3
movsd xmm5, xmm4
movupd xmmword [esp + 0x30], xmm5
ucomiss xmm4, dword [esp + 0x40]
ja 0x1024dd95
shufps xmm4, xmm4, 0x55
movss xmm5, dword [esp + 0x44]
ucomiss xmm5, xmm4
jb 0x1024dd95
movss xmm4, dword [esp + 0x48]
movaps xmm5, xmm3
unpckhpd xmm5, xmm3
ucomiss xmm4, xmm5
ja 0x1024dd95
movss xmm4, dword [esp + 0x4c]
shufps xmm3, xmm3, 0xff
ucomiss xmm4, xmm3
ja 0x1024dd95
addps xmm2, xmmword [0x1035a610]
movups xmmword [esp + 0x30], xmm2
movaps xmm0, xmm1
mov eax, dword [0x1042dd60]
movss xmm1, dword [eax + 0x18a8]
mulss xmm1, dword [ebx + 0x1b24]
movsd xmm5, qword [eax + 0x18a0]
mulss xmm1, dword [eax + 0x1518]
movss xmm2, dword [0x103564b8]
movss xmm6, dword [eax + 0x189c]
minss xmm6, xmm2
xorps xmm3, xmm3
maxss xmm6, xmm3
movss xmm4, dword [0x103564b0]
mulss xmm6, xmm4
movss xmm7, dword [0x103574f4]
addss xmm6, xmm7
cvttss2si eax, xmm6
minps xmm5, xmmword [0x10357430]
xorps xmm6, xmm6
maxps xmm6, xmm5
mulps xmm6, xmmword [0x1035a480]
addps xmm6, xmmword [0x10358c10]
cvttps2dq xmm5, xmm6
movdqa xmm6, xmm5
pslld xmm6, 0x10
pslld xmm5, 8
movd ecx, xmm5
or ecx, eax
pshufd xmm5, xmm6, 0x55
movd eax, xmm5
or eax, ecx
minss xmm1, xmm2
maxss xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm7
cvttss2si edx, xmm1
mov ecx, dword [edi + 0x27c]
shl edx, 0x18
or edx, eax
lea eax, [esp + 0x38]
sub esp, 0x18
movss dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x48]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 0x14], 0x40400000
mov dword [esp + 0x10], 0xffffffff
call fcn.1025ca40
movss xmm0, dword [edi + 0x2c]
xorps xmm1, xmm1
ucomiss xmm1, xmm0
movaps xmm2, xmm0
mov eax, dword [esp + 0x10]
jne 0x1024dec6
and eax, 0x808
movss xmm2, dword [edi + 0x14]
subss xmm2, dword [edi + 0x70]
movss xmm3, dword [edi + 0x34]
addss xmm3, xmm3
subss xmm2, xmm3
cmp eax, 0x800
jne 0x1024debb
movss xmm1, dword [edi + 0x24]
maxss xmm1, xmm2
movaps xmm2, xmm1
mov eax, dword [esp + 0x10]
movss dword [esp + 0x50], xmm0
movss xmm1, dword [edi + 0x30]
xorpd xmm7, xmm7
ucomiss xmm7, xmm1
movss dword [esp + 0x90], xmm1
movss dword [esp + 0x14], xmm2
je 0x1024def3
movss xmm0, dword [edi + 0x38]
movaps xmm7, xmm1
jmp 0x1024df24
movss xmm3, dword [edi + 0x18]
movss xmm4, dword [edi + 0x38]
movaps xmm0, xmm4
addss xmm4, xmm4
subss xmm3, xmm4
movss xmm4, dword [edi + 0x74]
addss xmm4, dword [esp + 0x24]
subss xmm3, xmm4
test al, 8
jne 0x1024df20
movss xmm7, dword [edi + 0x28]
maxss xmm7, xmm3
movss xmm2, dword [edi + 0x1e0]
movss xmm1, dword [edi + 0x50]
subss xmm2, xmm1
movss xmm4, dword [edi + 0x40]
movss xmm3, dword [edi + 0xc]
movss dword [esp + 0x80], xmm3
movss xmm3, dword [edi + 0x34]
movaps xmm5, xmm3
maxss xmm5, xmm4
addss xmm5, xmm2
cvttps2dq xmm2, xmm5
cvtdq2ps xmm2, xmm2
movss dword [edi + 0x200], xmm2
movss xmm5, dword [edi + 0x1e4]
movss xmm6, dword [edi + 0x54]
movss dword [esp + 0x2c], xmm6
subss xmm5, xmm6
maxss xmm4, xmm0
addss xmm4, xmm5
movss xmm5, dword [esp + 0x80]
movss xmm6, dword [esp + 0x14]
addss xmm6, xmm2
cvttps2dq xmm2, xmm4
cvtdq2ps xmm2, xmm2
movss dword [edi + 0x204], xmm2
movss dword [edi + 0x208], xmm6
addss xmm7, xmm2
xorps xmm4, xmm4
movss xmm2, dword [esp + 0x50]
ucomiss xmm2, xmm4
movss dword [edi + 0x20c], xmm7
movaps xmm6, xmm0
addss xmm6, dword [esp + 0x24]
subss xmm6, dword [esp + 0x2c]
movaps xmm7, xmm5
movss dword [esp + 0x14], xmm1
subss xmm7, xmm1
addss xmm7, xmm3
movss dword [edi + 0x220], xmm7
addss xmm6, dword [edi + 0x10]
movss dword [edi + 0x224], xmm6
movaps xmm4, xmm0
jne 0x1024e017
movss xmm2, dword [edi + 0x14]
movaps xmm0, xmm3
addss xmm0, xmm3
subss xmm2, xmm0
subss xmm2, dword [edi + 0x70]
movss xmm1, dword [esp + 0x90]
ucomiss xmm1, dword [0x103574f0]
addss xmm2, xmm7
movss dword [edi + 0x228], xmm2
jne 0x1024e051
movss xmm1, dword [edi + 0x18]
addss xmm4, xmm4
subss xmm1, xmm4
movss xmm0, dword [esp + 0x24]
addss xmm0, dword [edi + 0x74]
subss xmm1, xmm0
addss xmm1, xmm6
movss dword [edi + 0x22c], xmm1
subss xmm3, dword [esp + 0x14]
movss dword [edi + 0x1b4], xmm3
mov dword [edi + 0x1b8], 0
mov dword [edi + 0x1bc], 0
addss xmm5, xmm3
movss dword [edi + 0xd8], xmm5
movss dword [edi + 0xdc], xmm6
mov eax, dword [edi + 0xd8]
mov ecx, dword [edi + 0xdc]
movd xmm0, ecx
movd xmm1, eax
punpckldq xmm1, xmm0
pshufd xmm0, xmm1, 0x44
movdqu xmmword [edi + 0xc8], xmm0
mov dword [edi + 0xe4], ecx
mov dword [edi + 0xe0], eax
mov byte [edi + 0x140], 0
pxor xmm0, xmm0
movdqu xmmword [edi + 0xe8], xmm0
mov dword [edi + 0xfc], 0
mov dword [edi + 0xf8], 0
pxor xmm0, xmm0
ucomiss xmm0, dword [edi + 0x5c]
setb byte [edi + 0x141]
mov eax, dword [edi + 0x13c]
mov dword [edi + 0x138], eax
mov dword [edi + 0x13c], 0
mov byte [edi + 0x142], 0
cmp dword [edi + 0x150], 0
jns 0x1024e1ae
mov eax, dword [0x1042dd60]
test eax, eax
je 0x1024e134
add dword [eax + 0x374], 1
push dword [0x1042dd68]
push 0
call dword [0x103c556c]
add esp, 8
mov edi, eax
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x154]
test eax, eax
je 0x1024e198
mov ecx, dword [esi + 0x14c]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x154]
test eax, eax
je 0x1024e184
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024e184
add dword [ecx + 0x374], 0xffffffff
push dword [0x1042dd68]
push eax
call dword [0x103c5570]
add esp, 8
mov esi, dword [esp + 0xc]
mov dword [esi + 0x154], edi
mov dword [esi + 0x150], 0
mov edi, esi
mov esi, dword [esp + 0x20]
mov dword [edi + 0x14c], 0
mov dword [edi + 0x15c], 1
test esi, esi
je 0x1024e1ee
mov eax, dword [esi + 0x15c]
mov dword [edi + 0x160], eax
mov dword [edi + 0x168], 0xffffffff
mov dword [edi + 0x164], 0xffffffff
mov eax, dword [esi + 0x16c]
jmp 0x1024e20e
mov dword [edi + 0x160], 1
mov dword [edi + 0x168], 0xffffffff
mov dword [edi + 0x164], 0xffffffff
xor eax, eax
mov dword [edi + 0x16c], eax
movss xmm0, dword [edi + 0x234]
movss dword [edi + 0x170], xmm0
mov dword [edi + 0x174], 0xbf800000
cmp dword [edi + 0x17c], 0
jns 0x1024e2c5
mov eax, dword [0x1042dd60]
test eax, eax
je 0x1024e24b
add dword [eax + 0x374], 1
push dword [0x1042dd68]
push 0
call dword [0x103c556c]
add esp, 8
mov edi, eax
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x180]
test eax, eax
je 0x1024e2af
mov ecx, dword [esi + 0x178]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x180]
test eax, eax
je 0x1024e29b
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024e29b
add dword [ecx + 0x374], 0xffffffff
push dword [0x1042dd68]
push eax
call dword [0x103c5570]
add esp, 8
mov esi, dword [esp + 0xc]
mov dword [esi + 0x180], edi
mov dword [esi + 0x17c], 0
mov edi, esi
mov esi, dword [esp + 0x20]
mov dword [edi + 0x178], 0
cmp dword [edi + 0x188], 0
jns 0x1024e366
mov eax, dword [0x1042dd60]
test eax, eax
je 0x1024e2ec
add dword [eax + 0x374], 1
push dword [0x1042dd68]
push 0
call dword [0x103c556c]
add esp, 8
mov edi, eax
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x18c]
test eax, eax
je 0x1024e350
mov ecx, dword [esi + 0x184]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x18c]
test eax, eax
je 0x1024e33c
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024e33c
add dword [ecx + 0x374], 0xffffffff
push dword [0x1042dd68]
push eax
call dword [0x103c5570]
add esp, 8
mov esi, dword [esp + 0xc]
mov dword [esi + 0x18c], edi
mov dword [esi + 0x188], 0
mov edi, esi
mov esi, dword [esp + 0x20]
mov dword [edi + 0x184], 0
cmp dword [edi + 0x194], 0
jns 0x1024e407
mov eax, dword [0x1042dd60]
test eax, eax
je 0x1024e38d
add dword [eax + 0x374], 1
push dword [0x1042dd68]
push 0
call dword [0x103c556c]
add esp, 8
mov edi, eax
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x198]
test eax, eax
je 0x1024e3f1
mov ecx, dword [esi + 0x190]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x198]
test eax, eax
je 0x1024e3dd
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024e3dd
add dword [ecx + 0x374], 0xffffffff
push dword [0x1042dd68]
push eax
call dword [0x103c5570]
add esp, 8
mov esi, dword [esp + 0xc]
mov dword [esi + 0x198], edi
mov dword [esi + 0x194], 0
mov edi, esi
mov esi, dword [esp + 0x20]
mov dword [edi + 0x190], 0
mov dword [edi + 0x1c0], 0
mov dword [edi + 0x100], 0
mov dword [edi + 0x104], 0
lea eax, [edi + 0x25c]
mov dword [edi + 0x158], eax
cmp dword [edi + 0x1a0], 0
jns 0x1024e4d0
mov eax, dword [0x1042dd60]
test eax, eax
je 0x1024e458
add dword [eax + 0x374], 1
push dword [0x1042dd68]
push 0
call dword [0x103c556c]
add esp, 8
mov edi, eax
mov esi, dword [esp + 0xc]
mov eax, dword [esi + 0x1a4]
test eax, eax
je 0x1024e4ba
imul ecx, dword [esi + 0x19c], 0x2c
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x1a4]
test eax, eax
je 0x1024e4a6
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024e4a6
add dword [ecx + 0x374], 0xffffffff
push dword [0x1042dd68]
push eax
call dword [0x103c5570]
add esp, 8
mov esi, dword [esp + 0xc]
mov dword [esi + 0x1a4], edi
mov dword [esi + 0x1a0], 0
mov edi, esi
mov esi, dword [esp + 0x20]
mov dword [edi + 0x19c], 0
lea ecx, [edi + 0x238]
movss xmm0, dword [ebx + 0x1560]
sub esp, 0xc
movzx eax, byte [esp + 0x37]
mov dword [esp + 8], eax
movss dword [esp + 4], xmm0
mov dword [esp], 3
call fcn.1028bff0
test dword [esp + 0x10], 0x1000000
je 0x1024e60d
mov eax, dword [esi + 0x16c]
cmp dword [edi + 0x16c], eax
je 0x1024e60d
mov dword [edi + 0x16c], eax
mov ecx, dword [edi + 0x178]
cmp ecx, dword [edi + 0x17c]
jne 0x1024e5fd
lea esi, [ecx + 1]
test ecx, ecx
je 0x1024e552
mov edx, ecx
shr edx, 0x1f
add edx, ecx
sar edx, 1
add edx, ecx
jmp 0x1024e557
mov edx, 8
cmp edx, esi
cmovg esi, edx
cmp ecx, esi
jge 0x1024e5fd
lea eax, [esi*4]
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024e57c
add dword [ecx + 0x374], 1
push dword [0x1042dd68]
push eax
call dword [0x103c556c]
add esp, 8
mov edi, dword [esp + 0xc]
mov edx, dword [edi + 0x180]
test edx, edx
je 0x1024e5e5
mov ecx, dword [edi + 0x178]
shl ecx, 2
push ecx
push edx
mov dword [esp + 0x58], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x180]
test eax, eax
je 0x1024e5cd
mov ecx, dword [0x1042dd60]
test ecx, ecx
je 0x1024e5cd
add dword [ecx + 0x374], 0xffffffff
push dword [0x1042dd68]
push eax
call dword [0x103c5570]
add esp, 8
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x50]
mov dword [edi + 0x180], eax
mov dword [edi + 0x17c], esi
mov eax, dword [edi + 0x16c]
mov ecx, dword [edi + 0x178]
mov edx, dword [edi + 0x180]
mov dword [edx + ecx*4], eax
add dword [edi + 0x178], 1
mov eax, dword [edi + 0x90]
test eax, eax
jle 0x1024e620
add eax, 0xffffffff
mov dword [edi + 0x90], eax
mov eax, dword [edi + 0x94]
test eax, eax
jle 0x1024e633
add eax, 0xffffffff
mov dword [edi + 0x94], eax
test byte [esp + 0x100], 1
je 0x1024e6de
push edi
call fcn.1023e070
add esp, 4
mov eax, dword [0x1042dd60]
mov ecx, dword [edi + 8]
test ecx, 0x40000
jne 0x1024e6d2
and ecx, 0x5000000
cmp ecx, 0x1000000
jne 0x1024e672
mov ecx, dword [edi + 0x30c]
test ecx, ecx
jne 0x1024e6d8
mov ecx, dword [eax + 0x1ad4]
mov edx, dword [eax + 0x1b2c]
mov dword [eax + 0x1ad8], 0
mov dword [ecx + edx*4 + 0x30c], 0
mov word [eax + 0x1b39], 1
mov dword [eax + 0x1b3c], 0
movaps xmm0, xmmword [0x1035a4f0]
movups xmmword [eax + 0x1b40], xmm0
mov eax, dword [0x1042dd60]
mov cl, 1
cmp byte [eax + 0x1b51], 0
jne 0x1024e6ca
mov cl, byte [eax + 0x1b39]
mov byte [eax + 0x1b38], cl
jmp 0x1024e6de
mov ecx, dword [edi + 0x30c]
mov dword [eax + 0x1ad8], ecx
test byte [esp + 0x10], 1
jne 0x1024e6fc
lea edx, [esp + 0xd0]
mov ecx, edi
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.1024a830
add esp, 8
mov eax, dword [edi + 0x48]
mov dword [edi + 0x108], eax
mov eax, dword [0x1042dd60]
movss xmm2, dword [esp + 0xd0]
movss xmm0, dword [eax + 0x1570]
subss xmm2, xmm0
movss xmm1, dword [eax + 0xe4]
xor ecx, ecx
ucomiss xmm2, xmm1
ja 0x1024e776
movss xmm2, dword [eax + 0x1574]
movss xmm3, dword [esp + 0xd4]
subss xmm3, xmm2
addss xmm0, dword [esp + 0xd8]
addss xmm2, dword [esp + 0xdc]
movss xmm4, dword [eax + 0xe8]
ucomiss xmm3, xmm4
setbe cl
ucomiss xmm1, xmm0
setb dl
and dl, cl
ucomiss xmm2, xmm4
seta cl
and cl, dl
movzx ecx, cl
mov dword [edi + 0x10c], ecx
movups xmm0, xmmword [esp + 0xd0]
movups xmmword [edi + 0x110], xmm0
mov ecx, dword [eax + 0x19b4]
mov byte [ecx + 0x7c], 1
mov esi, dword [eax + 0x19b4]
mov ecx, dword [esi + 0x27c]
movups xmm0, xmmword [edi + 0x1f0]
sub esp, 0x14
movups xmmword [esp], xmm0
mov dword [esp + 0x10], 1
call fcn.1025a6a0
mov eax, dword [esi + 0x27c]
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0x48]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [esi + 0x210], xmm0
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0xcc]
je 0x1024e7e8
mov byte [edi + 0x7c], 0
add word [edi + 0x84], 1
mov dword [ebx + 0x1a30], 0
mov eax, dword [esp + 0x10]
test eax, 0x1000000
mov ecx, dword [esp + 0x20]
je 0x1024e881
test al, 0x40
jne 0x1024e84b
cmp dword [edi + 0x90], 0
jg 0x1024e84b
cmp dword [edi + 0x94], 0
jg 0x1024e84b
movss xmm0, dword [edi + 0x1d0]
ucomiss xmm0, dword [edi + 0x1d8]
jae 0x1024e841
movss xmm0, dword [edi + 0x1d4]
ucomiss xmm0, dword [edi + 0x1dc]
jb 0x1024e84b
mov dword [edi + 0xa4], 1
test ecx, ecx
je 0x1024e881
cmp byte [ecx + 0x7d], 0
jne 0x1024e85e
cmp dword [ecx + 0xa4], 0
jle 0x1024e86e
mov dword [edi + 0xa4], 1
cmp byte [ecx + 0x7d], 0
jne 0x1024e877
cmp dword [ecx + 0xa8], 0
jle 0x1024e881
mov dword [edi + 0xa8], 1
xorps xmm0, xmm0
ucomiss xmm0, dword [ebx + 0x1518]
jae 0x1024e8a4
mov al, 1
cmp dword [edi + 0xa4], 0
jg 0x1024e8b0
cmp dword [edi + 0xa8], 0
setg al
jmp 0x1024e8b0
mov dword [edi + 0xa4], 1
mov al, 1
mov byte [edi + 0x81], al
cmp byte [edi + 0x7d], 0
je 0x1024e8da
cmp dword [edi + 0x90], 0
jg 0x1024e8e4
cmp dword [edi + 0x94], 0
jg 0x1024e8e4
cmp dword [edi + 0xa8], 0
setle al
jmp 0x1024e8e6
cmp byte [edi + 0x7a], 0
je 0x1024e8bc
test al, al
jne 0x1024e8bc
xor eax, eax
mov byte [edi + 0x7f], al
xor al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0xc]
mov byte [ecx + 0x78], 0
xorps xmm2, xmm2
jmp 0x1024e953
mov byte [edx + 0x78], 1
test al, al
mov ebx, dword [esp + 0x20]
mov esi, edi
je 0x1024e924
jmp 0x1024e94b
mov byte [eax + 0x78], 1
mov al, 1
jmp 0x1024e94b
test al, al
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
jne 0x1024e947
mov eax, dword [esp + 0xc]
lea esi, [eax + 0x78]
shufps xmm1, xmm1, 0x55
ucomiss xmm1, xmm0
seta dl
test byte [esp + 0x10], 8
sete al
and al, dl
mov byte [ecx], al
mov dl, byte [esi]
mov esi, dword [esp + 0x18]
test dl, dl
je 0x1024e97b
movss xmm2, dword [esi + 0x1580]
test al, al
lea edx, [esp + 0x44]
je 0x1024e965
movss xmm0, dword [esi + 0x1580]
jmp 0x1024e968
xorps xmm0, xmm0
mov edi, dword [esp + 0xc]
movss dword [edi + 0x70], xmm0
movss dword [edi + 0x74], xmm2
jmp 0x1024c3ef
xorps xmm2, xmm2
jmp 0x1024e953
push 0x1042dde0
call fcn.102e5455
movss xmm7, dword [esp + 0x18]
add esp, 4
cmp dword [0x1042dde0], 0xffffffff
jne 0x1024d723
movaps xmm0, xmmword [0x10357460]
movaps xmmword [0x1042dd70], xmm0
movaps xmm0, xmmword [0x1035a6e0]
movaps xmmword [0x1042dd80], xmm0
movaps xmm0, xmmword [0x1035a370]
movaps xmmword [0x1042dd90], xmm0
movaps xmm0, xmmword [0x1035a6f0]
movaps xmmword [0x1042dda0], xmm0
movaps xmm0, xmmword [0x1035a700]
movaps xmmword [0x1042ddb0], xmm0
movaps xmm0, xmmword [0x1035a710]
movaps xmmword [0x1042ddc0], xmm0
movaps xmm0, xmmword [0x1035a720]
movaps xmmword [0x1042ddd0], xmm0
push 0x1042dde0
call fcn.102e54cb
movss xmm7, dword [esp + 0x18]
add esp, 4
jmp 0x1024d723