Function at 0x100afe70
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, 0x170
mov ecx, dword [ebp + 8]
mov eax, dword [0x10356534]
xor eax, ebp
mov dword [esp + 0x168], eax
mov eax, dword [0x10357698]
mov dword [esp], eax
movzx ebx, byte [ecx]
test bl, bl
je 0x100afee4
add ecx, 2
mov edx, 0xffffffff
mov eax, 0xffffffff
jmp 0x100afec9
movzx esi, bl
movzx edi, al
shr eax, 8
xor edi, esi
xor eax, dword [edi*4 + 0x1015bd1c]
inc ecx
mov bl, bh
test bh, bh
je 0x100afee0
mov bh, byte [ecx - 1]
cmp bl, 0x23
jne 0x100afeb0
cmp bh, 0x23
jne 0x100afeb0
cmp byte [ecx], 0x23
cmove eax, edx
mov bh, 0x23
jmp 0x100afeb0
not eax
jmp 0x100afee6
xor eax, eax
mov ecx, dword [esp]
mov edi, dword [ecx + 0x1a08]
mov esi, dword [ecx + 0x1a10]
mov ecx, esi
mov edx, edi
mov dword [esp + 8], edi
test edi, edi
je 0x100aff2d
mov ecx, esi
mov edx, dword [esp + 8]
nop word [eax + eax]
mov edi, edx
shr edi, 1
mov ebx, edi
not ebx
add ebx, edx
cmp dword [ecx + edi*8], eax
lea edx, [ecx + edi*8 + 8]
cmovae ebx, edi
cmovb ecx, edx
mov edx, ebx
test ebx, ebx
jne 0x100aff10
mov edi, dword [ebp + 0x14]
mov edx, dword [esp + 8]
lea edx, [esi + edx*8]
cmp ecx, edx
je 0x100aff59
cmp dword [ecx], eax
jne 0x100aff59
mov esi, dword [ecx + 4]
mov dword [esp + 0x80], 0
mov dword [esp + 0x60], 0
test esi, esi
jne 0x100aff74
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.100b8d10
mov esi, eax
mov al, 1
mov dword [esp + 0x80], eax
mov al, 1
mov dword [esp + 0x60], eax
mov eax, edi
not eax
mov edx, edi
or edx, 6
test eax, 0xc0200
cmovne edx, edi
mov ecx, dword [esp]
mov edi, dword [ecx + 0x19c0]
mov eax, dword [esi + 0x264]
mov dword [esp + 0x1c], eax
cmp dword [ecx + 0x19fc], 0
je 0x100affa5
xor eax, eax
jmp 0x100affac
movzx eax, byte [ecx + 0x19cd]
mov byte [esi + 0x82], al
lea eax, [edi - 1]
cmp dword [esp + 0x1c], eax
setl cl
mov ebx, dword [esi + 0x9c]
test edx, 0x4000000
mov dword [esp + 8], esi
mov dword [esp + 0x34], edi
je 0x100b0012
cmp dword [esp + 0x1c], eax
setl al
mov esi, dword [esp]
mov ecx, dword [esi + 0x1b40]
mov edi, edx
mov edx, dword [esi + 0x1b44]
lea edx, [edx + edx*8]
mov esi, dword [esp + 8]
mov esi, dword [esi + 0x8c]
cmp esi, dword [ecx + edx*4]
mov esi, dword [esp + 8]
setne ah
or ah, al
cmp esi, dword [ecx + edx*4 + 4]
mov edx, edi
mov edi, dword [esp + 0x34]
setne cl
or cl, ah
test ebx, ebx
setg al
or al, cl
mov byte [esi + 0x80], al
cmp al, 1
jne 0x100b0040
movsd xmm0, qword [esi + 0xa0]
orps xmm0, xmmword [0x1015c5f0]
movlps qword [esi + 0xa0], xmm0
or byte [esi + 0xa8], 8
cmp dword [esp + 0x1c], edi
mov dword [esp + 0x40], ebx
mov byte [esp + 0xf], cl
jne 0x100b0056
mov edx, dword [esi + 8]
mov ebx, dword [esp]
jmp 0x100b0095
mov dword [esi + 8], edx
mov dword [esi + 0x264], edi
mov ebx, dword [esp]
movsd xmm0, qword [ebx + 0x19b8]
cvtsd2ss xmm0, xmm0
movss dword [esi + 0x268], xmm0
mov word [esi + 0x88], 0
mov eax, dword [ebx + 0x1a14]
lea ecx, [eax + 1]
mov dword [ebx + 0x1a14], ecx
mov word [esi + 0x8a], ax
mov eax, dword [ebx + 0x19fc]
test eax, eax
je 0x100b00bf
mov ecx, dword [ebx + 0x1a04]
mov ecx, dword [ecx + eax*4 - 4]
mov dword [esp + 0x10], ecx
cmp dword [esp + 0x1c], edi
jne 0x100b00cd
mov ecx, dword [esi + 0x330]
mov dword [esp + 0x10], ecx
jmp 0x100b00e0
mov dword [esp + 0x10], 0
cmp dword [esp + 0x1c], edi
je 0x100b00b3
mov ecx, edx
and ecx, 0x5000000
mov ebx, dword [esp + 0x10]
cmove ebx, ecx
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x40]
cmp dword [esi + 0xbc], 0
mov dword [esp + 4], edx
mov edx, dword [esp]
je 0x100b0105
cmp eax, dword [edx + 0x1a00]
je 0x100b01c0
jmp 0x100b0279
cmp dword [esi + 0xc0], 0
je 0x100b011b
mov edi, dword [esi + 0xc4]
xor eax, eax
jmp 0x100b019e
mov eax, dword [0x10357698]
test eax, eax
je 0x100b012a
inc dword [eax + 0x374]
push dword [0x103576a0]
push 0x20
call dword [0x103564fc]
add esp, 8
mov edi, eax
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x100b0185
mov ecx, dword [esi + 0xbc]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x100b0175
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b0175
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], 8
mov eax, dword [esi + 0xbc]
mov edx, dword [esp]
mov ecx, dword [esi + 4]
mov dword [edi + eax*4], ecx
inc dword [esi + 0xbc]
mov eax, dword [edx + 0x19fc]
mov edi, dword [esp + 0x34]
cmp eax, dword [edx + 0x1a00]
jne 0x100b0279
lea esi, [eax + 1]
test eax, eax
je 0x100b01d4
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100b01d9
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x100b0279
lea eax, [esi*4]
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b01fd
inc dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x103564fc]
add esp, 8
mov edi, eax
mov edx, dword [esp]
mov eax, dword [edx + 0x1a04]
test eax, eax
je 0x100b0263
mov ecx, dword [edx + 0x19fc]
shl ecx, 2
push ecx
push eax
push edi
mov ebx, edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x1a04]
test eax, eax
je 0x100b024c
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b024c
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov edx, dword [esp]
mov ebx, dword [esp + 0x40]
mov dword [edx + 0x1a04], edi
mov dword [edx + 0x1a00], esi
mov eax, dword [edx + 0x19fc]
mov edi, dword [esp + 0x34]
mov ecx, dword [edx + 0x1a04]
mov esi, dword [esp + 8]
mov dword [ecx + eax*4], esi
inc dword [edx + 0x19fc]
mov dword [edx + 0x1a18], 0
mov eax, dword [0x10357698]
movzx ecx, word [esi + 0xbc]
movzx edx, word [esi + 0x1d4]
mov word [esi + 0x1e0], cx
mov word [esi + 0x1e2], dx
movzx ecx, word [eax + 0x1b44]
mov word [esi + 0x1e4], cx
movzx ecx, word [eax + 0x1b14]
mov word [esi + 0x1e6], cx
movzx ecx, word [eax + 0x1b20]
mov word [esi + 0x1e8], cx
movzx eax, word [eax + 0x1b2c]
mov word [esi + 0x1e8], ax
mov ecx, dword [esp + 4]
test ecx, 0x4000000
je 0x100b042a
mov ebx, dword [esp]
mov eax, dword [ebx + 0x1b40]
mov ecx, dword [ebx + 0x1b44]
lea ecx, [ecx + ecx*8]
mov edx, esi
lea esi, [eax + ecx*4]
mov dword [eax + ecx*4 + 4], edx
mov eax, dword [ebx + 0x1b44]
cmp eax, dword [ebx + 0x1b48]
jne 0x100b03eb
lea ebx, [eax + 1]
test eax, eax
je 0x100b0340
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100b0345
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
cmp eax, ebx
jge 0x100b03eb
lea eax, [ebx*4]
lea eax, [eax + eax*8]
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b036c
inc dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x103564fc]
add esp, 8
mov edi, dword [esp]
mov edx, dword [edi + 0x1b4c]
test edx, edx
je 0x100b03d5
mov ecx, dword [edi + 0x1b44]
shl ecx, 2
lea ecx, [ecx + ecx*8]
push ecx
push edx
mov dword [esp + 0x28], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x1b4c]
test eax, eax
je 0x100b03be
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b03be
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov edi, dword [esp]
mov eax, dword [esp + 0x20]
mov dword [edi + 0x1b4c], eax
mov dword [edi + 0x1b48], ebx
mov eax, dword [edi + 0x1b44]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp]
mov ecx, dword [ebx + 0x1b4c]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x20]
mov dword [ecx + eax*4 + 0x20], edx
movups xmm0, xmmword [esi]
movdqu xmm1, xmmword [esi + 0x10]
movdqu xmmword [ecx + eax*4 + 0x10], xmm1
movups xmmword [ecx + eax*4], xmm0
inc dword [ebx + 0x1b44]
mov eax, dword [esi]
mov esi, dword [esp + 8]
mov dword [esi + 0x8c], eax
mov ecx, dword [esp + 4]
mov ebx, dword [esp + 0x40]
test ebx, ebx
jle 0x100b0441
mov eax, ecx
and eax, 0x1000000
jne 0x100b0441
mov dword [esi + 0x344], 0
cmp dword [esp + 0x1c], edi
mov edx, dword [esp]
je 0x100b04d2
movd xmm0, esi
mov edx, dword [esp + 0x10]
movd xmm1, edx
punpckldq xmm1, xmm0
pshufd xmm0, xmm1, 0x54
movdqu xmmword [esi + 0x330], xmm0
mov eax, ecx
and eax, 0x3000000
cmp eax, 0x1000000
jne 0x100b0489
test edx, edx
je 0x100b0489
mov eax, dword [edx + 0x334]
mov dword [esi + 0x334], eax
test ecx, 0x5000000
je 0x100b04b1
mov eax, ecx
and eax, 0x8000000
jne 0x100b04b1
cmp dword [esp + 0x10], 0
je 0x100b04b1
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x338]
mov dword [esi + 0x338], eax
test byte [esi + 0xa], 0x80
mov edx, dword [esp]
je 0x100b04d2
mov eax, esi
nop dword [eax]
mov eax, dword [eax + 0x330]
mov dword [esi + 0x33c], eax
test byte [eax + 0xa], 0x80
jne 0x100b04c0
test byte [edx + 0x1aa0], 1
jne 0x100b0505
mov dword [esp + 0x20], 0
test byte [edx + 0x1aa0], 2
jne 0x100b05fb
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
jmp 0x100b06cf
mov eax, dword [esi + 0xa0]
mov ecx, dword [edx + 0x1aa4]
test ecx, eax
setne bl
mov dword [esp + 0x20], ebx
je 0x100b058c
movss xmm0, dword [edx + 0x1ab8]
movss xmm1, dword [edx + 0x1abc]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
ucomiss xmm0, dword [0x1015c600]
jbe 0x100b0594
movsd xmm0, qword [edx + 0x1ab0]
movsd qword [esi + 0xac], xmm0
mov ecx, dword [edx + 0x1ab8]
mov edx, dword [esp]
mov edx, dword [edx + 0x1abc]
mov dword [esi + 0xb8], edx
mov edx, dword [esp]
mov dword [esi + 0xb4], ecx
and eax, 0xfffffff1
mov dword [esi + 0xa0], eax
mov al, 1
mov dword [esp + 0x20], eax
test byte [edx + 0x1aa0], 2
jne 0x100b05fb
jmp 0x100b04f0
test ecx, ecx
jne 0x100b04db
and eax, 0xfffffff1
mov dword [esi + 0xa0], eax
movsd xmm0, qword [0x1015c4f0]
movsd qword [esi + 0xac], xmm0
movsd xmm0, qword [edx + 0x1ab0]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movsd xmm1, qword [esi + 0xc]
movsd xmm2, qword [esi + 0xc8]
movlps qword [esi + 0xc], xmm0
subps xmm0, xmm1
addps xmm2, xmm0
movlps qword [esi + 0xc8], xmm2
movups xmm1, xmmword [esi + 0xd8]
movlhps xmm0, xmm0
addps xmm0, xmm1
movups xmmword [esi + 0xd8], xmm0
test byte [edx + 0x1aa0], 2
je 0x100b04f0
mov eax, dword [esi + 0xa4]
mov ecx, dword [edx + 0x1aa8]
test ecx, eax
je 0x100b06b7
movss xmm0, dword [edx + 0x1ac0]
movss xmm1, dword [edx + 0x1ac4]
xorps xmm2, xmm2
ucomiss xmm0, xmm2
seta cl
mov dword [esp + 0x18], ecx
ucomiss xmm1, xmm2
seta cl
mov dword [esp + 0x14], ecx
and eax, 0xfffffff1
mov dword [esi + 0xa4], eax
movss xmm0, dword [edx + 0x1ac0]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x100b066c
mov byte [esi + 0x90], 0
movss xmm0, dword [edx + 0x1ac0]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x1c], xmm0
jmp 0x100b067a
mov byte [esi + 0x90], 2
mov byte [esi + 0x93], 0
movss xmm0, dword [edx + 0x1ac4]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x100b06a7
mov byte [esi + 0x91], 0
movss xmm0, dword [edx + 0x1ac4]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x20], xmm0
jmp 0x100b06cf
mov byte [esi + 0x91], 2
mov byte [esi + 0x93], 0
jmp 0x100b06cf
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
test ecx, ecx
je 0x100b0636
test byte [edx + 0x1aa0], 0x80
je 0x100b070d
movss xmm1, dword [edx + 0x1ad0]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jb 0x100b06f4
movss dword [esi + 0x60], xmm1
mov dword [esi + 0x68], 0
movss xmm1, dword [edx + 0x1ad4]
ucomiss xmm1, xmm0
jb 0x100b070d
movss dword [esi + 0x64], xmm1
mov dword [esi + 0x6c], 0
test byte [edx + 0x1aa0], 4
jne 0x100b0725
cmp dword [esp + 0x1c], edi
je 0x100b0732
xorps xmm0, xmm0
movlps qword [esi + 0x2c], xmm0
jmp 0x100b0732
movsd xmm0, qword [edx + 0x1ac8]
movsd qword [esi + 0x2c], xmm0
mov eax, dword [edx + 0x1aa0]
test al, 8
je 0x100b076c
mov edx, dword [edx + 0x1aac]
mov ecx, dword [esi + 0xa8]
test edx, edx
je 0x100b0750
and edx, ecx
je 0x100b076c
mov edx, dword [esp]
movzx eax, byte [edx + 0x1ad8]
and ecx, 0xfffffff1
mov dword [esi + 0xa8], ecx
mov byte [esi + 0x7d], al
mov eax, dword [edx + 0x1aa0]
test al, 0x20
je 0x100b0779
push esi
call fcn.100ab0b0
add esp, 4
cmp byte [esi + 0x80], 0
je 0x100b079f
movsd xmm0, qword [esi + 0xa0]
andps xmm0, xmmword [0x1015c610]
movlps qword [esi + 0xa0], xmm0
and byte [esi + 0xa8], 0xf7
cmp dword [esp + 0x1c], edi
jne 0x100b07e9
mov eax, dword [0x10357698]
mov dword [eax + 0x1a18], esi
movss xmm0, dword [eax + 0x18e4]
mulss xmm0, dword [esi + 0x288]
mov ecx, dword [esi + 0x330]
test ecx, ecx
je 0x100b07d2
mulss xmm0, dword [ecx + 0x288]
movss dword [eax + 0x18f4], xmm0
movss dword [eax + 0x18e0], xmm0
mov ecx, esi
jmp 0x100b325c
mov byte [esi + 0x7a], 1
cmp dword [ebp + 0x10], 0
setne byte [esi + 0x83]
movaps xmm0, xmmword [0x1015c620]
movups xmmword [esi + 0x23c], xmm0
mov eax, dword [esi + 0xc0]
test eax, eax
jg 0x100b08c2
mov ecx, eax
neg ecx
shr ecx, 1
mov edx, eax
sub edx, ecx
cmp edx, 2
mov ecx, 1
cmovge ecx, edx
test eax, eax
mov edi, 8
cmovne edi, ecx
cmp eax, edi
jge 0x100b08c2
lea eax, [edi*4]
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b0852
inc dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x103564fc]
add esp, 8
mov esi, dword [esp + 8]
mov edx, dword [esi + 0xc4]
test edx, edx
je 0x100b08b6
mov ecx, dword [esi + 0xbc]
shl ecx, 2
push ecx
push edx
mov ebx, eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x100b08a0
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b08a0
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov esi, dword [esp + 8]
mov eax, ebx
mov dword [esi + 0xc4], eax
mov dword [esi + 0xc0], edi
mov dword [esi + 0xbc], 1
mov ecx, dword [esi + 0x290]
call fcn.100bfca0
cmp byte [esi + 0x36c], 0
je 0x100b08e9
push esi
call fcn.100a9aa0
add esp, 4
mov eax, dword [esp]
cmp dword [eax + 0x1c60], 0
je 0x100b0991
movzx eax, byte [esi + 0xa]
and al, 8
shr al, 3
or al, byte [esp + 0x60]
jne 0x100b0991
mov edi, dword [esi]
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 0x100b0991
mov esi, dword [esi + 0x44]
push dword [ebp + 8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
inc eax
cmp esi, eax
jae 0x100b0979
mov esi, eax
test edi, edi
je 0x100b0946
mov eax, dword [0x10357698]
test eax, eax
je 0x100b0946
dec dword [eax + 0x374]
push dword [0x103576a0]
push edi
call dword [0x10356500]
add esp, 8
mov eax, dword [0x10357698]
test eax, eax
je 0x100b0965
inc dword [eax + 0x374]
push dword [0x103576a0]
push esi
call dword [0x103564fc]
add esp, 8
mov edi, eax
mov eax, esi
push eax
push dword [ebp + 8]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
mov dword [eax], edi
mov dword [eax + 0x44], esi
mov esi, eax
cmp byte [esi + 0x7d], 0
je 0x100b09a9
cmp byte [esi + 0x90], 0
jg 0x100b09a9
cmp byte [esi + 0x91], 0
jle 0x100b0a1f
cmp byte [esi + 0x81], 0
je 0x100b09bb
cmp dword [esi + 0x9c], 0
je 0x100b0a16
movss xmm0, dword [esi + 0x2c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x100b09da
jp 0x100b09da
movss xmm0, dword [esi + 0xe0]
subss xmm0, dword [esi + 0xd8]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss xmm2, dword [esi + 0x30]
ucomiss xmm2, xmm1
mov edx, dword [esp + 4]
mov edi, dword [esp + 0x10]
movzx ecx, byte [esp + 0xf]
jne 0x100b0a0a
jp 0x100b0a0a
movss xmm2, dword [esi + 0xe4]
subss xmm2, dword [esi + 0xdc]
cvttps2dq xmm1, xmm2
cvtdq2ps xmm1, xmm1
unpcklps xmm0, xmm1
jmp 0x100b0a31
cmp dword [esi + 0x98], 0
jle 0x100b09bb
movsd xmm0, qword [esi + 0x24]
mov edx, dword [esp + 4]
mov edi, dword [esp + 0x10]
movzx ecx, byte [esp + 0xf]
movlps qword [esi + 0x24], xmm0
mov eax, dword [esi + 0x98]
test eax, eax
jle 0x100b0a46
dec eax
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x9c]
test eax, eax
jle 0x100b0a57
dec eax
mov dword [esi + 0x9c], eax
cmp byte [esp + 0x60], 0
je 0x100b0a76
cmp byte [esp + 0x18], 0
je 0x100b0a6c
cmp byte [esp + 0x14], 0
jne 0x100b0a76
mov dword [esi + 0x9c], 1
lea eax, [esi + 0x24]
mov dword [esp + 0x7c], eax
xor cl, 1
mov byte [esp + 0x38], cl
jne 0x100b0ad2
mov eax, edx
and eax, 0x6000000
je 0x100b0ad2
mov dword [esi + 0x9c], 1
test dl, 0x40
je 0x100b0ad2
cmp byte [esp + 0x18], 0
jne 0x100b0ab3
mov dword [esi + 0x1c], 0
mov dword [esi + 0x14], 0
cmp byte [esp + 0x14], 0
jne 0x100b0ac8
mov dword [esi + 0x20], 0
mov dword [esi + 0x18], 0
xorps xmm0, xmm0
mov eax, dword [esp + 0x7c]
movlps qword [eax], xmm0
mov eax, dword [0x10357698]
mov dword [eax + 0x1a18], esi
movss xmm0, dword [eax + 0x18e4]
mulss xmm0, dword [esi + 0x288]
mov ecx, dword [esi + 0x330]
test ecx, ecx
je 0x100b0aff
mulss xmm0, dword [ecx + 0x288]
movss dword [eax + 0x18f4], xmm0
movss dword [eax + 0x18e0], xmm0
test edx, 0x1000000
jne 0x100b0b5e
test edx, 0x8000000
mov ecx, 0x1554
mov edx, 0x1530
cmovne ecx, edx
test dword [esp + 4], 0x6000000
cmove ecx, edx
mov edx, dword [esp]
movss xmm0, dword [edx + ecx]
movss dword [esi + 0x40], xmm0
mov ecx, dword [edx + 0x1524]
mov edx, dword [edx + 0x1528]
mov dword [esi + 0x38], edx
mov edx, dword [esp + 4]
mov dword [esi + 0x34], ecx
movd xmm0, ecx
jmp 0x100b0bbd
mov edx, dword [esp]
movss xmm2, dword [edx + 0x154c]
movss dword [esi + 0x40], xmm2
mov ecx, dword [edx + 0x1524]
mov edx, dword [edx + 0x1528]
mov dword [esi + 0x38], edx
mov edx, dword [esp + 4]
mov dword [esi + 0x34], ecx
movd xmm0, ecx
test edx, 0x4010000
jne 0x100b0bbd
xorps xmm1, xmm1
ucomiss xmm2, xmm1
jne 0x100b0bbd
jp 0x100b0bbd
test edx, 0x400
je 0x100b0bad
mov ecx, dword [esp]
movss xmm1, dword [ecx + 0x1528]
mov dword [esi + 0x34], 0
movss dword [esi + 0x38], xmm1
pxor xmm0, xmm0
mov dword [esp + 0x10], edi
mov edi, edx
shr edi, 0x18
and edi, 1
mov ecx, dword [esp]
movss xmm1, dword [ecx + 0x1af8]
movss xmm2, dword [ecx + 0x1568]
movaps xmm3, xmm2
cmpless xmm3, xmm0
andps xmm0, xmm3
andnps xmm3, xmm2
orps xmm3, xmm0
movaps xmm0, xmm1
cmpless xmm0, xmm3
movaps xmm2, xmm0
andps xmm2, xmm3
andnps xmm0, xmm1
orps xmm0, xmm2
movss dword [esi + 0x14c], xmm0
movss xmm0, dword [ecx + 0x1afc]
movss dword [esi + 0x150], xmm0
test dl, 0x21
je 0x100b0c27
mov byte [esi + 0x7d], 0
jmp 0x100b0d19
movss xmm0, dword [esi + 0x10]
xorps xmm1, xmm1
test byte [esi + 8], 1
mov edx, dword [esp]
jne 0x100b0c6a
movss xmm2, dword [eax + 0x18e4]
mulss xmm2, dword [esi + 0x288]
mov ecx, dword [esi + 0x330]
test ecx, ecx
je 0x100b0c5a
mulss xmm2, dword [ecx + 0x288]
movss xmm1, dword [eax + 0x155c]
addss xmm1, xmm1
addss xmm1, xmm2
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
movss xmm2, dword [esi + 0xc]
unpcklps xmm2, xmm0
movss xmm0, dword [esi + 0x1c]
unpcklps xmm0, xmm1
addps xmm0, xmm2
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], ecx
movlps qword [esp + 0x140], xmm0
cmp dword [edx + 0x1a1c], esi
jne 0x100b0ce2
cmp dword [edx + 0x1a3c], 0
jne 0x100b0ce2
cmp dword [edx + 0x1a40], 0
jne 0x100b0ce2
lea eax, [esp + 0x140]
lea ecx, [esp + 0x138]
push 1
push eax
push ecx
call fcn.100aa030
mov ecx, dword [esp + 0xc]
add esp, 0xc
test al, al
je 0x100b0ce2
cmp byte [ecx + 0x3e5], 0
je 0x100b0ce2
mov byte [esi + 0x7e], 1
cmp byte [esi + 0x7e], 0
je 0x100b0d19
xor byte [esi + 0x7d], 1
test byte [esi + 9], 1
jne 0x100b0d10
mov eax, dword [0x10357698]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2e20]
jb 0x100b0d10
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x2e20], xmm0
push esi
call fcn.100ab0b0
add esp, 4
mov byte [esi + 0x7e], 0
lea ecx, [esp + 0x130]
mov edx, esi
push dword [esp + 0x7c]
call fcn.100b5fc0
add esp, 4
test byte [esp + 4], 0x40
je 0x100b0d43
cmp byte [esi + 0x7d], 0
je 0x100b0e2c
cmp byte [esi + 0x90], 0
jle 0x100b0d8e
mov eax, dword [esp + 0x80]
cmp byte [esp + 0x18], 0
jne 0x100b0da2
cmp byte [esi + 0x93], 0
movss xmm0, dword [esp + 0x130]
je 0x100b0d85
movss xmm1, dword [esi + 0x1c]
movaps xmm2, xmm0
cmpless xmm2, xmm1
andps xmm1, xmm2
andnps xmm2, xmm0
orps xmm2, xmm1
movaps xmm0, xmm2
movss dword [esi + 0x1c], xmm0
mov al, 1
jmp 0x100b0da2
cmp byte [esi + 0x91], 0
mov eax, dword [esp + 0x80]
jle 0x100b0e71
cmp byte [esp + 0x14], 0
mov byte [esp + 0x90], al
je 0x100b0db8
mov ebx, edi
mov edi, dword [esp + 0x10]
jmp 0x100b0e00
cmp byte [esi + 0x91], 0
mov ebx, edi
mov edi, dword [esp + 0x10]
jle 0x100b0e00
cmp byte [esi + 0x93], 0
movss xmm0, dword [esp + 0x134]
je 0x100b0df2
movss xmm1, dword [esi + 0x20]
movaps xmm2, xmm0
cmpless xmm2, xmm1
andps xmm1, xmm2
andnps xmm2, xmm0
orps xmm2, xmm1
movaps xmm0, xmm2
movss dword [esi + 0x20], xmm0
mov al, 1
mov dword [esp + 0x80], eax
cmp byte [esi + 0x7d], 0
jne 0x100b0e85
test byte [esi + 9], 1
jne 0x100b0e85
mov eax, dword [0x10357698]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2e20]
jb 0x100b0e85
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x2e20], xmm0
jmp 0x100b0e85
mov eax, dword [esp + 0x80]
cmp byte [esp + 0x18], 0
jne 0x100b0e4a
movss xmm0, dword [esp + 0x130]
movss dword [esi + 0x1c], xmm0
mov al, 1
mov byte [esp + 0x90], al
cmp byte [esp + 0x14], 0
jne 0x100b0e7f
movss xmm0, dword [esp + 0x134]
movss dword [esi + 0x20], xmm0
mov al, 1
mov dword [esp + 0x80], eax
jmp 0x100b0e7f
mov eax, dword [esp + 0x80]
mov byte [esp + 0x90], al
mov ebx, edi
mov edi, dword [esp + 0x10]
movss xmm0, dword [esi + 0x1c]
movss xmm1, dword [esi + 0x20]
lea ecx, [esp + 0x138]
mov edx, esi
call fcn.100b61e0
mov ecx, dword [esp + 0x138]
mov eax, dword [esp + 0x13c]
mov dword [esi + 0x20], eax
mov dword [esi + 0x1c], ecx
cmp byte [esi + 0x7d], 0
sete dl
or dl, bl
movd xmm0, ecx
je 0x100b0ecd
movd xmm1, eax
mov eax, dword [esi + 8]
punpckldq xmm0, xmm1
jmp 0x100b0f26
movss xmm1, dword [esi + 0x10]
mov eax, dword [esi + 8]
xorps xmm3, xmm3
test al, 1
jne 0x100b0f14
mov ecx, dword [0x10357698]
movss xmm2, dword [ecx + 0x18e4]
mulss xmm2, dword [esi + 0x288]
mov edx, dword [esi + 0x330]
test edx, edx
je 0x100b0f04
mulss xmm2, dword [edx + 0x288]
movss xmm3, dword [ecx + 0x155c]
addss xmm3, xmm3
addss xmm3, xmm2
movss xmm2, dword [esi + 0xc]
unpcklps xmm2, xmm1
punpckldq xmm0, xmm3
addps xmm0, xmm2
subps xmm0, xmm2
mov edx, dword [esp + 4]
movq qword [esi + 0x14], xmm0
xorps xmm5, xmm5
pxor xmm0, xmm0
movd dword [esp + 0x18], xmm0
test al, 1
jne 0x100b0f82
mov ecx, dword [0x10357698]
movss xmm0, dword [ecx + 0x18e4]
mulss xmm0, dword [esi + 0x288]
mov edx, dword [esi + 0x330]
test edx, edx
je 0x100b0f68
mulss xmm0, dword [edx + 0x288]
mov edx, dword [esp + 4]
movss xmm1, dword [ecx + 0x155c]
addss xmm1, xmm1
addss xmm1, xmm0
movss dword [esp + 0x18], xmm1
test eax, 0x400
movzx ecx, byte [esp + 0xf]
je 0x100b0fd6
mov eax, dword [0x10357698]
movss xmm0, dword [esi + 0x150]
movss xmm1, dword [eax + 0x18e4]
mulss xmm1, dword [esi + 0x288]
mov ecx, dword [esi + 0x330]
test ecx, ecx
je 0x100b0fbd
mulss xmm1, dword [ecx + 0x288]
movzx ecx, byte [esp + 0xf]
addss xmm0, xmm1
movss xmm5, dword [eax + 0x155c]
addss xmm5, xmm5
addss xmm5, xmm0
test cl, cl
je 0x100b1016
mov dword [esi + 0x94], 0xffffffff
mov eax, edx
and eax, 0xc000000
cmp eax, 0x4000000
setne al
or al, byte [esp + 0x20]
jne 0x100b1016
mov ecx, dword [esp]
mov eax, dword [ecx + 0x1b44]
mov ecx, dword [ecx + 0x1b4c]
lea eax, [eax + eax*8]
movq xmm0, qword [ecx + eax*4 - 0x10]
movq qword [esi + 0xc], xmm0
mov eax, edx
and eax, 0x3000000
mov dword [esp + 0x14], eax
test edx, 0x1000000
je 0x100b1152
movzx eax, word [edi + 0x180]
mov word [esi + 0x88], ax
mov eax, dword [edi + 0x180]
cmp eax, dword [edi + 0x184]
jne 0x100b111a
lea esi, [eax + 1]
test eax, eax
je 0x100b1061
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100b1066
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x100b111a
movss dword [esp + 0x50], xmm5
lea eax, [esi*4]
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b1090
inc dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x103564fc]
add esp, 8
mov edi, dword [esp + 0x10]
mov edx, dword [edi + 0x188]
test edx, edx
je 0x100b10fe
mov ecx, dword [edi + 0x180]
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 + 0x188]
test eax, eax
je 0x100b10e3
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b10e3
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0xb0]
mov dword [edi + 0x188], eax
mov dword [edi + 0x184], esi
mov eax, dword [edi + 0x180]
mov edx, dword [esp + 4]
movss xmm5, dword [esp + 0x50]
mov ecx, dword [edi + 0x188]
mov esi, dword [esp + 8]
mov dword [ecx + eax*4], esi
mov eax, edx
shr eax, 0x1a
and eax, 1
inc dword [edi + 0x180]
or al, byte [esp + 0x20]
jne 0x100b1152
cmp dword [esp + 0x14], 0x3000000
je 0x100b1152
movq xmm0, qword [edi + 0xc8]
movq qword [esi + 0xc], xmm0
movss xmm0, dword [esi + 0xac]
ucomiss xmm0, dword [0x10155ff4]
jne 0x100b1165
jnp 0x100b116e
cmp dword [esi + 0x9c], 0
je 0x100b11de
test edx, 0x10000000
jne 0x100b11ad
test edx, 0x4000000
sete al
or al, byte [esp + 0x20]
jne 0x100b118c
cmp dword [esp + 0x40], 0
jg 0x100b11ad
test edx, 0x2000000
sete al
or al, byte [esp + 0x20]
jne 0x100b124c
cmp dword [esp + 0x14], 0x3000000
je 0x100b124c
push esi
lea eax, [esp + 0x13c]
push eax
movss dword [esp + 0x58], xmm5
call fcn.100b9050
movss xmm5, dword [esp + 0x58]
mov edx, dword [esp + 0xc]
add esp, 8
movsd xmm0, qword [esp + 0x138]
movsd qword [esi + 0xc], xmm0
jmp 0x100b124c
and byte [esi + 0xa0], 0xf1
movsd xmm1, qword [0x1015c4f0]
movss xmm2, dword [esi + 0xb0]
movsd qword [esi + 0xac], xmm1
movsd xmm1, qword [esi + 0xc]
movsd xmm3, qword [esi + 0x1c]
movsd xmm4, qword [esi + 0xb4]
mulps xmm4, xmm3
unpcklps xmm0, xmm2
subps xmm0, xmm4
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movlps qword [esi + 0xc], xmm0
subps xmm0, xmm1
movsd xmm1, qword [esi + 0xc8]
addps xmm1, xmm0
movlps qword [esi + 0xc8], xmm1
movups xmm1, xmmword [esi + 0xd8]
movlhps xmm0, xmm0
addps xmm0, xmm1
movups xmmword [esi + 0xd8], xmm0
mov eax, dword [0x10357698]
pxor xmm1, xmm1
movq qword [esp + 0x138], xmm1
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0x140], xmm0
mov eax, dword [esp]
movsd xmm2, qword [eax + 0x15bc]
movsd xmm3, qword [eax + 0x15c4]
movaps xmm4, xmm3
cmpleps xmm4, xmm2
andps xmm2, xmm4
andnps xmm4, xmm3
orps xmm4, xmm2
pshufd xmm2, xmm4, 0x44
movlhps xmm3, xmm0
subps xmm3, xmm2
addps xmm4, xmm1
shufps xmm4, xmm3, 0xe4
movups xmmword [esp + 0x120], xmm4
mov eax, dword [esp + 0x20]
or al, bl
jne 0x100b12f2
cmp byte [esi + 0x90], 0
jg 0x100b12f2
cmp byte [esi + 0x91], 0
jg 0x100b12f2
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x100b12f2
shufps xmm0, xmm0, 0x55
ucomiss xmm0, xmm1
jbe 0x100b12f2
lea edx, [esp + 0x120]
mov ecx, esi
movss dword [esp + 0x50], xmm5
call fcn.100b9290
movss xmm5, dword [esp + 0x50]
mov edx, dword [esp + 4]
movsd xmm0, qword [esi + 0xc]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movlps qword [esi + 0xc], xmm0
mov eax, edx
test edx, 0x1000000
jne 0x100b1330
and eax, 0x4000000
je 0x100b1345
mov ecx, edx
and ecx, 0x8000000
jne 0x100b1345
mov edi, dword [esp]
lea ecx, [edi + 0x1550]
mov al, 1
mov dword [esp + 0x20], eax
mov al, 1
jmp 0x100b135d
shr eax, 0x1a
and eax, 1
mov edi, dword [esp]
lea ecx, [edi + 0x1548]
mov dword [esp + 0x20], eax
jmp 0x100b135d
shr eax, 0x1a
mov ebx, dword [esp]
lea ecx, [ebx + 0x152c]
mov edi, edx
mov dl, 1
mov dword [esp + 0x20], edx
mov edx, edi
mov edi, ebx
movss xmm0, dword [ecx]
mov ecx, edx
shr ecx, 0xc
and ecx, 1
movzx ebx, byte [esp + 0x38]
or bl, cl
mov ecx, ebx
xor cl, 1
xor edx, edx
cmp dword [esp + 0x14], 0
sete dl
test al, al
movzx eax, cl
cmovne edx, eax
test bl, bl
movss dword [esp + 0xb0], xmm0
movss dword [esi + 0x3c], xmm0
cmovne edx, eax
mov dword [esp + 0xac], edx
xorps xmm0, xmm0
movaps xmmword [esp + 0x150], xmm0
mov dword [esp + 0x11c], 0xffffffff
cmp byte [edi + 0xb3], 1
mov eax, edi
mov edi, 2
sbb edi, 0
movss xmm0, dword [esp + 0x18]
addss xmm0, xmm5
movss dword [esp + 0x18], xmm0
movss xmm0, dword [eax + 0x18e0]
movaps xmmword [esp + 0xd0], xmm0
cmp byte [esi + 0x7d], 0
mov dword [esp + 0x38], edi
je 0x100b1406
mov byte [esi + 0x84], 0xff
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 4]
jmp 0x100b15df
lea eax, [esp + 0x120]
lea esi, [esp + 0x150]
lea ebx, [esp + 0x11c]
lea edx, [esp + 0x130]
mov ecx, dword [esp + 8]
push eax
push esi
mov esi, dword [esp + 0x10]
push edi
push ebx
mov edi, dword [esp + 0x20]
call fcn.100b9310
mov ebx, dword [esp + 0x14]
add esp, 0x10
movzx ecx, byte [esp + 0x11c]
mov byte [esi + 0x84], cl
cmp byte [esi + 0x7d], 0
jne 0x100b15df
movss xmm0, dword [esi + 0x20]
xorps xmm1, xmm1
cmp byte [esp + 0x60], 0
jne 0x100b1475
movsd xmm2, qword [esi + 0x24]
movsd xmm1, qword [esi + 0x34]
addps xmm1, xmm1
addps xmm1, xmm2
movss xmm2, dword [esi + 0x1c]
subss xmm0, dword [esp + 0x18]
movaps xmm4, xmm2
movaps xmm3, xmm0
test al, al
jne 0x100b14e4
movss xmm3, dword [esi + 0x208]
movss xmm4, dword [esi + 0x204]
subss xmm3, dword [esi + 0x200]
subss xmm4, dword [esi + 0x1fc]
addss xmm3, dword [esi + 0x74]
addss xmm4, dword [esi + 0x70]
cmp byte [esp + 0x90], 0
je 0x100b14ee
cmp byte [esp + 0x80], 0
jne 0x100b14fb
movaps xmm0, xmm3
test ebx, 0x4000
je 0x100b1503
mov byte [esi + 0x79], 1
test ebx, 0x8000
jne 0x100b1539
lea ecx, [esi + 0x79]
jmp 0x100b152a
cmp byte [esp + 0x90], 0
jne 0x100b14be
movaps xmm2, xmm4
cmp byte [esp + 0x80], 0
je 0x100b14c8
test ebx, 0x4000
jne 0x100b14d3
movaps xmm3, xmm1
shufps xmm3, xmm1, 0x55
ucomiss xmm3, xmm0
seta cl
test bl, 8
sete al
and al, cl
lea ecx, [esi + 0x79]
mov byte [esi + 0x79], al
test ebx, 0x8000
jne 0x100b1541
test al, al
je 0x100b154b
mov eax, dword [esp]
movss xmm3, dword [eax + 0x1588]
mov al, 1
jmp 0x100b1550
mov byte [esi + 0x78], 1
mov al, 1
jmp 0x100b15ab
mov byte [esi + 0x78], 1
test al, al
je 0x100b1583
jmp 0x100b15ab
xorps xmm3, xmm3
xor eax, eax
subss xmm2, xmm3
ucomiss xmm1, xmm2
jbe 0x100b15c7
mov edx, dword [esp + 4]
and edx, 8
mov ebx, dword [esp + 4]
jne 0x100b15c7
and ebx, 0x800
mov edx, ebx
shr edx, 0xb
mov byte [esi + 0x78], dl
xorps xmm2, xmm2
test ebx, ebx
je 0x100b33d8
test al, al
jne 0x100b159f
lea edx, [esi + 0x78]
shufps xmm1, xmm1, 0x55
ucomiss xmm1, xmm0
seta bl
test byte [esp + 4], 8
sete al
and al, bl
mov byte [ecx], al
movzx edx, byte [edx]
test dl, dl
je 0x100b33d5
mov ebx, dword [esp + 4]
mov ecx, dword [esp]
movss xmm2, dword [ecx + 0x1588]
test al, al
je 0x100b15d2
mov eax, dword [esp]
movss xmm0, dword [eax + 0x1588]
jmp 0x100b15d5
mov byte [esi + 0x78], 0
xorps xmm2, xmm2
test al, al
jne 0x100b15ba
xorps xmm0, xmm0
movss dword [esi + 0x70], xmm0
movss dword [esi + 0x74], xmm2
lea eax, [edi + 0x23c]
cmp dword [esp + 0x14], 0x3000000
lea ecx, [esp + 0x138]
cmove eax, ecx
cmp byte [esp + 0x20], 0
cmovne eax, ecx
movss xmm5, dword [eax]
movss xmm1, dword [eax + 4]
movss xmm6, dword [eax + 8]
movss xmm7, dword [eax + 0xc]
movsd xmm4, qword [esi + 0xc]
movsd xmm2, qword [esi + 0x14]
movaps xmm0, xmm4
movaps xmmword [esp + 0x40], xmm2
addps xmm0, xmm2
test byte [esi + 8], 1
xorps xmm3, xmm3
jne 0x100b1667
mov eax, dword [0x10357698]
movss xmm2, dword [eax + 0x18e4]
mulss xmm2, dword [esi + 0x288]
mov ecx, dword [esi + 0x330]
test ecx, ecx
je 0x100b1657
mulss xmm2, dword [ecx + 0x288]
movss xmm3, dword [eax + 0x155c]
addss xmm3, xmm3
addss xmm3, xmm2
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x10]
movss xmm2, dword [esi + 0x1c]
unpcklps xmm2, xmm3
mov dword [esp + 0x110], ecx
mov dword [esp + 0x10c], eax
addps xmm2, xmm4
movlps qword [esp + 0x114], xmm2
movaps xmmword [esp + 0x60], xmm5
movaps xmmword [esp + 0x80], xmm1
unpcklps xmm5, xmm1
movaps xmm2, xmm5
cmpleps xmm2, xmm4
movaps xmm3, xmm4
andps xmm3, xmm2
andnps xmm2, xmm5
orps xmm2, xmm3
movaps xmmword [esp + 0x50], xmm6
movaps xmmword [esp + 0x90], xmm7
unpcklps xmm6, xmm7
movaps xmm3, xmm0
minps xmm3, xmm6
movlhps xmm2, xmm3
movups xmmword [esi + 0x1ec], xmm2
movss xmm3, dword [esi + 0xc]
movss xmm7, dword [esi + 0x34]
movss dword [esi + 0x1fc], xmm3
shufps xmm4, xmm4, 0x55
addss xmm4, dword [esp + 0x18]
movss dword [esi + 0x200], xmm4
movaps xmm2, xmmword [esp + 0x40]
addss xmm2, xmm3
movsd xmm1, qword [esi + 0x70]
movss xmm0, xmm2
subps xmm0, xmm1
movlps qword [esi + 0x204], xmm0
movss xmm2, dword [esi + 0x40]
mulss xmm7, dword [0x10154044]
cvttps2dq xmm1, xmm7
cvtdq2ps xmm1, xmm1
movaps xmm7, xmm2
cmpless xmm7, xmm1
andps xmm1, xmm7
andnps xmm7, xmm2
orps xmm7, xmm1
mov eax, ebx
and eax, 0x401
mov ecx, dword [esp]
add ecx, 0x1564
cmp eax, 1
lea eax, [esi + 0x40]
cmove ecx, eax
unpcklps xmm3, xmm4
movss xmm1, dword [ecx]
movlhps xmm2, xmm7
unpcklps xmm7, xmm1
movaps xmm1, xmm3
movlhps xmm1, xmm0
addps xmm1, xmmword [0x1015c640]
shufps xmm2, xmm2, 0x24
addps xmm7, xmm1
subps xmm1, xmm2
movaps xmm2, xmmword [esp + 0x40]
movsd xmm1, xmm7
cvttps2dq xmm1, xmm1
cvtdq2ps xmm1, xmm1
movlhps xmm5, xmm5
movlhps xmm6, xmm6
minps xmm6, xmm1
cmpltps xmm1, xmm5
andps xmm5, xmm1
andnps xmm1, xmm6
orps xmm1, xmm5
movups xmmword [esi + 0x20c], xmm1
ucomiss xmm2, dword [0x10154e10]
jbe 0x100b17c6
mov eax, ebx
and eax, 0x2000000
jne 0x100b17c6
mov eax, ebx
and eax, 0x40
jne 0x100b17c6
mulss xmm2, dword [0x1015c650]
mov ebx, dword [esp]
jmp 0x100b17d9
mov ebx, dword [esp]
movss xmm2, dword [ebx + 0x18e0]
mulss xmm2, dword [0x10155ff8]
cvttps2dq xmm1, xmm2
cvtdq2ps xmm1, xmm1
movss dword [esi + 0x26c], xmm1
subps xmm0, xmm3
movsd xmm1, qword [esi + 0x24]
movsd xmm2, qword [esi + 0x34]
addps xmm2, xmm2
addps xmm2, xmm1
subps xmm2, xmm0
xorps xmm0, xmm0
movaps xmm1, xmm2
cmpnleps xmm1, xmm0
andps xmm1, xmm2
movlps qword [esi + 0x58], xmm1
lea ecx, [esp + 0xfc]
mov edx, esi
call fcn.100ba000
movsd xmm0, qword [esp + 0xfc]
movsd qword [esi + 0x50], xmm0
movsd xmm0, qword [0x1015c4f0]
movsd qword [esi + 0x60], xmm0
mov ecx, dword [esi + 0x290]
mov eax, dword [ebx + 0x18dc]
mov eax, dword [eax + 0x38]
push dword [eax + 8]
call fcn.100c06b0
mov eax, dword [0x10357698]
mov ecx, dword [eax + 0x1a18]
mov byte [ecx + 0x7c], 1
mov esi, dword [eax + 0x1a18]
mov ecx, dword [esi + 0x290]
sub esp, 0x14
movaps xmm0, xmmword [esp + 0xa4]
movss dword [esp + 0xc], xmm0
movaps xmm0, xmmword [esp + 0x64]
movss dword [esp + 8], xmm0
movaps xmm0, xmmword [esp + 0x94]
movss dword [esp + 4], xmm0
movaps xmm0, xmmword [esp + 0x74]
movss dword [esp], xmm0
mov dword [esp + 0x10], 0
call fcn.100c0470
mov eax, dword [esi + 0x290]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
shl ecx, 4
movdqu xmm0, xmmword [ecx + eax - 0x10]
movdqu xmmword [esi + 0x23c], xmm0
xor eax, eax
test dword [esp + 4], 0x8000000
je 0x100b1930
mov eax, dword [0x10357698]
mov ecx, dword [eax + 0x1b38]
test ecx, ecx
jle 0x100b1c69
mov edx, dword [eax + 0x1b40]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*8]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffe0
mov esi, dword [esp + 8]
jmp 0x100b1909
dec eax
add ecx, 0xffffffdc
cmp eax, 1
jbe 0x100b191d
mov edx, dword [ecx]
test edx, edx
je 0x100b1900
test byte [edx + 0xb], 8
je 0x100b1900
cmp esi, edx
je 0x100b1923
xor eax, eax
jmp 0x100b192d
xor edx, edx
cmp esi, edx
jne 0x100b1919
cmp dword [esi + 0x9c], 0
setle al
mov ebx, dword [esp]
mov ecx, dword [ebx + 0x1c5c]
test ecx, ecx
je 0x100b1949
mov edx, dword [esp + 8]
cmp edx, dword [ecx + 0x334]
sete bl
jmp 0x100b194b
xor ebx, ebx
mov ecx, eax
or cl, bl
cmp cl, 1
jne 0x100b1a5a
movzx eax, al
shl eax, 4
mov ecx, dword [esp]
movss xmm0, dword [ecx + 0x1cd0]
mov ecx, dword [0x10357698]
movss xmm5, dword [eax + ecx + 0x18bc]
mulss xmm0, dword [ecx + 0x1520]
mulss xmm0, dword [eax + ecx + 0x18c8]
movss xmm1, dword [0x10154df4]
movaps xmm3, xmm1
minss xmm3, xmm5
xorps xmm2, xmm2
cmpltss xmm5, xmm2
andnps xmm5, xmm3
movss xmm3, dword [0x101566c0]
mulss xmm5, xmm3
movss xmm4, dword [0x10154044]
addss xmm5, xmm4
cvttss2si edx, xmm5
movss xmm5, dword [eax + ecx + 0x18c0]
movss xmm6, dword [eax + ecx + 0x18c4]
lea eax, [esp + 0x140]
minss xmm1, xmm5
cmpltss xmm5, xmm2
andnps xmm5, xmm1
mulss xmm5, xmm3
addss xmm5, xmm4
cvttss2si ecx, xmm5
shl ecx, 8
or ecx, edx
unpcklps xmm6, xmm0
xorps xmm0, xmm0
movaps xmm1, xmmword [0x10153fd0]
minps xmm1, xmm6
cmpnltps xmm6, xmm0
andps xmm6, xmm1
mulps xmm6, xmmword [0x10156be0]
addps xmm6, xmmword [0x10154dc0]
cvttps2dq xmm0, xmm6
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd edx, xmm0
or edx, ecx
pshufd xmm0, xmm1, 0x55
movd esi, xmm0
or esi, edx
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x290]
push 0xf
push 0
push esi
push eax
lea eax, [esp + 0x148]
push eax
call fcn.100c2520
test bl, bl
mov esi, dword [esp]
je 0x100b1c00
mov eax, dword [esp + 8]
cmp eax, dword [esi + 0x1c5c]
jne 0x100b1c00
mov eax, dword [esp + 8]
movsd xmm2, qword [eax + 0xc]
movss xmm3, dword [esi + 0x18e0]
shufps xmm3, xmm3, 0
movaps xmm1, xmm2
subps xmm1, xmm3
movlps qword [esp + 0xfc], xmm1
movsd xmm0, qword [eax + 0x14]
addps xmm0, xmm2
addps xmm0, xmm3
movlps qword [esp + 0x104], xmm0
movss xmm2, dword [esp + 0x138]
ucomiss xmm2, xmm1
jb 0x100b1ae7
movss xmm2, dword [esp + 0x13c]
shufps xmm1, xmm1, 0x55
ucomiss xmm2, xmm1
jb 0x100b1ae7
ucomiss xmm0, dword [esp + 0x140]
jb 0x100b1ae7
shufps xmm0, xmm0, 0x55
ucomiss xmm0, dword [esp + 0x144]
jae 0x100b1c00
movss xmm0, dword [esi + 0x1c68]
mulss xmm0, dword [0x1015613c]
mov eax, dword [0x10357698]
movss xmm2, dword [eax + 0x18ac]
movss xmm1, dword [eax + 0x18b0]
mulss xmm0, dword [eax + 0x1520]
mulss xmm0, dword [eax + 0x18b8]
movss xmm3, dword [0x10154df4]
movaps xmm4, xmm3
minss xmm4, xmm2
xorps xmm5, xmm5
cmpltss xmm2, xmm5
andnps xmm2, xmm4
movss xmm4, dword [0x101566c0]
mulss xmm2, xmm4
movss xmm6, dword [0x10154044]
addss xmm2, xmm6
cvttss2si ecx, xmm2
minss xmm3, xmm1
cmpltss xmm1, xmm5
andnps xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm6
cvttss2si edx, xmm1
movss xmm1, dword [eax + 0x18b4]
lea eax, [esp + 0x104]
shl edx, 8
unpcklps xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmmword [0x10153fd0]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x10156be0]
addps xmm1, xmmword [0x10154dc0]
or edx, ecx
cvttps2dq xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd ecx, xmm0
or ecx, edx
pshufd xmm0, xmm1, 0x55
movd edx, xmm0
or edx, ecx
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x290]
movd xmm0, dword [esi + 0x152c]
sub esp, 0x14
movd dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x110]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 0x10], 0xf
call fcn.100c2520
cmp dword [esp + 0x14], 0x3000000
sete al
mov ecx, dword [esp + 0x20]
or cl, al
jne 0x100b1c2c
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x290]
mov ecx, dword [eax]
mov eax, dword [eax + 8]
lea ecx, [ecx + ecx*4]
cmp dword [eax + ecx*8 - 0xc], 0
je 0x100b1c7c
mov dword [esp + 0x3c], 0
mov eax, dword [esi + 0x1c58]
test eax, eax
jne 0x100b1c44
mov eax, dword [esi + 0x1b50]
mov bl, 1
test byte [esp + 0xac], 1
mov edx, dword [esp + 8]
jne 0x100b1c9c
test eax, eax
je 0x100b1c9a
mov ecx, dword [edx + 0x338]
cmp ecx, dword [eax + 0x338]
sete bl
jmp 0x100b1c9c
xor edx, edx
mov esi, dword [esp + 8]
cmp esi, edx
jne 0x100b1919
jmp 0x100b1923
mov eax, dword [edi + 0x290]
cmp dword [eax + 0x18], 0
jle 0x100b1c2c
mov ecx, dword [esp + 8]
mov dword [ecx + 0x290], eax
mov al, 1
mov dword [esp + 0x3c], eax
jmp 0x100b1c34
xor ebx, ebx
mov edi, dword [0x10357698]
mov ecx, dword [edx + 8]
mov byte [edx + 0x7f], 0
movss xmm0, dword [edx + 0x3c]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [edx + 0x40]
cmp byte [edx + 0x7d], 0
je 0x100b1e01
movss xmm1, dword [edi + 0x1564]
movss dword [esp + 0x40], xmm1
movss dword [edi + 0x1564], xmm0
mov eax, 0xc
test bl, bl
je 0x100b1cf1
cmp byte [edi + 0x1ba2], 1
mov eax, 0xc
sbb eax, 0
shl eax, 4
movss xmm2, dword [edi + eax + 0x15dc]
movss xmm0, dword [edi + eax + 0x15e8]
mulss xmm0, dword [edi + 0x1520]
movss xmm1, dword [0x10154df4]
movaps xmm3, xmm1
minss xmm3, xmm2
xorps xmm4, xmm4
cmpltss xmm2, xmm4
andnps xmm2, xmm3
movss xmm3, dword [0x101566c0]
mulss xmm2, xmm3
movss xmm5, dword [0x10154044]
addss xmm2, xmm5
cvttss2si edx, xmm2
movss xmm2, dword [edi + eax + 0x15e0]
minss xmm1, xmm2
cmpltss xmm2, xmm4
andnps xmm2, xmm1
mulss xmm2, xmm3
addss xmm2, xmm5
cvttss2si ecx, xmm2
shl ecx, 8
or ecx, edx
movss xmm1, dword [edi + eax + 0x15e4]
unpcklps xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmmword [0x10153fd0]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x10156be0]
addps xmm1, xmmword [0x10154dc0]
cvttps2dq xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd eax, xmm0
or eax, ecx
pshufd xmm0, xmm1, 0x55
movd ecx, xmm0
or ecx, eax
movups xmm0, xmmword [esp + 0x10c]
sub esp, 0x1c
movd xmm1, dword [esp + 0x30]
movd dword [esp + 0x18], xmm1
movups xmmword [esp], xmm0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 1
call fcn.100a8430
add esp, 0x1c
movss xmm0, dword [esp + 0x40]
movss dword [edi + 0x1564], xmm0
mov esi, dword [esp + 8]
jmp 0x100b277c
test cl, 0x80
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x40], ecx
jne 0x100b1f0f
mov eax, dword [ebp + 0xc]
movss xmm1, dword [0x10154df4]
test byte [edi + 0x1aa0], 0x40
movaps xmm0, xmm1
je 0x100b1e49
movss xmm0, dword [edi + 0x1af4]
mulss xmm0, dword [0x101566c0]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101563b0]
mov esi, dword [edx + 0x290]
mov dword [esp + 0x60], esi
mov esi, edx
and ecx, 1
lea edx, [ecx + ecx*2]
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm0, xmm2
andnps xmm0, xmm1
mulss xmm0, dword [0x101566c0]
addss xmm0, dword [0x10154044]
or edx, 0xc
xorps xmm1, xmm1
cvtsi2ss xmm1, eax
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0x111111
movsd xmm0, qword [esi + 0xc]
movsd xmm2, qword [esi + 0x14]
mov esi, ecx
addps xmm2, xmm0
movss xmm3, dword [0x1015c654]
movaps xmm4, xmm2
addps xmm4, xmm3
unpcklps xmm3, xmm1
subps xmm2, xmm3
shufps xmm2, xmm4, 1
shufps xmm2, xmm4, 0xe2
movlps qword [esp + 0xfc], xmm2
movsd qword [esp + 0x148], xmm0
sub esp, 0x14
mov dword [esp + 0x10], edx
movss xmm0, dword [esp + 0x28]
movss dword [esp + 0xc], xmm0
mov dword [esp + 8], eax
lea eax, [esp + 0x110]
mov dword [esp + 4], eax
lea eax, [esp + 0x15c]
mov dword [esp], eax
mov ecx, dword [esp + 0x74]
call fcn.100c2520
mov ecx, dword [esp + 0x40]
test esi, esi
jne 0x100b203a
jmp 0x100b1f1c
mov esi, ecx
and esi, 1
test esi, esi
jne 0x100b203a
movzx eax, bl
shl eax, 4
mov dword [esp + 0x60], esi
mov esi, ecx
mov ecx, dword [0x10357698]
movss xmm6, dword [eax + ecx + 0x167c]
movss xmm1, dword [eax + ecx + 0x1680]
movss xmm0, dword [eax + ecx + 0x1688]
movss xmm2, dword [0x10154df4]
movaps xmm4, xmm2
minss xmm4, xmm6
xorps xmm3, xmm3
cmpltss xmm6, xmm3
andnps xmm6, xmm4
movss xmm4, dword [0x101566c0]
mulss xmm6, xmm4
movss xmm5, dword [0x10154044]
addss xmm6, xmm5
cvttss2si edx, xmm6
movss xmm6, dword [eax + ecx + 0x1684]
lea eax, [esp + 0x114]
mulss xmm0, dword [ecx + 0x1520]
minss xmm2, xmm1
cmpltss xmm1, xmm3
andnps xmm1, xmm2
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si ecx, xmm1
shl ecx, 8
or ecx, edx
unpcklps xmm6, xmm0
xorps xmm0, xmm0
movaps xmm1, xmmword [0x10153fd0]
minps xmm1, xmm6
cmpnltps xmm6, xmm0
andps xmm6, xmm1
mulps xmm6, xmmword [0x10156be0]
addps xmm6, xmmword [0x10154dc0]
cvttps2dq xmm0, xmm6
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd edx, xmm0
or edx, ecx
pshufd xmm0, xmm1, 0x55
movd ebx, xmm0
or ebx, edx
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x290]
sub esp, 0x14
movss xmm0, dword [esp + 0x28]
movss dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x120]
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 0x10], 3
call fcn.100c2520
mov ecx, esi
mov esi, dword [esp + 0x60]
test ecx, 0x400
je 0x100b23f6
mov edx, dword [esp + 8]
mov ecx, dword [edx + 8]
pxor xmm1, xmm1
mov eax, dword [0x10357698]
xorps xmm2, xmm2
test cl, 1
jne 0x100b2094
movss xmm0, dword [eax + 0x18e4]
mulss xmm0, dword [edx + 0x288]
mov edx, dword [edx + 0x330]
test edx, edx
je 0x100b2080
mulss xmm0, dword [edx + 0x288]
movss xmm2, dword [eax + 0x155c]
addss xmm2, xmm2
addss xmm2, xmm0
mov edx, dword [esp + 8]
movss xmm3, dword [edx + 0x10]
test ecx, 0x400
je 0x100b20e3
movss xmm0, dword [edx + 0x150]
movss xmm1, dword [eax + 0x18e4]
mulss xmm1, dword [edx + 0x288]
mov ecx, dword [edx + 0x330]
test ecx, ecx
je 0x100b20cb
mulss xmm1, dword [ecx + 0x288]
addss xmm0, xmm1
movss xmm1, dword [eax + 0x155c]
addss xmm1, xmm1
addss xmm1, xmm0
mov edx, dword [esp + 8]
addss xmm2, xmm3
movss xmm5, dword [edx + 0xc]
movaps xmm0, xmm3
cmpless xmm0, xmm2
movaps xmm4, xmm0
andps xmm4, xmm2
andnps xmm0, xmm3
orps xmm0, xmm4
movaps xmm4, xmm5
unpcklps xmm4, xmm2
movd xmm6, dword [edx + 0x1c]
punpckldq xmm6, xmm1
addps xmm6, xmm4
movsd xmm1, qword [edx + 0x14]
movaps xmmword [esp + 0x90], xmm5
movaps xmm2, xmm5
unpcklps xmm2, xmm3
addps xmm2, xmm1
minps xmm6, xmm2
movaps xmm1, xmm6
shufps xmm1, xmm6, 0x55
movaps xmmword [esp + 0x60], xmm1
mov ecx, dword [edx + 0x290]
mov dword [esp + 0x80], ecx
xorps xmm7, xmm7
xorps xmm1, xmm1
test esi, esi
je 0x100b2154
movss xmm1, dword [esp + 0x14]
movss dword [esp + 0x50], xmm1
movss xmm4, dword [eax + 0x16ac]
movss xmm2, dword [eax + 0x16b8]
mulss xmm2, dword [eax + 0x1520]
movss xmm3, dword [eax + 0x16b0]
movss xmm1, dword [0x10154df4]
movaps xmm5, xmm1
minss xmm5, xmm4
cmpltss xmm4, xmm7
andnps xmm4, xmm5
movss xmm5, dword [0x101566c0]
mulss xmm4, xmm5
movss xmm7, dword [0x10154044]
addss xmm4, xmm7
cvttss2si ecx, xmm4
minss xmm1, xmm3
cmpltss xmm3, dword [0x10154e10]
andnps xmm3, xmm1
mulss xmm3, xmm5
addss xmm3, xmm7
cvttss2si esi, xmm3
movss xmm3, dword [eax + 0x16b4]
unpcklps xmm3, xmm2
xorps xmm2, xmm2
movaps xmm4, xmmword [0x10153fd0]
minps xmm4, xmm3
cmpnltps xmm3, xmm2
andps xmm3, xmm4
mulps xmm3, xmmword [0x10156be0]
addps xmm3, xmmword [0x10154dc0]
cvttps2dq xmm2, xmm3
movdqa xmm3, xmm2
pslld xmm3, 0x18
pslld xmm2, 0x10
movd ebx, xmm2
pshufd xmm2, xmm3, 0x55
movd eax, xmm2
mov edx, dword [esp + 8]
movss xmm2, dword [edx + 0xc]
movaps xmmword [esp + 0xe0], xmm6
movaps xmm3, xmm6
movaps xmm4, xmmword [esp + 0x20]
subss xmm3, xmm4
movss dword [esp + 0xfc], xmm3
movaps xmm3, xmm4
unpcklps xmm3, xmm0
addps xmm3, xmm2
movlps qword [esp + 0x148], xmm3
shl esi, 8
or esi, ecx
or ebx, esi
or eax, ebx
movaps xmm0, xmmword [esp + 0x60]
movss dword [esp + 0x100], xmm0
sub esp, 0x14
movss xmm0, dword [esp + 0x64]
movss dword [esp + 0xc], xmm0
lea ecx, [esp + 0x110]
mov dword [esp + 4], ecx
lea esi, [esp + 0x15c]
mov dword [esp], esi
mov dword [esp + 8], eax
mov dword [esp + 0x10], 3
mov ecx, dword [esp + 0x94]
call fcn.100c2520
movaps xmm4, xmmword [esp + 0x60]
movss xmm0, dword [edi + 0x1564]
ucomiss xmm0, dword [0x10154e10]
mov ecx, dword [esp + 0x40]
jbe 0x100b23f6
mov eax, dword [esp + 8]
movss xmm1, dword [eax + 0x10]
addss xmm1, dword [eax + 0x18]
ucomiss xmm1, xmm4
jbe 0x100b23f6
mov ecx, dword [0x10357698]
movss xmm1, dword [ecx + 0x162c]
movss xmm5, dword [0x10154df4]
movaps xmm2, xmm5
minss xmm2, xmm1
xorps xmm3, xmm3
cmpltss xmm1, xmm3
andnps xmm1, xmm2
movss xmm2, dword [0x101566c0]
mulss xmm1, xmm2
movss xmm6, dword [0x10154044]
addss xmm1, xmm6
cvttss2si eax, xmm1
movss xmm1, dword [ecx + 0x1630]
minss xmm5, xmm1
cmpltss xmm1, xmm3
andnps xmm1, xmm5
mulss xmm1, xmm2
addss xmm1, xmm6
movss xmm2, dword [ecx + 0x1638]
mulss xmm2, dword [ecx + 0x1520]
cvttss2si edx, xmm1
movss xmm1, dword [ecx + 0x1634]
unpcklps xmm1, xmm2
xorps xmm2, xmm2
movaps xmm3, xmmword [0x10153fd0]
minps xmm3, xmm1
cmpnltps xmm1, xmm2
andps xmm1, xmm3
mulps xmm1, xmmword [0x10156be0]
addps xmm1, xmmword [0x10154dc0]
cvttps2dq xmm1, xmm1
movdqa xmm2, xmm1
pslld xmm1, 0x10
movd edi, xmm1
pslld xmm2, 0x18
pshufd xmm1, xmm2, 0x55
movd ebx, xmm1
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x290]
movaps xmm1, xmmword [esp + 0xe0]
movlps qword [esp + 0xfc], xmm1
movdqa xmm1, xmmword [esp + 0x90]
movd dword [esp + 0x148], xmm1
movss dword [esp + 0x14c], xmm4
shl edx, 8
or edx, eax
or edi, edx
or ebx, edi
sub esp, 0x10
movss dword [esp + 0xc], xmm0
lea eax, [esp + 0x10c]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 8], ebx
call fcn.100c22c0
mov ecx, dword [esp + 0x40]
test cl, 2
mov esi, dword [esp + 8]
jne 0x100b277c
movss xmm1, dword [esp + 0xb0]
addss xmm1, dword [0x10154df4]
movss xmm0, dword [0x101569c4]
movaps xmm3, xmmword [esp + 0xd0]
mulss xmm0, xmm3
addss xmm0, xmm1
mulss xmm3, dword [0x1015c630]
movaps xmm1, xmm0
cmpless xmm1, xmm3
movaps xmm2, xmm1
andnps xmm2, xmm0
andps xmm1, xmm3
orps xmm1, xmm2
cvttps2dq xmm0, xmm1
cvtdq2ps xmm1, xmm0
movss xmm2, dword [esp + 0x14]
movaps xmm0, xmmword [esp + 0x20]
addss xmm2, xmm0
movaps xmm3, xmm0
unpcklps xmm3, xmm1
movaps xmmword [esp + 0x50], xmm3
unpcklps xmm1, xmm0
movaps xmmword [esp + 0x60], xmm1
shufps xmm2, xmm2, 0
movaps xmmword [esp + 0x80], xmm2
xor ecx, ecx
mov ebx, 0x1015c130
jmp 0x100b2554
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov eax, dword [esp + 0xd0]
mov dword [edi + 0x5c], eax
mov dword [edi + 0x58], esi
mov eax, dword [edi + 0x54]
movaps xmm1, xmmword [esp + 0x90]
movaps xmm2, xmmword [esp + 0xb0]
movdqa xmm3, xmmword [esp + 0x20]
mulps xmm3, xmm2
addps xmm3, xmm1
mov ecx, dword [edi + 0x5c]
movlps qword [ecx + eax*8], xmm3
inc dword [edi + 0x54]
mov esi, dword [esp + 8]
mov ecx, dword [esi + 0x290]
mov eax, dword [ebx - 4]
mov edx, dword [ebx]
mulps xmm2, xmmword [esp + 0x80]
addps xmm2, xmm1
movlps qword [esp + 0xfc], xmm2
sub esp, 0x10
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
movss xmm0, dword [esp + 0x24]
movss dword [esp + 4], xmm0
lea eax, [esp + 0x10c]
mov dword [esp], eax
call fcn.100c19e0
mov edi, dword [esi + 0x290]
mov ecx, edi
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x40]
push dword [esp + ebx*4 + 0x150]
push dword [edi + 0x54]
push dword [edi + 0x5c]
call fcn.100c1510
mov ecx, ebx
mov ebx, dword [esp + 0x20]
mov dword [edi + 0x54], 0
inc ecx
add ebx, 0x18
cmp dword [esp + 0x38], ecx
je 0x100b277c
mov edi, dword [esi + 0x290]
xor edx, edx
test cl, 1
sete byte [esp + 0x20]
movsd xmm0, qword [esi + 0xc]
movsd xmm1, qword [esi + 0x14]
movsd xmm3, qword [ebx - 0x14]
movsd xmm2, qword [ebx - 0xc]
mov eax, dword [edi + 0x54]
cmp eax, dword [edi + 0x58]
mov dword [esp + 0x40], ecx
jne 0x100b266d
lea esi, [eax + 1]
test eax, eax
je 0x100b259c
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100b25a1
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x100b266d
movaps xmmword [esp + 0xe0], xmm3
movaps xmmword [esp + 0xd0], xmm0
movaps xmmword [esp + 0xb0], xmm2
movaps xmmword [esp + 0x90], xmm1
lea eax, [esi*8]
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b25e5
inc dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x103564fc]
add esp, 8
mov edx, dword [edi + 0x5c]
test edx, edx
je 0x100b2642
mov ecx, dword [edi + 0x54]
shl ecx, 3
push ecx
push edx
mov dword [esp + 0xd4], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x5c]
test eax, eax
je 0x100b262b
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b262b
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov eax, dword [esp + 0xcc]
mov dword [edi + 0x5c], eax
mov dword [edi + 0x58], esi
mov eax, dword [edi + 0x54]
movaps xmm1, xmmword [esp + 0x90]
movaps xmm2, xmmword [esp + 0xb0]
xor edx, edx
movaps xmm0, xmmword [esp + 0xd0]
movaps xmm3, xmmword [esp + 0xe0]
addps xmm1, xmm0
subps xmm1, xmm0
mulps xmm1, xmm3
addps xmm1, xmm0
movzx ecx, byte [esp + 0x20]
mov dl, cl
movd xmm0, edx
pshufd xmm3, xmm0, 0x50
pslld xmm3, 0x1f
psrad xmm3, 0x1f
movdqa xmm0, xmmword [esp + 0x50]
pand xmm0, xmm3
pandn xmm3, xmmword [esp + 0x60]
por xmm3, xmm0
pshufd xmm0, xmm3, 0xe1
mulps xmm0, xmm2
addps xmm0, xmm1
mov ecx, dword [edi + 0x5c]
movlps qword [ecx + eax*8], xmm0
inc dword [edi + 0x54]
mov eax, dword [esp + 8]
mov edi, dword [eax + 0x290]
mov eax, dword [edi + 0x54]
cmp eax, dword [edi + 0x58]
jne 0x100b24bf
lea esi, [eax + 1]
test eax, eax
je 0x100b26e6
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100b26eb
mov ecx, 8
cmp ecx, esi
cmovg esi, ecx
cmp eax, esi
jge 0x100b24bf
movdqa xmmword [esp + 0x20], xmm3
movaps xmmword [esp + 0xb0], xmm2
movaps xmmword [esp + 0x90], xmm1
lea eax, [esi*8]
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b2725
inc dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x103564fc]
add esp, 8
mov edx, dword [edi + 0x5c]
test edx, edx
je 0x100b24a0
mov ecx, dword [edi + 0x54]
shl ecx, 3
push ecx
push edx
mov dword [esp + 0xd8], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x5c]
test eax, eax
je 0x100b2489
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b2489
dec dword [ecx + 0x374]
jmp 0x100b2489
cmp byte [esp + 0x3c], 0
mov edx, dword [esp + 4]
je 0x100b2793
lea eax, [esi + 0x294]
mov dword [esi + 0x290], eax
mov eax, dword [esp]
cmp dword [eax + 0x1c5c], esi
mov edi, dword [esp + 0x10]
movzx ebx, byte [esp + 0xf]
jne 0x100b2977
mov ecx, dword [esp]
movss xmm2, dword [ecx + 0x152c]
movss xmm1, dword [esi + 0x3c]
movaps xmm0, xmm2
cmpless xmm0, xmm1
movaps xmm3, xmm0
andps xmm3, xmm1
andnps xmm0, xmm2
orps xmm0, xmm3
lea eax, [esp + 0x104]
movss xmm4, dword [ecx + 0x18e0]
movaps xmm5, xmm4
shufps xmm5, xmm4, 0
movsd xmm3, qword [esi + 0xc]
movsd xmm2, qword [esi + 0x14]
addps xmm2, xmm3
subps xmm3, xmm5
addps xmm2, xmm5
movaps xmm5, xmm3
movlhps xmm5, xmm2
movups xmmword [esp + 0xfc], xmm5
movss xmm5, dword [esp + 0x138]
ucomiss xmm5, xmm3
jb 0x100b2868
movaps xmm5, xmm3
shufps xmm5, xmm3, 0x55
movss xmm6, dword [esp + 0x13c]
ucomiss xmm6, xmm5
jb 0x100b2868
ucomiss xmm2, dword [esp + 0x140]
jb 0x100b2868
movaps xmm5, xmm2
shufps xmm5, xmm2, 0x55
ucomiss xmm5, dword [esp + 0x144]
jb 0x100b2868
movss xmm0, dword [0x10154cc8]
subss xmm0, xmm4
shufps xmm0, xmm0, 0
subps xmm3, xmm0
addps xmm2, xmm0
movlhps xmm3, xmm2
movups xmmword [esp + 0xfc], xmm3
movaps xmm0, xmm1
movss xmm1, dword [ecx + 0x1c68]
mov ecx, dword [0x10357698]
movss xmm3, dword [ecx + 0x18ac]
movss xmm2, dword [ecx + 0x18b0]
mulss xmm1, dword [ecx + 0x1520]
movss xmm4, dword [0x10154df4]
movaps xmm5, xmm4
minss xmm5, xmm3
xorps xmm6, xmm6
cmpltss xmm3, xmm6
andnps xmm3, xmm5
movss xmm5, dword [0x101566c0]
mulss xmm3, xmm5
movss xmm7, dword [0x10154044]
addss xmm3, xmm7
cvttss2si esi, xmm3
minss xmm4, xmm2
cmpltss xmm2, xmm6
andnps xmm2, xmm4
mulss xmm2, xmm5
addss xmm2, xmm7
cvttss2si edx, xmm2
shl edx, 8
or edx, esi
mulss xmm1, dword [ecx + 0x18b8]
movss xmm2, dword [ecx + 0x18b4]
unpcklps xmm2, xmm1
xorps xmm1, xmm1
movaps xmm3, xmmword [0x10153fd0]
minps xmm3, xmm2
cmpnltps xmm2, xmm1
andps xmm2, xmm3
mulps xmm2, xmmword [0x10156be0]
addps xmm2, xmmword [0x10154dc0]
cvttps2dq xmm1, xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x18
pslld xmm1, 0x10
movd ecx, xmm1
or ecx, edx
pshufd xmm1, xmm2, 0x55
movd edx, xmm1
or edx, ecx
mov esi, dword [esp + 8]
mov ecx, dword [esi + 0x290]
sub esp, 0x18
movss dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0x114]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 0x14], 0x40400000
mov dword [esp + 0x10], 0xffffffff
call fcn.100c2440
mov edx, dword [esp + 4]
movss xmm0, dword [esi + 0x2c]
pxor xmm1, xmm1
ucomiss xmm0, xmm1
movaps xmm4, xmm0
jne 0x100b29c8
jp 0x100b29c8
mov eax, edx
and eax, 0x808
movss xmm2, dword [esi + 0x14]
movss xmm3, dword [esi + 0x34]
addss xmm3, xmm3
subss xmm2, xmm3
subss xmm2, dword [esi + 0x70]
cmp eax, 0x800
jne 0x100b29b7
mov eax, dword [esp + 0x7c]
movss xmm1, dword [eax]
movaps xmm4, xmm2
cmpless xmm4, xmm1
andps xmm1, xmm4
andnps xmm4, xmm2
orps xmm4, xmm1
movss xmm2, dword [esi + 0x30]
xorps xmm1, xmm1
ucomiss xmm2, xmm1
movss dword [esp + 0x20], xmm2
jne 0x100b29dd
jnp 0x100b29e7
movss xmm7, dword [esi + 0x38]
movaps xmm5, xmm2
jmp 0x100b2a22
movss xmm3, dword [esi + 0x18]
movss xmm5, dword [esi + 0x38]
movaps xmm7, xmm5
addss xmm5, xmm5
subss xmm3, xmm5
subss xmm3, dword [esp + 0x18]
subss xmm3, dword [esi + 0x74]
test dl, 8
jne 0x100b2a11
movss xmm1, dword [esi + 0x28]
movaps xmm5, xmm3
cmpless xmm5, xmm1
andps xmm1, xmm5
andnps xmm5, xmm3
orps xmm5, xmm1
unpcklps xmm4, xmm5
xorps xmm1, xmm1
ucomiss xmm0, xmm1
movss xmm3, dword [esi + 0x34]
movsd xmm1, qword [esi + 0x1fc]
movsd xmm2, qword [esi + 0x50]
subps xmm1, xmm2
movaps xmm5, xmm3
unpcklps xmm5, xmm7
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esi + 0x40]
shufps xmm0, xmm0, 0
movaps xmm6, xmm0
cmpleps xmm6, xmm5
andps xmm5, xmm6
andnps xmm6, xmm0
orps xmm6, xmm5
addps xmm6, xmm1
movaps xmm1, xmm2
cvttps2dq xmm0, xmm6
cvtdq2ps xmm0, xmm0
addps xmm4, xmm0
movlhps xmm0, xmm4
movups xmmword [esi + 0x21c], xmm0
movups xmm0, xmmword [esi + 0x21c]
movups xmmword [esi + 0x22c], xmm0
movss xmm0, dword [esp + 0x40]
movss xmm4, dword [esi + 0xc]
movss xmm6, dword [esi + 0x10]
movss dword [esp + 0x14], xmm4
subss xmm4, xmm2
addss xmm4, xmm3
movss dword [esi + 0x24c], xmm4
movaps xmm5, xmm2
shufps xmm5, xmm2, 0x55
movss dword [esp + 0x38], xmm6
subss xmm6, xmm5
addss xmm6, xmm7
addss xmm6, dword [esp + 0x18]
movss dword [esi + 0x250], xmm6
jne 0x100b2af8
jp 0x100b2af8
movaps xmm2, xmm1
movss xmm1, dword [esi + 0x14]
movaps xmm0, xmm3
addss xmm0, xmm3
subss xmm1, xmm0
movaps xmm0, xmm1
movaps xmm1, xmm2
subss xmm0, dword [esi + 0x70]
movss xmm2, dword [esp + 0x20]
ucomiss xmm2, dword [0x10154e10]
addss xmm4, xmm0
movss dword [esi + 0x254], xmm4
jne 0x100b2b30
jp 0x100b2b30
movss xmm2, dword [esi + 0x18]
movaps xmm0, xmm7
addss xmm0, xmm7
subss xmm2, xmm0
subss xmm2, dword [esp + 0x18]
subss xmm2, dword [esi + 0x74]
addss xmm6, xmm2
movss dword [esi + 0x258], xmm6
xorps xmm0, xmm0
addss xmm3, xmm0
subss xmm3, xmm1
movss xmm2, dword [esp + 0x18]
addss xmm2, xmm7
subss xmm2, xmm5
addss xmm2, dword [esp + 0x38]
movss dword [esi + 0x100], xmm3
addss xmm3, xmm0
addss xmm3, dword [esp + 0x14]
xorps xmm1, xmm1
movlps qword [esi + 0x104], xmm1
movss dword [esi + 0xd8], xmm3
movss dword [esi + 0xdc], xmm2
movss dword [esi + 0xc8], xmm3
movss dword [esi + 0xcc], xmm2
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xcc]
mov dword [esi + 0xd4], ecx
mov dword [esi + 0xd0], eax
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0xdc]
mov dword [esi + 0xe4], ecx
mov dword [esi + 0xe0], eax
movups xmmword [esi + 0xe8], xmm1
mov dword [esi + 0xfc], 0
mov dword [esi + 0xf8], 0
movsd xmm1, qword [0x1015a160]
movsd qword [esi + 0x134], xmm1
xor eax, eax
mov ecx, dword [esi + 0x140]
mov dword [esi + 0x13c], ecx
mov dword [esi + 0x140], 0
test edx, 0x1000000
je 0x100b2c18
mov eax, dword [edi + 0x144]
mov dword [esi + 0x144], eax
mov byte [esi + 0x148], 0
movss xmm1, dword [esi + 0x5c]
ucomiss xmm1, xmm0
seta byte [esi + 0x149]
mov byte [esi + 0x14a], 0
lea ecx, [esi + 0x154]
mov eax, dword [esp]
movd xmm0, dword [eax + 0x1568]
sub esp, 0xc
movzx eax, bl
mov dword [esp + 8], eax
movd dword [esp + 4], xmm0
mov dword [esp], 3
call fcn.100e9620
pxor xmm0, xmm0
movq qword [esi + 0x178], xmm0
cmp dword [esi + 0x184], 0
jns 0x100b2cfb
mov eax, dword [0x10357698]
test eax, eax
je 0x100b2c8c
inc dword [eax + 0x374]
push dword [0x103576a0]
push 0
call dword [0x103564fc]
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x188]
test eax, eax
je 0x100b2ce7
mov ecx, dword [esi + 0x180]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x188]
test eax, eax
je 0x100b2cd7
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b2cd7
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov dword [esi + 0x188], edi
mov dword [esi + 0x184], 0
mov edi, dword [esp + 0x10]
mov dword [esi + 0x180], 0
lea eax, [esi + 0x270]
mov dword [esi + 0x18c], eax
mov dword [esi + 0x190], 0
mov dword [esi + 0x194], 1
test edi, edi
je 0x100b2d31
mov eax, dword [edi + 0x194]
jmp 0x100b2d36
mov eax, 1
mov ecx, dword [esp + 4]
mov dword [esi + 0x198], eax
pcmpeqd xmm0, xmm0
movq qword [esi + 0x19c], xmm0
movss xmm0, dword [esi + 0x26c]
movss dword [esi + 0x1a8], xmm0
mov dword [esi + 0x1ac], 0xbf800000
cmp dword [esi + 0x1b4], 0
jns 0x100b2df5
mov eax, dword [0x10357698]
test eax, eax
je 0x100b2d82
inc dword [eax + 0x374]
push dword [0x103576a0]
push 0
call dword [0x103564fc]
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x1b8]
test eax, eax
je 0x100b2ddd
mov ecx, dword [esi + 0x1b0]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x1b8]
test eax, eax
je 0x100b2dcd
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b2dcd
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov dword [esi + 0x1b8], edi
mov dword [esi + 0x1b4], 0
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x10]
mov dword [esi + 0x1b0], 0
cmp dword [esi + 0x1c0], 0
jns 0x100b2e8e
mov eax, dword [0x10357698]
test eax, eax
je 0x100b2e1b
inc dword [eax + 0x374]
push dword [0x103576a0]
push 0
call dword [0x103564fc]
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x1c4]
test eax, eax
je 0x100b2e76
mov ecx, dword [esi + 0x1bc]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x1c4]
test eax, eax
je 0x100b2e66
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b2e66
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov dword [esi + 0x1c4], edi
mov dword [esi + 0x1c0], 0
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x10]
mov dword [esi + 0x1bc], 0
cmp dword [esi + 0x1cc], 0
jns 0x100b2f27
mov eax, dword [0x10357698]
test eax, eax
je 0x100b2eb4
inc dword [eax + 0x374]
push dword [0x103576a0]
push 0
call dword [0x103564fc]
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x1d0]
test eax, eax
je 0x100b2f0f
mov ecx, dword [esi + 0x1c8]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x1d0]
test eax, eax
je 0x100b2eff
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b2eff
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov dword [esi + 0x1d0], edi
mov dword [esi + 0x1cc], 0
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x10]
mov dword [esi + 0x1c8], 0
cmp dword [esi + 0x1d8], 0
jns 0x100b2fbe
mov eax, dword [0x10357698]
test eax, eax
je 0x100b2f4d
inc dword [eax + 0x374]
push dword [0x103576a0]
push 0
call dword [0x103564fc]
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x1dc]
test eax, eax
je 0x100b2fa6
imul ecx, dword [esi + 0x1d4], 0x2c
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x1dc]
test eax, eax
je 0x100b2f96
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b2f96
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov dword [esi + 0x1dc], edi
mov dword [esi + 0x1d8], 0
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x10]
mov dword [esi + 0x1d4], 0
test edi, edi
je 0x100b2ffe
mov eax, dword [edi + 0x1a4]
mov dword [esi + 0x1a4], eax
mov ecx, dword [esi + 0x1b0]
cmp ecx, dword [esi + 0x1b4]
jne 0x100b30b0
lea esi, [ecx + 1]
test ecx, ecx
je 0x100b300d
mov edx, ecx
shr edx, 0x1f
add edx, ecx
sar edx, 1
add edx, ecx
jmp 0x100b3012
mov dword [esi + 0x1a4], 0
jmp 0x100b30c7
mov edx, 8
cmp edx, esi
cmovg esi, edx
cmp ecx, esi
jge 0x100b30b0
lea eax, [esi*4]
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b3036
inc dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x103564fc]
add esp, 8
mov ebx, eax
mov edi, dword [esp + 8]
mov eax, dword [edi + 0x1b8]
test eax, eax
je 0x100b3098
mov ecx, dword [edi + 0x1b0]
shl ecx, 2
push ecx
push eax
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x1b8]
test eax, eax
je 0x100b3084
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b3084
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov edi, dword [esp + 8]
mov dword [edi + 0x1b8], ebx
mov dword [edi + 0x1b4], esi
mov eax, dword [edi + 0x1a4]
mov ecx, dword [edi + 0x1b0]
mov esi, dword [esp + 8]
mov edx, dword [esi + 0x1b8]
mov dword [edx + ecx*4], eax
inc dword [esi + 0x1b0]
mov ecx, dword [esp + 4]
movzx eax, byte [esi + 0x90]
test al, al
jle 0x100b30da
dec al
mov byte [esi + 0x90], al
movzx eax, byte [esi + 0x91]
test al, al
jle 0x100b30ed
dec al
mov byte [esi + 0x91], al
test byte [esp + 0xac], 1
je 0x100b31a0
push esi
call fcn.100ab0b0
add esp, 4
mov eax, dword [0x10357698]
mov ecx, dword [esi + 8]
test ecx, 0x40000
jne 0x100b3186
and ecx, 0x5000000
cmp ecx, 0x1000000
jne 0x100b312c
mov ecx, dword [esi + 0x344]
test ecx, ecx
jne 0x100b318c
mov ecx, dword [eax + 0x1b50]
mov edx, dword [eax + 0x1b98]
xorps xmm0, xmm0
movlps qword [eax + 0x1b54], xmm0
mov dword [ecx + edx*4 + 0x344], 0
mov word [eax + 0x1ba5], 1
movups xmmword [eax + 0x1ba8], xmm0
mov dword [eax + 0x1bb8], 0
mov eax, dword [0x10357698]
mov cl, 1
cmp byte [eax + 0x1bbd], 0
jne 0x100b317e
movzx ecx, byte [eax + 0x1ba5]
mov byte [eax + 0x1ba4], cl
jmp 0x100b319c
mov ecx, dword [esi + 0x344]
mov dword [eax + 0x1b54], ecx
mov dword [eax + 0x1b58], 0
mov ecx, dword [esp + 4]
test cl, 1
jne 0x100b31bc
lea edx, [esp + 0x10c]
mov ecx, esi
push dword [ebp + 0x10]
push dword [ebp + 8]
call fcn.100ba130
add esp, 8
mov dword [esi + 0x25c], 0
mov eax, dword [0x10357698]
movss xmm2, dword [esp + 0x10c]
movss xmm1, dword [eax + 0x1578]
subss xmm2, xmm1
movss xmm0, dword [eax + 0xe8]
xor ecx, ecx
ucomiss xmm0, xmm2
jb 0x100b3238
movss xmm3, dword [esp + 0x110]
movss xmm2, dword [eax + 0x157c]
subss xmm3, xmm2
addss xmm1, dword [esp + 0x114]
addss xmm2, dword [esp + 0x118]
movss xmm4, dword [eax + 0xec]
cmpltps xmm0, xmm1
cmpleps xmm3, xmm4
andps xmm3, xmm0
movd ecx, xmm3
ucomiss xmm2, xmm4
seta dl
and dl, cl
movzx ecx, dl
mov edx, dword [esi + 0x48]
mov dword [esi + 0x10c], edx
mov dword [esi + 0x110], ecx
movups xmm0, xmmword [esp + 0x10c]
movups xmmword [esi + 0x114], xmm0
mov ecx, dword [eax + 0x1a18]
mov edi, esi
mov byte [ecx + 0x7c], 1
mov esi, dword [eax + 0x1a18]
mov ecx, dword [esi + 0x290]
movups xmm0, xmmword [edi + 0x20c]
sub esp, 0x14
movups xmmword [esp], xmm0
mov dword [esp + 0x10], 1
call fcn.100c0470
mov eax, dword [esi + 0x290]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [esi + 0x23c], xmm0
mov eax, dword [esp + 0x1c]
cmp eax, dword [esp + 0x34]
mov ecx, edi
je 0x100b32b4
mov byte [ecx + 0x7c], 0
inc word [ecx + 0x86]
mov eax, dword [esp]
mov dword [eax + 0x1aa0], 0
mov eax, dword [esp + 4]
test eax, 0x1000000
mov edx, dword [esp + 0x10]
je 0x100b334f
test al, 0x40
jne 0x100b3319
cmp byte [ecx + 0x90], 0
jg 0x100b3319
cmp byte [ecx + 0x91], 0
jg 0x100b3319
movss xmm0, dword [ecx + 0x1ec]
ucomiss xmm0, dword [ecx + 0x1f4]
jae 0x100b330f
movss xmm0, dword [ecx + 0x1f0]
ucomiss xmm0, dword [ecx + 0x1f8]
jb 0x100b3319
mov dword [ecx + 0x98], 1
test edx, edx
je 0x100b334f
cmp byte [edx + 0x7d], 0
jne 0x100b332c
cmp dword [edx + 0x98], 0
jle 0x100b333c
mov dword [ecx + 0x98], 1
cmp byte [edx + 0x7d], 0
jne 0x100b3345
cmp dword [edx + 0x9c], 0
jle 0x100b334f
mov dword [ecx + 0x9c], 1
xorps xmm0, xmm0
mov eax, dword [esp]
ucomiss xmm0, dword [eax + 0x1520]
jae 0x100b3375
mov al, 1
cmp dword [ecx + 0x98], 0
jg 0x100b3381
cmp dword [ecx + 0x9c], 0
setg al
jmp 0x100b3381
mov dword [ecx + 0x98], 1
mov al, 1
mov byte [ecx + 0x81], al
cmp byte [ecx + 0x7d], 0
je 0x100b33ab
cmp byte [ecx + 0x90], 0
jg 0x100b33b5
cmp byte [ecx + 0x91], 0
jg 0x100b33b5
cmp dword [ecx + 0x9c], 0
setle bl
jmp 0x100b33b7
cmp byte [ecx + 0x7a], 0
je 0x100b338d
test al, al
jne 0x100b338d
xor ebx, ebx
mov byte [ecx + 0x7f], bl
xor bl, 1
mov ecx, dword [esp + 0x168]
xor ecx, ebp
call fcn.100f6c33
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xorps xmm2, xmm2
mov ebx, dword [esp + 4]
test al, al
jne 0x100b15ba
jmp 0x100b15d2