Function at 0x100b6400
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, 0x100
mov ecx, dword [ebp + 8]
mov eax, dword [0x10356534]
xor eax, ebp
mov dword [esp + 0xf8], eax
mov eax, dword [0x10357698]
mov dword [esp + 8], eax
movzx ebx, byte [ecx]
test bl, bl
je 0x100b6474
add ecx, 2
mov edx, 0xffffffff
mov eax, 0xffffffff
jmp 0x100b6459
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 0x100b6470
mov bh, byte [ecx - 1]
cmp bl, 0x23
jne 0x100b6440
cmp bh, 0x23
jne 0x100b6440
cmp byte [ecx], 0x23
cmove eax, edx
mov bh, 0x23
jmp 0x100b6440
not eax
jmp 0x100b6476
xor eax, eax
mov ecx, dword [esp + 8]
mov edi, dword [ecx + 0x1a08]
mov esi, dword [ecx + 0x1a10]
mov ecx, esi
mov edx, edi
mov dword [esp], edi
test edi, edi
je 0x100b64bd
mov ecx, esi
mov edx, dword [esp]
nop word cs:[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 0x100b64a0
mov edi, dword [ebp + 0x14]
mov edx, dword [esp]
lea edx, [esi + edx*8]
cmp ecx, edx
je 0x100b64e5
cmp dword [ecx], eax
jne 0x100b64e5
mov esi, dword [ecx + 4]
mov dword [esp + 0x50], 0
mov dword [esp + 0x60], 0
test esi, esi
jne 0x100b64fd
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.100b8d10
mov esi, eax
mov al, 1
mov dword [esp + 0x50], 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 ebx, dword [esp + 8]
mov edi, dword [ebx + 0x19c0]
mov eax, dword [esi + 0x264]
mov dword [esp + 0x20], eax
cmp dword [ebx + 0x19fc], 0
je 0x100b652f
xor eax, eax
jmp 0x100b6536
movzx eax, byte [ebx + 0x19cd]
mov byte [esi + 0x82], al
lea eax, [edi - 1]
cmp dword [esp + 0x20], eax
setl cl
mov dword [esp + 0x28], edi
mov edi, dword [esi + 0x9c]
test edx, 0x4000000
mov dword [esp + 0x40], edi
je 0x100b6593
cmp dword [esp + 0x20], eax
setl al
mov ecx, dword [ebx + 0x1b40]
mov dword [esp], edx
mov edx, dword [ebx + 0x1b44]
lea edx, [edx + edx*8]
mov edi, dword [esi + 0x8c]
cmp edi, dword [ecx + edx*4]
mov edi, dword [esp + 0x40]
setne ah
or ah, al
cmp esi, dword [ecx + edx*4 + 4]
mov edx, dword [esp]
setne cl
or cl, ah
test edi, edi
setg al
or al, cl
mov byte [esi + 0x80], al
cmp al, 1
jne 0x100b65c1
movsd xmm0, qword [esi + 0xa0]
orps xmm0, xmmword [0x1015c5f0]
movlps qword [esi + 0xa0], xmm0
or byte [esi + 0xa8], 8
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x20], eax
mov byte [esp + 7], cl
jne 0x100b65d4
mov edx, dword [esi + 8]
jmp 0x100b6610
mov dword [esi + 8], edx
mov dword [esi + 0x264], eax
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 0x100b662a
mov ecx, dword [ebx + 0x1a04]
mov ecx, dword [ecx + eax*4 - 4]
mov dword [esp + 0xc], ecx
jmp 0x100b6632
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0x28]
cmp dword [esp + 0x20], ecx
jne 0x100b6648
mov ecx, dword [esi + 0x330]
mov dword [esp + 0xc], ecx
jmp 0x100b665f
mov ecx, edx
and ecx, 0x5000000
mov edi, dword [esp + 0xc]
cmove edi, ecx
mov dword [esp + 0xc], edi
mov edi, dword [esp + 0x40]
cmp dword [esi + 0xbc], 0
mov dword [esp], edx
je 0x100b667c
cmp eax, dword [ebx + 0x1a00]
je 0x100b6734
jmp 0x100b67ef
cmp dword [esi + 0xc0], 0
je 0x100b6692
mov edi, dword [esi + 0xc4]
xor eax, eax
jmp 0x100b6712
mov eax, dword [0x10357698]
test eax, eax
je 0x100b66a1
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 0x100b66fc
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 0x100b66ec
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b66ec
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 ecx, dword [esi + 4]
mov dword [edi + eax*4], ecx
inc dword [esi + 0xbc]
mov eax, dword [ebx + 0x19fc]
mov edi, dword [esp + 0x40]
cmp eax, dword [ebx + 0x1a00]
jne 0x100b67ef
lea ebx, [eax + 1]
test eax, eax
je 0x100b6748
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100b674d
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
cmp eax, ebx
jge 0x100b67ef
lea eax, [ebx*4]
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b6771
inc dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x103564fc]
add esp, 8
mov edi, dword [esp + 8]
mov edx, dword [edi + 0x1a04]
test edx, edx
je 0x100b67d9
mov ecx, dword [edi + 0x19fc]
shl ecx, 2
push ecx
push edx
mov dword [esp + 0x18], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x1a04]
test eax, eax
je 0x100b67c1
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b67c1
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x10]
mov dword [edi + 0x1a04], eax
mov dword [edi + 0x1a00], ebx
mov eax, dword [edi + 0x19fc]
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 8]
mov ecx, dword [ebx + 0x1a04]
mov dword [ecx + eax*4], esi
inc dword [ebx + 0x19fc]
mov dword [ebx + 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]
test ecx, 0x4000000
je 0x100b699c
mov eax, dword [ebx + 0x1b40]
mov ecx, dword [ebx + 0x1b44]
lea ecx, [ecx + ecx*8]
lea edi, [eax + ecx*4]
mov dword [eax + ecx*4 + 4], esi
mov eax, dword [ebx + 0x1b44]
cmp eax, dword [ebx + 0x1b48]
jne 0x100b6961
lea edx, [eax + 1]
test eax, eax
je 0x100b68b0
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100b68b5
mov ecx, 8
cmp ecx, edx
cmovg edx, ecx
cmp eax, edx
jge 0x100b6961
mov dword [esp + 0x10], edx
lea eax, [edx*4]
lea eax, [eax + eax*8]
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b68e0
inc dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x103564fc]
add esp, 8
mov ebx, dword [esp + 8]
mov edx, dword [ebx + 0x1b4c]
test edx, edx
je 0x100b694b
mov ecx, dword [ebx + 0x1b44]
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 [ebx + 0x1b4c]
test eax, eax
je 0x100b6933
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b6933
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov ebx, dword [esp + 8]
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x1b4c], eax
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x1b48], eax
mov eax, dword [ebx + 0x1b44]
mov ebx, dword [esp + 8]
mov ecx, dword [ebx + 0x1b4c]
lea eax, [eax + eax*8]
mov edx, dword [edi + 0x20]
mov dword [ecx + eax*4 + 0x20], edx
movups xmm0, xmmword [edi]
movdqu xmm1, xmmword [edi + 0x10]
movdqu xmmword [ecx + eax*4 + 0x10], xmm1
movups xmmword [ecx + eax*4], xmm0
inc dword [ebx + 0x1b44]
mov eax, dword [edi]
mov dword [esi + 0x8c], eax
mov ecx, dword [esp]
mov edi, dword [esp + 0x40]
test edi, edi
jle 0x100b69b3
mov eax, ecx
and eax, 0x1000000
jne 0x100b69b3
mov dword [esi + 0x344], 0
mov edi, dword [esp + 0x28]
cmp dword [esp + 0x20], edi
je 0x100b6a42
movd xmm0, esi
mov edx, dword [esp + 0xc]
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 0x100b69fc
test edx, edx
je 0x100b69fc
mov eax, dword [edx + 0x334]
mov dword [esi + 0x334], eax
test ecx, 0x5000000
je 0x100b6a24
mov eax, ecx
and eax, 0x8000000
jne 0x100b6a24
cmp dword [esp + 0xc], 0
je 0x100b6a24
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x338]
mov dword [esi + 0x338], eax
test byte [esi + 0xa], 0x80
je 0x100b6a42
mov eax, esi
nop dword [eax]
mov eax, dword [eax + 0x330]
mov dword [esi + 0x33c], eax
test byte [eax + 0xa], 0x80
jne 0x100b6a30
test byte [ebx + 0x1aa0], 1
jne 0x100b6a75
mov dword [esp + 0x14], 0
test byte [ebx + 0x1aa0], 2
jne 0x100b6b65
mov dword [esp + 0x10], 0
mov dword [esp + 0x1c], 0
jmp 0x100b6c39
mov eax, dword [esi + 0xa0]
mov ecx, dword [ebx + 0x1aa4]
test ecx, eax
setne dl
mov dword [esp + 0x14], edx
je 0x100b6af6
movss xmm0, dword [ebx + 0x1ab8]
movss xmm1, dword [ebx + 0x1abc]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
ucomiss xmm0, dword [0x1015c600]
jbe 0x100b6afe
movsd xmm0, qword [ebx + 0x1ab0]
movsd qword [esi + 0xac], xmm0
mov ecx, dword [ebx + 0x1ab8]
mov edx, dword [ebx + 0x1abc]
mov dword [esi + 0xb8], edx
mov dword [esi + 0xb4], ecx
and eax, 0xfffffff1
mov dword [esi + 0xa0], eax
mov al, 1
mov dword [esp + 0x14], eax
test byte [ebx + 0x1aa0], 2
jne 0x100b6b65
jmp 0x100b6a60
test ecx, ecx
jne 0x100b6a4b
and eax, 0xfffffff1
mov dword [esi + 0xa0], eax
movsd xmm0, qword [0x1015c4f0]
movsd qword [esi + 0xac], xmm0
movsd xmm0, qword [ebx + 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 [ebx + 0x1aa0], 2
je 0x100b6a60
mov eax, dword [esi + 0xa4]
mov ecx, dword [ebx + 0x1aa8]
test ecx, eax
je 0x100b6c21
movss xmm0, dword [ebx + 0x1ac0]
movss xmm1, dword [ebx + 0x1ac4]
xorps xmm2, xmm2
ucomiss xmm0, xmm2
seta cl
mov dword [esp + 0x1c], ecx
ucomiss xmm1, xmm2
seta cl
mov dword [esp + 0x10], ecx
and eax, 0xfffffff1
mov dword [esi + 0xa4], eax
movss xmm0, dword [ebx + 0x1ac0]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x100b6bd6
mov byte [esi + 0x90], 0
movss xmm0, dword [ebx + 0x1ac0]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x1c], xmm0
jmp 0x100b6be4
mov byte [esi + 0x90], 2
mov byte [esi + 0x93], 0
movss xmm0, dword [ebx + 0x1ac4]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x100b6c11
mov byte [esi + 0x91], 0
movss xmm0, dword [ebx + 0x1ac4]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x20], xmm0
jmp 0x100b6c39
mov byte [esi + 0x91], 2
mov byte [esi + 0x93], 0
jmp 0x100b6c39
mov dword [esp + 0x10], 0
mov dword [esp + 0x1c], 0
test ecx, ecx
je 0x100b6ba0
test byte [ebx + 0x1aa0], 0x80
je 0x100b6c77
movss xmm1, dword [ebx + 0x1ad0]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jb 0x100b6c5e
movss dword [esi + 0x60], xmm1
mov dword [esi + 0x68], 0
movss xmm1, dword [ebx + 0x1ad4]
ucomiss xmm1, xmm0
jb 0x100b6c77
movss dword [esi + 0x64], xmm1
mov dword [esi + 0x6c], 0
test byte [ebx + 0x1aa0], 4
jne 0x100b6c8f
cmp dword [esp + 0x20], edi
je 0x100b6c9c
xorps xmm0, xmm0
movlps qword [esi + 0x2c], xmm0
jmp 0x100b6c9c
movsd xmm0, qword [ebx + 0x1ac8]
movsd qword [esi + 0x2c], xmm0
mov eax, dword [ebx + 0x1aa0]
test al, 8
je 0x100b6cd3
mov edx, dword [ebx + 0x1aac]
mov ecx, dword [esi + 0xa8]
test edx, edx
je 0x100b6cba
and edx, ecx
je 0x100b6cd3
movzx eax, byte [ebx + 0x1ad8]
and ecx, 0xfffffff1
mov dword [esi + 0xa8], ecx
mov byte [esi + 0x7d], al
mov eax, dword [ebx + 0x1aa0]
test al, 0x20
je 0x100b6ce0
push esi
call fcn.100ab0b0
add esp, 4
cmp byte [esi + 0x80], 0
je 0x100b6d06
movsd xmm0, qword [esi + 0xa0]
andps xmm0, xmmword [0x1015c610]
movlps qword [esi + 0xa0], xmm0
and byte [esi + 0xa8], 0xf7
cmp dword [esp + 0x20], edi
jne 0x100b6d50
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 0x100b6d39
mulss xmm0, dword [ecx + 0x288]
movss dword [eax + 0x18f4], xmm0
movss dword [eax + 0x18e0], xmm0
mov ecx, esi
jmp 0x100b8b9d
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 0x100b6e1b
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 ebx, 8
cmovne ebx, ecx
cmp eax, ebx
jge 0x100b6e1b
lea eax, [ebx*4]
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b6db5
inc dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x103564fc]
add esp, 8
mov edi, eax
mov eax, dword [esi + 0xc4]
test eax, eax
je 0x100b6e0f
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 0x100b6dff
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b6dff
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov dword [esi + 0xc4], edi
mov dword [esi + 0xc0], ebx
mov dword [esi + 0xbc], 1
mov ecx, dword [esi + 0x290]
call fcn.100bfca0
cmp byte [esi + 0x36c], 0
je 0x100b6e42
push esi
call fcn.100a9aa0
add esp, 4
mov ebx, dword [esp + 8]
cmp dword [ebx + 0x1c60], 0
je 0x100b6ee9
movzx eax, byte [esi + 0xa]
and al, 8
shr al, 3
or al, byte [esp + 0x60]
jne 0x100b6ee9
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 0x100b6ee9
mov ebx, 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 ebx, eax
jae 0x100b6ed3
mov ebx, eax
test edi, edi
je 0x100b6ea0
mov eax, dword [0x10357698]
test eax, eax
je 0x100b6ea0
dec dword [eax + 0x374]
push dword [0x103576a0]
push edi
call dword [0x10356500]
add esp, 8
mov eax, dword [0x10357698]
test eax, eax
je 0x100b6ebf
inc dword [eax + 0x374]
push dword [0x103576a0]
push ebx
call dword [0x103564fc]
add esp, 8
mov edi, eax
mov eax, ebx
push eax
push dword [ebp + 8]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi], edi
mov dword [esi + 0x44], ebx
mov ebx, dword [esp + 8]
cmp byte [esi + 0x7d], 0
je 0x100b6f01
cmp byte [esi + 0x90], 0
jg 0x100b6f01
cmp byte [esi + 0x91], 0
jle 0x100b6f76
cmp byte [esi + 0x81], 0
je 0x100b6f13
cmp dword [esi + 0x9c], 0
je 0x100b6f6d
movss xmm0, dword [esi + 0x2c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x100b6f32
jp 0x100b6f32
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]
mov edi, dword [esp + 0xc]
movzx ecx, byte [esp + 7]
jne 0x100b6f61
jp 0x100b6f61
movss xmm2, dword [esi + 0xe4]
subss xmm2, dword [esi + 0xdc]
cvttps2dq xmm1, xmm2
cvtdq2ps xmm1, xmm1
unpcklps xmm0, xmm1
jmp 0x100b6f87
cmp dword [esi + 0x98], 0
jle 0x100b6f13
movsd xmm0, qword [esi + 0x24]
mov edx, dword [esp]
mov edi, dword [esp + 0xc]
movzx ecx, byte [esp + 7]
movlps qword [esi + 0x24], xmm0
mov eax, dword [esi + 0x98]
test eax, eax
jle 0x100b6f9c
dec eax
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x9c]
test eax, eax
jle 0x100b6fad
dec eax
mov dword [esi + 0x9c], eax
cmp byte [esp + 0x60], 0
je 0x100b6fcc
cmp byte [esp + 0x1c], 0
je 0x100b6fc2
cmp byte [esp + 0x10], 0
jne 0x100b6fcc
mov dword [esi + 0x9c], 1
lea eax, [esi + 0x24]
mov dword [esp + 0x2c], eax
xor cl, 1
mov byte [esp + 0x80], cl
jne 0x100b702b
mov eax, edx
and eax, 0x6000000
je 0x100b702b
mov dword [esi + 0x9c], 1
test dl, 0x40
je 0x100b702b
cmp byte [esp + 0x1c], 0
jne 0x100b700c
mov dword [esi + 0x1c], 0
mov dword [esi + 0x14], 0
cmp byte [esp + 0x10], 0
jne 0x100b7021
mov dword [esi + 0x20], 0
mov dword [esi + 0x18], 0
xorps xmm0, xmm0
mov eax, dword [esp + 0x2c]
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 0x100b7058
mulss xmm0, dword [ecx + 0x288]
movss dword [eax + 0x18f4], xmm0
movss dword [eax + 0x18e0], xmm0
test edx, 0x1000000
jne 0x100b70b2
test edx, 0x8000000
mov ecx, 0x1554
mov edx, 0x1530
cmovne ecx, edx
test dword [esp], 0x6000000
cmove ecx, edx
movss xmm0, dword [ebx + ecx]
movss dword [esi + 0x40], xmm0
mov ecx, dword [ebx + 0x1524]
mov edx, dword [ebx + 0x1528]
mov dword [esi + 0x38], edx
mov edx, dword [esp]
mov dword [esi + 0x34], ecx
movd xmm0, ecx
jmp 0x100b710a
movss xmm2, dword [ebx + 0x154c]
movss dword [esi + 0x40], xmm2
mov ecx, dword [ebx + 0x1524]
mov edx, dword [ebx + 0x1528]
mov dword [esi + 0x38], edx
mov edx, dword [esp]
mov dword [esi + 0x34], ecx
movd xmm0, ecx
test edx, 0x4010000
jne 0x100b710a
xorps xmm1, xmm1
ucomiss xmm2, xmm1
jne 0x100b710a
jp 0x100b710a
test edx, 0x400
je 0x100b70fa
movss xmm1, dword [ebx + 0x1528]
mov dword [esi + 0x34], 0
movss dword [esi + 0x38], xmm1
pxor xmm0, xmm0
mov ecx, edx
shr ecx, 0x18
and ecx, 1
mov dword [esp + 0x24], ecx
movss xmm1, dword [ebx + 0x1af8]
movss xmm2, dword [ebx + 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 [ebx + 0x1afc]
movss dword [esi + 0x150], xmm0
test dl, 0x21
je 0x100b7171
mov byte [esi + 0x7d], 0
jmp 0x100b725c
movss xmm0, dword [esi + 0x10]
xorps xmm1, xmm1
test byte [esi + 8], 1
jne 0x100b71b1
movss xmm2, dword [eax + 0x18e4]
mulss xmm2, dword [esi + 0x288]
mov ecx, dword [esi + 0x330]
test ecx, ecx
je 0x100b71a1
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 + 0xd0], eax
mov dword [esp + 0xd4], ecx
movlps qword [esp + 0xd8], xmm0
cmp dword [ebx + 0x1a1c], esi
jne 0x100b7225
cmp dword [ebx + 0x1a3c], 0
jne 0x100b7225
cmp dword [ebx + 0x1a40], 0
jne 0x100b7225
lea eax, [esp + 0xd8]
lea ecx, [esp + 0xd0]
push 1
push eax
push ecx
call fcn.100aa030
add esp, 0xc
test al, al
je 0x100b7225
cmp byte [ebx + 0x3e5], 0
je 0x100b7225
mov byte [esi + 0x7e], 1
cmp byte [esi + 0x7e], 0
je 0x100b725c
xor byte [esi + 0x7d], 1
test byte [esi + 9], 1
jne 0x100b7253
mov eax, dword [0x10357698]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2e20]
jb 0x100b7253
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 + 0xc8]
mov edx, esi
push dword [esp + 0x2c]
call fcn.100b5fc0
add esp, 4
test byte [esp], 0x40
je 0x100b7285
cmp byte [esi + 0x7d], 0
je 0x100b7354
cmp byte [esi + 0x90], 0
jle 0x100b72cd
mov eax, dword [esp + 0x50]
cmp byte [esp + 0x1c], 0
jne 0x100b72de
cmp byte [esi + 0x93], 0
movss xmm0, dword [esp + 0xc8]
je 0x100b72c4
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 0x100b72de
cmp byte [esi + 0x91], 0
mov eax, dword [esp + 0x50]
jle 0x100b7390
cmp byte [esp + 0x10], 0
mov byte [esp + 0x1b], al
jne 0x100b7328
cmp byte [esi + 0x91], 0
jle 0x100b7328
cmp byte [esi + 0x93], 0
movss xmm0, dword [esp + 0xcc]
je 0x100b731d
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 + 0x50], eax
cmp byte [esi + 0x7d], 0
jne 0x100b7398
test byte [esi + 9], 1
jne 0x100b7398
mov eax, dword [0x10357698]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2e20]
jb 0x100b7398
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x2e20], xmm0
jmp 0x100b7398
mov eax, dword [esp + 0x50]
cmp byte [esp + 0x1c], 0
jne 0x100b736f
movss xmm0, dword [esp + 0xc8]
movss dword [esi + 0x1c], xmm0
mov al, 1
mov byte [esp + 0x1b], al
cmp byte [esp + 0x10], 0
jne 0x100b7398
movss xmm0, dword [esp + 0xcc]
movss dword [esi + 0x20], xmm0
mov al, 1
mov dword [esp + 0x50], eax
jmp 0x100b7398
mov eax, dword [esp + 0x50]
mov byte [esp + 0x1b], al
movss xmm0, dword [esi + 0x1c]
movss xmm1, dword [esi + 0x20]
lea ecx, [esp + 0xd0]
mov edx, esi
call fcn.100b61e0
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0xd4]
mov dword [esi + 0x20], eax
mov dword [esi + 0x1c], ecx
cmp byte [esi + 0x7d], 0
sete dl
or dl, byte [esp + 0x24]
movd xmm0, ecx
je 0x100b73e2
movd xmm1, eax
mov eax, dword [esi + 8]
punpckldq xmm0, xmm1
jmp 0x100b743b
movss xmm1, dword [esi + 0x10]
mov eax, dword [esi + 8]
xorps xmm3, xmm3
test al, 1
jne 0x100b7429
mov ecx, dword [0x10357698]
movss xmm2, dword [ecx + 0x18e4]
mulss xmm2, dword [esi + 0x288]
mov edx, dword [esi + 0x330]
test edx, edx
je 0x100b7419
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]
movq qword [esi + 0x14], xmm0
xorps xmm5, xmm5
pxor xmm0, xmm0
movd dword [esp + 0x10], xmm0
test al, 1
jne 0x100b7495
mov ecx, dword [0x10357698]
movss xmm0, dword [ecx + 0x18e4]
mulss xmm0, dword [esi + 0x288]
mov edx, dword [esi + 0x330]
test edx, edx
je 0x100b747c
mulss xmm0, dword [edx + 0x288]
mov edx, dword [esp]
movss xmm1, dword [ecx + 0x155c]
addss xmm1, xmm1
addss xmm1, xmm0
movss dword [esp + 0x10], xmm1
test eax, 0x400
movzx ecx, byte [esp + 7]
je 0x100b74e9
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 0x100b74d0
mulss xmm1, dword [ecx + 0x288]
movzx ecx, byte [esp + 7]
addss xmm0, xmm1
movss xmm5, dword [eax + 0x155c]
addss xmm5, xmm5
addss xmm5, xmm0
test cl, cl
je 0x100b7526
mov dword [esi + 0x94], 0xffffffff
mov eax, edx
and eax, 0xc000000
cmp eax, 0x4000000
setne al
or al, byte [esp + 0x14]
jne 0x100b7526
mov eax, dword [ebx + 0x1b44]
mov ecx, dword [ebx + 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 + 0x1c], eax
test edx, 0x1000000
je 0x100b765e
movzx eax, word [edi + 0x180]
mov word [esi + 0x88], ax
mov eax, dword [edi + 0x180]
cmp eax, dword [edi + 0x184]
jne 0x100b7626
lea ebx, [eax + 1]
test eax, eax
je 0x100b7571
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x100b7576
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
cmp eax, ebx
jge 0x100b7626
movss dword [esp + 0x30], xmm5
lea eax, [ebx*4]
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b75a0
inc dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x103564fc]
add esp, 8
mov edi, dword [esp + 0xc]
mov edx, dword [edi + 0x188]
test edx, edx
je 0x100b760b
mov ecx, dword [edi + 0x180]
shl ecx, 2
push ecx
push edx
mov dword [esp + 0x84], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x188]
test eax, eax
je 0x100b75f3
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b75f3
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0x7c]
mov dword [edi + 0x188], eax
mov dword [edi + 0x184], ebx
mov eax, dword [edi + 0x180]
mov edx, dword [esp]
movss xmm5, dword [esp + 0x30]
mov ecx, dword [edi + 0x188]
mov dword [ecx + eax*4], esi
mov eax, edx
shr eax, 0x1a
and eax, 1
inc dword [edi + 0x180]
or al, byte [esp + 0x14]
mov ebx, dword [esp + 8]
jne 0x100b765e
cmp dword [esp + 0x1c], 0x3000000
je 0x100b765e
movq xmm0, qword [edi + 0xc8]
movq qword [esi + 0xc], xmm0
movss xmm0, dword [esi + 0xac]
ucomiss xmm0, dword [0x10155ff4]
jne 0x100b7671
jnp 0x100b767a
cmp dword [esi + 0x9c], 0
je 0x100b76ea
test edx, 0x10000000
jne 0x100b76b9
test edx, 0x4000000
sete al
or al, byte [esp + 0x14]
jne 0x100b7698
cmp dword [esp + 0x40], 0
jg 0x100b76b9
test edx, 0x2000000
sete al
or al, byte [esp + 0x14]
jne 0x100b7758
cmp dword [esp + 0x1c], 0x3000000
je 0x100b7758
push esi
lea eax, [esp + 0xd4]
push eax
movss dword [esp + 0x38], xmm5
call fcn.100b9050
movss xmm5, dword [esp + 0x38]
mov edx, dword [esp + 8]
add esp, 8
movsd xmm0, qword [esp + 0xd0]
movsd qword [esi + 0xc], xmm0
jmp 0x100b7758
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 + 0xd0], xmm1
movsd xmm0, qword [eax + 0x10]
movsd qword [esp + 0xd8], xmm0
movsd xmm2, qword [ebx + 0x15bc]
movsd xmm3, qword [ebx + 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 + 0xb8], xmm4
mov eax, dword [esp + 0x14]
or al, byte [esp + 0x24]
jne 0x100b77fc
cmp byte [esi + 0x90], 0
jg 0x100b77fc
cmp byte [esi + 0x91], 0
jg 0x100b77fc
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x100b77fc
shufps xmm0, xmm0, 0x55
ucomiss xmm0, xmm1
jbe 0x100b77fc
lea edx, [esp + 0xb8]
mov ecx, esi
movss dword [esp + 0x30], xmm5
call fcn.100b9290
movss xmm5, dword [esp + 0x30]
mov edx, dword [esp]
movsd xmm0, qword [esi + 0xc]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movlps qword [esi + 0xc], xmm0
test edx, 0x1000000
mov dword [esp + 0xc], edi
mov eax, edx
jne 0x100b783b
and eax, 0x4000000
je 0x100b784d
mov ecx, edx
and ecx, 0x8000000
jne 0x100b784d
lea edi, [ebx + 0x1550]
mov al, 1
mov dword [esp + 0x14], eax
mov al, 1
jmp 0x100b785c
shr eax, 0x1a
and eax, 1
lea edi, [ebx + 0x1548]
mov dword [esp + 0x14], eax
jmp 0x100b785c
shr eax, 0x1a
lea edi, [ebx + 0x152c]
mov cl, 1
mov dword [esp + 0x14], ecx
shr edx, 0xc
and edx, 1
movzx ecx, byte [esp + 0x80]
or cl, dl
mov edx, ecx
xor dl, 1
xor ebx, ebx
cmp dword [esp + 0x1c], 0
sete bl
test al, al
movzx eax, dl
cmovne ebx, eax
test cl, cl
cmovne ebx, eax
mov dword [esp + 0x24], ebx
movss xmm0, dword [edi]
movss xmm1, dword [esp + 0x10]
addss xmm1, xmm5
movss dword [esp + 0x10], xmm1
movss dword [esi + 0x3c], xmm0
mov dword [esp + 0xb4], 0xffffffff
xorps xmm0, xmm0
movaps xmmword [esp + 0xe0], xmm0
cmp byte [esi + 0x7d], 0
je 0x100b78d8
mov byte [esi + 0x84], 0xff
mov edx, dword [esp]
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0xc]
jmp 0x100b7ab0
mov eax, dword [esp + 8]
cmp byte [eax + 0xb3], 1
mov eax, 2
sbb eax, 0
lea edi, [esp + 0xb8]
lea ebx, [esp + 0xe0]
lea edx, [esp + 0xc8]
mov ecx, esi
push edi
mov edi, dword [esp + 0x10]
push ebx
mov ebx, dword [esp + 0x10]
push eax
lea eax, [esp + 0xc0]
push eax
call fcn.100b9310
add esp, 0x10
movzx ecx, byte [esp + 0xb4]
mov byte [esi + 0x84], cl
cmp byte [esi + 0x7d], 0
mov edx, dword [esp]
jne 0x100b7ab0
movss xmm0, dword [esi + 0x20]
xorps xmm1, xmm1
cmp byte [esp + 0x60], 0
jne 0x100b7957
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 + 0x10]
movaps xmm4, xmm2
movaps xmm3, xmm0
test al, al
jne 0x100b79c0
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 + 0x1b], 0
je 0x100b79c7
cmp byte [esp + 0x50], 0
jne 0x100b79d1
movaps xmm0, xmm3
test edx, 0x4000
je 0x100b79d9
mov byte [esi + 0x79], 1
test edx, 0x8000
jne 0x100b7a0c
lea ecx, [esi + 0x79]
jmp 0x100b7a00
cmp byte [esp + 0x1b], 0
jne 0x100b799d
movaps xmm2, xmm4
cmp byte [esp + 0x50], 0
je 0x100b79a4
test edx, 0x4000
jne 0x100b79af
movaps xmm3, xmm1
shufps xmm3, xmm1, 0x55
ucomiss xmm3, xmm0
seta cl
test dl, 8
sete al
and al, cl
lea ecx, [esi + 0x79]
mov byte [esi + 0x79], al
test edx, 0x8000
jne 0x100b7a14
test al, al
je 0x100b7a1e
movss xmm3, dword [ebx + 0x1588]
mov al, 1
jmp 0x100b7a23
mov byte [esi + 0x78], 1
mov al, 1
jmp 0x100b7a78
mov byte [esi + 0x78], 1
test al, al
jne 0x100b7a78
jmp 0x100b7a52
xorps xmm3, xmm3
xor eax, eax
subss xmm2, xmm3
ucomiss xmm1, xmm2
jbe 0x100b7a82
mov edx, dword [esp]
and edx, 8
mov edx, dword [esp]
jne 0x100b7a82
mov ebx, edx
and ebx, 0x800
mov edx, ebx
shr edx, 0xb
mov byte [esi + 0x78], dl
xorps xmm2, xmm2
test ebx, ebx
je 0x100b7a8e
test al, al
jne 0x100b7a6d
lea edx, [esi + 0x78]
shufps xmm1, xmm1, 0x55
ucomiss xmm1, xmm0
seta bl
test byte [esp], 8
sete al
and al, bl
mov byte [ecx], al
movzx edx, byte [edx]
test dl, dl
je 0x100b7a8b
mov ebx, dword [esp + 8]
mov edx, dword [esp]
movss xmm2, dword [ebx + 0x1588]
jmp 0x100b7a95
mov byte [esi + 0x78], 0
xorps xmm2, xmm2
jmp 0x100b7a95
xorps xmm2, xmm2
mov ebx, dword [esp + 8]
mov edx, dword [esp]
test al, al
je 0x100b7aa3
movss xmm0, dword [ebx + 0x1588]
jmp 0x100b7aa6
xorps xmm0, xmm0
movss dword [esi + 0x70], xmm0
movss dword [esi + 0x74], xmm2
lea eax, [edi + 0x23c]
cmp dword [esp + 0x1c], 0x3000000
lea ecx, [esp + 0xd0]
cmove eax, ecx
cmp byte [esp + 0x14], 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 0x100b7b38
mov eax, dword [0x10357698]
movss xmm2, dword [eax + 0x18e4]
mulss xmm2, dword [esi + 0x288]
mov ecx, dword [esi + 0x330]
test ecx, ecx
je 0x100b7b28
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 + 0xa8], ecx
mov dword [esp + 0xa4], eax
addps xmm2, xmm4
movlps qword [esp + 0xac], xmm2
movaps xmmword [esp + 0x60], xmm5
movaps xmmword [esp + 0x50], 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 + 0x80], xmm6
movaps xmmword [esp + 0x30], xmm7
unpcklps xmm6, xmm7
movaps xmm3, xmm0
minps xmm3, xmm6
movlhps xmm2, xmm3
movups xmmword [esi + 0x1ec], xmm2
movd xmm3, eax
mov dword [esi + 0x1fc], eax
shufps xmm4, xmm4, 0x55
addss xmm4, dword [esp + 0x10]
movss dword [esi + 0x200], xmm4
movaps xmm2, xmmword [esp + 0x40]
addss xmm2, xmm3
movsd xmm7, qword [esi + 0x70]
movss xmm0, xmm2
subps xmm0, xmm7
movlps qword [esi + 0x204], xmm0
movss xmm7, dword [esi + 0x34]
movss xmm2, dword [esi + 0x40]
mulss xmm7, dword [0x10154044]
cvttps2dq xmm7, xmm7
cvtdq2ps xmm1, xmm7
movaps xmm7, xmm2
cmpless xmm7, xmm1
andps xmm1, xmm7
andnps xmm7, xmm2
orps xmm7, xmm1
mov eax, edx
and eax, 0x401
lea ecx, [ebx + 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 0x100b7c8b
mov eax, edx
and eax, 0x2000000
jne 0x100b7c8b
mov eax, edx
and eax, 0x40
jne 0x100b7c8b
mulss xmm2, dword [0x1015c650]
jmp 0x100b7c9b
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 + 0x94]
mov edx, esi
call fcn.100ba000
movsd xmm0, qword [esp + 0x94]
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 edi, ebx
mov ebx, dword [eax + 0x1a18]
mov ecx, dword [ebx + 0x290]
sub esp, 0x14
movaps xmm0, xmmword [esp + 0x44]
movss dword [esp + 0xc], xmm0
movaps xmm0, xmmword [esp + 0x94]
movss dword [esp + 8], xmm0
movaps xmm0, xmmword [esp + 0x64]
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 [ebx + 0x290]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
shl ecx, 4
movdqu xmm0, xmmword [ecx + eax - 0x10]
movdqu xmmword [ebx + 0x23c], xmm0
xor eax, eax
mov edx, dword [esp]
test edx, 0x8000000
je 0x100b7df4
mov eax, dword [0x10357698]
mov ecx, dword [eax + 0x1b38]
test ecx, ecx
jle 0x100b7ddd
mov edx, dword [eax + 0x1b40]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*8]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffe0
jmp 0x100b7dc9
dec eax
add ecx, 0xffffffdc
cmp eax, 1
jbe 0x100b7ddd
mov edx, dword [ecx]
test edx, edx
je 0x100b7dc0
test byte [edx + 0xb], 8
je 0x100b7dc0
cmp esi, edx
je 0x100b7de3
xor eax, eax
jmp 0x100b7ded
xor edx, edx
cmp esi, edx
jne 0x100b7dd9
cmp dword [esi + 0x9c], 0
setle al
mov edi, dword [esp + 8]
mov edx, dword [esp]
mov ecx, dword [edi + 0x1c5c]
test ecx, ecx
je 0x100b7e09
cmp esi, dword [ecx + 0x334]
sete bl
jmp 0x100b7e0b
xor ebx, ebx
mov ecx, eax
or cl, bl
cmp cl, 1
jne 0x100b7f1a
movzx eax, al
shl eax, 4
mov ecx, dword [esp + 8]
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 + 0xd8]
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 edi, xmm0
or edi, edx
mov ecx, dword [esi + 0x290]
push 0xf
push 0
push edi
push eax
lea eax, [esp + 0xe0]
push eax
call fcn.100c2520
mov edx, dword [esp]
test bl, bl
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0xc]
je 0x100b80bc
cmp esi, dword [ebx + 0x1c5c]
jne 0x100b80bc
movsd xmm2, qword [esi + 0xc]
movss xmm3, dword [ebx + 0x18e0]
shufps xmm3, xmm3, 0
movaps xmm1, xmm2
subps xmm1, xmm3
movlps qword [esp + 0x94], xmm1
movsd xmm0, qword [esi + 0x14]
addps xmm0, xmm2
addps xmm0, xmm3
movlps qword [esp + 0x9c], xmm0
movss xmm2, dword [esp + 0xd0]
ucomiss xmm2, xmm1
jb 0x100b7fa4
movss xmm2, dword [esp + 0xd4]
shufps xmm1, xmm1, 0x55
ucomiss xmm2, xmm1
jb 0x100b7fa4
ucomiss xmm0, dword [esp + 0xd8]
jb 0x100b7fa4
shufps xmm0, xmm0, 0x55
ucomiss xmm0, dword [esp + 0xdc]
jae 0x100b80bc
movss xmm0, dword [ebx + 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 + 0x9c]
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 [esi + 0x290]
movd xmm0, dword [ebx + 0x152c]
sub esp, 0x14
movd dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0xa8]
mov dword [esp], eax
mov dword [esp + 8], edx
mov dword [esp + 0x10], 0xf
call fcn.100c2520
mov edx, dword [esp]
cmp dword [esp + 0x1c], 0x3000000
sete al
mov ecx, dword [esp + 0x14]
or cl, al
jne 0x100b80fc
mov eax, dword [esi + 0x290]
mov ecx, dword [eax]
mov eax, dword [eax + 8]
lea ecx, [ecx + ecx*4]
cmp dword [eax + ecx*8 - 0xc], 0
jne 0x100b80fc
mov eax, dword [edi + 0x290]
cmp dword [eax + 0x18], 0
jle 0x100b80fc
lea eax, [esi + 0x294]
mov dword [esi + 0x290], eax
cmp dword [ebx + 0x1c5c], esi
jne 0x100b82d0
movss xmm2, dword [ebx + 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 + 0x9c]
movss xmm4, dword [ebx + 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 + 0x94], xmm5
movss xmm5, dword [esp + 0xd0]
ucomiss xmm5, xmm3
jb 0x100b81c2
movaps xmm5, xmm3
shufps xmm5, xmm3, 0x55
movss xmm6, dword [esp + 0xd4]
ucomiss xmm6, xmm5
jb 0x100b81c2
ucomiss xmm2, dword [esp + 0xd8]
jb 0x100b81c2
movaps xmm5, xmm2
shufps xmm5, xmm2, 0x55
ucomiss xmm5, dword [esp + 0xdc]
jb 0x100b81c2
movss xmm0, dword [0x10154cc8]
subss xmm0, xmm4
shufps xmm0, xmm0, 0
subps xmm3, xmm0
addps xmm2, xmm0
movlhps xmm3, xmm2
movups xmmword [esp + 0x94], xmm3
movaps xmm0, xmm1
movss xmm1, dword [ebx + 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 ebx, xmm3
minss xmm4, xmm2
cmpltss xmm2, xmm6
andnps xmm2, xmm4
mulss xmm2, xmm5
addss xmm2, xmm7
cvttss2si edx, xmm2
shl edx, 8
or edx, ebx
mov ebx, dword [esp + 8]
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 ecx, dword [esi + 0x290]
sub esp, 0x18
movss dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [esp + 0xac]
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]
movss xmm0, dword [esi + 0x2c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
movaps xmm4, xmm0
jne 0x100b8320
jp 0x100b8320
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 0x100b830f
mov eax, dword [esp + 0x2c]
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 + 0x14], xmm2
jne 0x100b8335
jnp 0x100b833f
movss xmm7, dword [esi + 0x38]
movaps xmm5, xmm2
jmp 0x100b837a
movss xmm3, dword [esi + 0x18]
movss xmm5, dword [esi + 0x38]
movaps xmm7, xmm5
addss xmm5, xmm5
subss xmm3, xmm5
subss xmm3, dword [esp + 0x10]
subss xmm3, dword [esi + 0x74]
test dl, 8
jne 0x100b8369
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 + 0x1c], xmm4
subss xmm4, xmm2
addss xmm4, xmm3
movss dword [esi + 0x24c], xmm4
movaps xmm5, xmm2
shufps xmm5, xmm2, 0x55
movss dword [esp + 0x60], xmm6
subss xmm6, xmm5
addss xmm6, xmm7
addss xmm6, dword [esp + 0x10]
movss dword [esi + 0x250], xmm6
jne 0x100b8450
jp 0x100b8450
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 + 0x14]
ucomiss xmm2, dword [0x10154e10]
addss xmm4, xmm0
movss dword [esi + 0x254], xmm4
jne 0x100b8488
jp 0x100b8488
movss xmm2, dword [esi + 0x18]
movaps xmm0, xmm7
addss xmm0, xmm7
subss xmm2, xmm0
subss xmm2, dword [esp + 0x10]
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 + 0x10]
addss xmm2, xmm7
subss xmm2, xmm5
addss xmm2, dword [esp + 0x60]
movss dword [esi + 0x100], xmm3
addss xmm3, xmm0
addss xmm3, dword [esp + 0x1c]
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 0x100b8570
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]
movd xmm0, dword [ebx + 0x1568]
sub esp, 0xc
movzx eax, byte [esp + 0x13]
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 0x100b8652
mov eax, dword [0x10357698]
test eax, eax
je 0x100b85e3
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 0x100b863e
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 0x100b862e
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b862e
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 + 0xc]
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 0x100b8688
mov eax, dword [edi + 0x194]
jmp 0x100b868d
mov eax, 1
mov ecx, dword [esp]
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 0x100b874a
mov eax, dword [0x10357698]
test eax, eax
je 0x100b86d8
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 0x100b8733
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 0x100b8723
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b8723
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]
mov edi, dword [esp + 0xc]
mov dword [esi + 0x1b0], 0
cmp dword [esi + 0x1c0], 0
jns 0x100b87e2
mov eax, dword [0x10357698]
test eax, eax
je 0x100b8770
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 0x100b87cb
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 0x100b87bb
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b87bb
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]
mov edi, dword [esp + 0xc]
mov dword [esi + 0x1bc], 0
cmp dword [esi + 0x1cc], 0
jns 0x100b887a
mov eax, dword [0x10357698]
test eax, eax
je 0x100b8808
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 0x100b8863
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 0x100b8853
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b8853
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]
mov edi, dword [esp + 0xc]
mov dword [esi + 0x1c8], 0
cmp dword [esi + 0x1d8], 0
jns 0x100b890c
mov eax, dword [0x10357698]
test eax, eax
je 0x100b889c
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 0x100b88f5
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 0x100b88e5
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b88e5
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]
mov edi, dword [esp + 0xc]
mov dword [esi + 0x1d4], 0
test edi, edi
je 0x100b894c
mov eax, dword [edi + 0x1a4]
mov dword [esi + 0x1a4], eax
mov ecx, dword [esi + 0x1b0]
cmp ecx, dword [esi + 0x1b4]
jne 0x100b89f6
lea ebx, [ecx + 1]
test ecx, ecx
je 0x100b895b
mov edx, ecx
shr edx, 0x1f
add edx, ecx
sar edx, 1
add edx, ecx
jmp 0x100b8960
mov dword [esi + 0x1a4], 0
jmp 0x100b8a0c
mov edx, 8
cmp edx, ebx
cmovg ebx, edx
cmp ecx, ebx
jge 0x100b89f6
lea eax, [ebx*4]
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b8984
inc dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x103564fc]
add esp, 8
mov edi, eax
mov eax, dword [esi + 0x1b8]
test eax, eax
je 0x100b89de
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 0x100b89ce
mov ecx, dword [0x10357698]
test ecx, ecx
je 0x100b89ce
dec dword [ecx + 0x374]
push dword [0x103576a0]
push eax
call dword [0x10356500]
add esp, 8
mov dword [esi + 0x1b8], edi
mov dword [esi + 0x1b4], ebx
mov eax, dword [esi + 0x1a4]
mov ecx, dword [esi + 0x1b0]
mov edx, dword [esi + 0x1b8]
mov dword [edx + ecx*4], eax
inc dword [esi + 0x1b0]
mov ebx, dword [esp + 8]
mov ecx, dword [esp]
movzx eax, byte [esi + 0x90]
test al, al
jle 0x100b8a1f
dec al
mov byte [esi + 0x90], al
movzx eax, byte [esi + 0x91]
test al, al
jle 0x100b8a32
dec al
mov byte [esi + 0x91], al
test byte [esp + 0x24], 1
je 0x100b8ae1
push esi
call fcn.100ab0b0
add esp, 4
mov eax, dword [0x10357698]
mov ecx, dword [esi + 8]
test ecx, 0x40000
jne 0x100b8ac8
and ecx, 0x5000000
cmp ecx, 0x1000000
jne 0x100b8a6e
mov ecx, dword [esi + 0x344]
test ecx, ecx
jne 0x100b8ace
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 0x100b8ac0
movzx ecx, byte [eax + 0x1ba5]
mov byte [eax + 0x1ba4], cl
jmp 0x100b8ade
mov ecx, dword [esi + 0x344]
mov dword [eax + 0x1b54], ecx
mov dword [eax + 0x1b58], 0
mov ecx, dword [esp]
test cl, 1
jne 0x100b8afd
lea edx, [esp + 0xa4]
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 + 0xa4]
movss xmm1, dword [eax + 0x1578]
subss xmm2, xmm1
movss xmm0, dword [eax + 0xe8]
xor ecx, ecx
ucomiss xmm0, xmm2
jb 0x100b8b79
movss xmm3, dword [esp + 0xa8]
movss xmm2, dword [eax + 0x157c]
subss xmm3, xmm2
addss xmm1, dword [esp + 0xac]
addss xmm2, dword [esp + 0xb0]
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 + 0xa4]
movups xmmword [esi + 0x114], xmm0
mov ecx, dword [eax + 0x1a18]
mov byte [ecx + 0x7c], 1
mov edi, dword [eax + 0x1a18]
mov ecx, dword [edi + 0x290]
movups xmm0, xmmword [esi + 0x20c]
sub esp, 0x14
movups xmmword [esp], xmm0
mov dword [esp + 0x10], 1
call fcn.100c0470
mov eax, dword [edi + 0x290]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
shl ecx, 4
movups xmm0, xmmword [ecx + eax - 0x10]
movups xmmword [edi + 0x23c], xmm0
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x28]
je 0x100b8bf1
mov byte [esi + 0x7c], 0
inc word [esi + 0x86]
mov dword [ebx + 0x1aa0], 0
mov eax, dword [esp]
test eax, 0x1000000
mov ecx, dword [esp + 0xc]
je 0x100b8c88
test al, 0x40
jne 0x100b8c52
cmp byte [esi + 0x90], 0
jg 0x100b8c52
cmp byte [esi + 0x91], 0
jg 0x100b8c52
movss xmm0, dword [esi + 0x1ec]
ucomiss xmm0, dword [esi + 0x1f4]
jae 0x100b8c48
movss xmm0, dword [esi + 0x1f0]
ucomiss xmm0, dword [esi + 0x1f8]
jb 0x100b8c52
mov dword [esi + 0x98], 1
test ecx, ecx
je 0x100b8c88
cmp byte [ecx + 0x7d], 0
jne 0x100b8c65
cmp dword [ecx + 0x98], 0
jle 0x100b8c75
mov dword [esi + 0x98], 1
cmp byte [ecx + 0x7d], 0
jne 0x100b8c7e
cmp dword [ecx + 0x9c], 0
jle 0x100b8c88
mov dword [esi + 0x9c], 1
xorps xmm0, xmm0
ucomiss xmm0, dword [ebx + 0x1520]
jae 0x100b8cab
mov al, 1
cmp dword [esi + 0x98], 0
jg 0x100b8cb7
cmp dword [esi + 0x9c], 0
setg al
jmp 0x100b8cb7
mov dword [esi + 0x98], 1
mov al, 1
mov byte [esi + 0x81], al
cmp byte [esi + 0x7d], 0
je 0x100b8ce1
cmp byte [esi + 0x90], 0
jg 0x100b8ceb
cmp byte [esi + 0x91], 0
jg 0x100b8ceb
cmp dword [esi + 0x9c], 0
setle bl
jmp 0x100b8ced
cmp byte [esi + 0x7a], 0
je 0x100b8cc3
test al, al
jne 0x100b8cc3
xor ebx, ebx
mov byte [esi + 0x7f], bl
xor bl, 1
mov ecx, dword [esp + 0xf8]
xor ecx, ebp
call fcn.100f6c33
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret