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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xec
mov eax, dword [0x1015a380]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov ebx, ecx
push 0x10218f28
mov dword [ebp - 0xc0], ebx
call dword [sym.imp.MSVCP140.dll__Mtx_lock]
add esp, 4
test eax, eax
je 0x10097f08
push 5
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
cmp dword [0x10218f54], 0x7fffffff
jne 0x10097f26
push 6
mov dword [0x10218f54], 0x7ffffffe
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
test byte [0x10213eec], 2
jne 0x10097fc2
cmp byte [ebx + 0x70], 0
je 0x1009934a
lea eax, [ebp - 0x7c]
mov dword [ebx + 0x74], 0
push eax
mov ecx, 0x10201288
mov dword [ebx + 0x78], 0
call fcn.1004e1e0
cmp dword [ebp - 0x68], 0xf
lea edx, [ebp - 0x7c]
cmova edx, dword [ebp - 0x7c]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10097f70
sub ecx, esi
push ecx
push edx
lea ecx, [ebx + 0x7c]
call fcn.10046150
mov ecx, dword [ebp - 0x68]
cmp ecx, 0xf
jbe 0x10097fb9
mov edx, dword [ebp - 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10097faf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10097faf
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100d7f1a
add esp, 8
mov byte [ebx + 0x70], 0
jmp 0x1009934a
cmp byte [0x10213c48], 0
movss xmm1, dword [0x10155e08]
movss xmm0, dword [0x10213f14]
mulss xmm0, xmm1
cvttss2si eax, xmm0
movss xmm0, dword [0x10213f10]
mulss xmm0, xmm1
mov dword [ebp - 0xac], eax
cvttss2si eax, xmm0
movss xmm0, dword [0x10213f0c]
mulss xmm0, xmm1
mov dword [ebp - 0xc4], eax
movss xmm1, dword [0x10155bc0]
cvttss2si eax, xmm0
xorps xmm0, xmm0
mov dword [ebp - 0xd4], eax
jne 0x10098026
cmp byte [ebx + 0x70], 0
je 0x10098029
movaps xmm0, xmm1
movss xmm2, dword [0x1020dc08]
movaps xmm1, xmm0
mulss xmm2, dword [0x10155c64]
movss xmm0, dword [0x1021739c]
call fcn.10085b20
movss xmm3, dword [0x10155bc0]
lea ecx, [ebp - 0x98]
xorps xmm1, xmm1
movss dword [0x1021739c], xmm0
comiss xmm0, xmm1
mov eax, 0x1021739c
mov dword [ebp - 0xbc], 0x3f800000
mov dword [ebp - 0x98], 0
cmovae ecx, eax
lea eax, [ebp - 0xbc]
comiss xmm3, xmm0
cmovae eax, ecx
cmp byte [0x1020db4c], 0
movss xmm2, dword [eax]
movss dword [0x1021739c], xmm2
je 0x100980ab
mov al, 1
mov byte [0x10217388], al
jmp 0x100980b0
mov al, byte [0x10217388]
movss xmm0, dword [0x10213efc]
movss xmm3, dword [0x10155b64]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1009811c
movss xmm0, dword [0x10213f00]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1009811c
mov eax, dword [0x10216c0c]
movss xmm0, dword [eax + 0x18]
mulss xmm0, xmm3
subss xmm0, dword [0x10155d4c]
movss dword [0x10213efc], xmm0
movss xmm0, dword [eax + 0x1c]
mov al, 1
mulss xmm0, dword [0x10155af8]
mov byte [0x10217388], al
subss xmm0, dword [0x10155d40]
movss dword [0x10213f00], xmm0
comiss xmm1, xmm2
jae 0x1009934a
mov esi, dword [0x1020f4d8]
test al, al
je 0x10098172
or dword [esi + 0x1a34], 1
mov eax, dword [0x10213efc]
mov ecx, dword [0x10213f00]
mov dword [esi + 0x1a44], eax
mov dword [esi + 0x1a48], ecx
mov dword [esi + 0x1a4c], 0
mov dword [esi + 0x1a50], 0
mov dword [esi + 0x1a38], 1
mov byte [0x10217388], 0
mov ecx, dword [0x102170d8]
mov edi, ecx
or dword [esi + 0x1a34], 2
mov dword [esi + 0x1a54], 0x42fa0000
mov dword [esi + 0x1a58], 0x42700000
mov dword [esi + 0x1a3c], 1
mov dword [ebp - 0x9c], ecx
test ecx, ecx
jne 0x100981c8
mov ecx, dword [esi + 0xa4]
mov edi, ecx
test ecx, ecx
jne 0x100981c2
mov eax, dword [esi + 0x98]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
mov edi, ecx
mov dword [ebp - 0x9c], ecx
call fcn.10013c30
lea eax, [ebp - 0x9c]
push eax
lea ecx, [esi + 0x1ab4]
call fcn.10019930
mov eax, dword [esi + 0x19b0]
mov ebx, dword [eax + 0x284]
mov eax, dword [edi + 0x38]
mov edi, dword [ebx + 0x50]
mov ecx, dword [ebx + 0x4c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x98], eax
cmp ecx, edi
jne 0x10098224
inc ecx
test edi, edi
je 0x10098211
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10098216
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x4c]
call fcn.100198b0
mov edx, dword [ebx + 0x4c]
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebp - 0x98]
mov dword [eax + edx*4], ecx
mov ecx, ebx
inc dword [ebx + 0x4c]
call fcn.10022100
mov esi, dword [0x1020f4d8]
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 0x18], 5
or dword [esi + 0x1a34], 0x40
lea ecx, [esi + 0x1a9c]
mov dword [esi + 0x1a80], 0
movups xmm0, xmmword [esi + 0x1610]
movups xmmword [ebp - 0x14], xmm0
call fcn.100197f0
mov dword [esi + 0x1610], 0
lea eax, [ebp - 0x1c]
mov dword [esi + 0x1614], 0
mov ecx, 0x10208c58
mov dword [esi + 0x1618], 0
push eax
mov dword [esi + 0x161c], 0
call fcn.10049fe0
cmp dword [ebp - 8], 0xf
lea ecx, [ebp - 0x1c]
push 0x112b
cmova ecx, dword [ebp - 0x1c]
mov edx, 0x10208c50
call fcn.10011220
mov ecx, dword [ebp - 8]
add esp, 4
cmp ecx, 0xf
jbe 0x100982fe
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100982f4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100982f4
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100d7f1a
add esp, 8
mov ecx, dword [0x1020f4d8]
movss xmm3, dword [0x10155bc0]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
mov eax, dword [ecx + 0x19b0]
movss xmm2, dword [0x10155e08]
mov byte [eax + 0x8c], 1
mov eax, dword [ecx + 0x19b0]
mov ebx, dword [eax + 0x284]
mov dword [ebp - 0xa4], ebx
or dword [ebx + 0x24], 3
mov eax, dword [ecx + 0x19b0]
movss xmm5, dword [eax + 0x10]
movss xmm4, dword [eax + 0xc]
movaps xmm0, xmm5
addss xmm0, xmm3
movss dword [ebp - 0xb8], xmm5
addss xmm4, dword [0x10155c60]
movss dword [ebp - 0xcc], xmm0
movss xmm0, dword [0x1021739c]
movaps xmm1, xmm0
movss dword [ebp - 0xb4], xmm4
mulss xmm0, dword [0x10155d8c]
mulss xmm1, xmm2
cvttss2si eax, xmm0
xorps xmm0, xmm0
movss dword [ebp - 0xd0], xmm4
movzx eax, al
movss dword [ebp - 0xbc], xmm1
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x10155aa0]
comiss xmm0, xmm1
jbe 0x100983ca
xorps xmm1, xmm1
jmp 0x100983ce
minss xmm1, xmm3
mulss xmm1, xmm2
movaps xmm0, xmm4
push 0xf
addss xmm0, dword [0x10155d98]
push ecx
addss xmm1, dword [0x10155b64]
mov dword [esp], 0x40400000
mov ecx, ebx
movss dword [ebp - 0x98], xmm0
movss dword [ebp - 0xe0], xmm0
movaps xmm0, xmm5
addss xmm0, dword [0x10155d20]
cvttss2si eax, xmm1
movss dword [ebp - 0xa8], xmm0
shl eax, 0x18
or eax, 0x242529
movss dword [ebp - 0xdc], xmm0
push eax
lea eax, [ebp - 0xe0]
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.100243c0
cvttss2si eax, dword [ebp - 0xbc]
xorps xmm0, xmm0
movzx eax, al
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x10155aa0]
comiss xmm0, xmm1
jbe 0x10098463
xorps xmm1, xmm1
jmp 0x1009846b
minss xmm1, dword [0x10155bc0]
mulss xmm1, dword [0x10155e08]
mov ecx, ebx
mov dword [ebp - 0xe0], 0x3f800000
movss xmm0, dword [ebp - 0xb4]
addss xmm0, dword [0x10155d0c]
addss xmm1, dword [0x10155b64]
mov dword [ebp - 0xdc], 0x3f800000
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0
movss dword [ebp - 0xa0], xmm0
movss xmm0, dword [ebp - 0xb8]
addss xmm0, dword [0x10155d1c]
cvttss2si eax, xmm1
movss dword [ebp - 0x9c], xmm0
movss xmm0, dword [ebp - 0xb4]
addss xmm0, dword [0x10155c84]
shl eax, 0x18
or eax, 0xffffff
push eax
lea eax, [ebp - 0xe0]
push eax
lea eax, [ebp - 0xe8]
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [ebp - 0xb8]
addss xmm0, dword [0x10155cb0]
push eax
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xc]
push eax
mov eax, dword [ebp - 0xc0]
movss dword [ebp - 8], xmm0
push dword [eax + 0x3c]
call fcn.100248c0
movss xmm0, dword [0x1021739c]
mulss xmm0, dword [0x10155c98]
cvttss2si eax, xmm0
xorps xmm0, xmm0
movzx eax, al
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x10155aa0]
comiss xmm0, xmm1
jbe 0x10098566
xorps xmm1, xmm1
jmp 0x1009856e
minss xmm1, dword [0x10155bc0]
mulss xmm1, dword [0x10155e08]
push ecx
movss xmm0, dword [ebp - 0x98]
mov dword [esp], 0x3f800000
addss xmm1, dword [0x10155b64]
push 0xf
push ecx
mov dword [esp], 0x41000000
mov ecx, ebx
movss dword [ebp - 0xc], xmm0
movss xmm0, dword [ebp - 0xa8]
cvttss2si eax, xmm1
movss dword [ebp - 8], xmm0
shl eax, 0x18
or eax, 0xffffff
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.100242e0
mov ecx, dword [0x102170ec]
mov edi, ecx
mov esi, dword [0x1020f4d8]
mov dword [ebp - 0x9c], ecx
test ecx, ecx
jne 0x10098600
mov ecx, dword [esi + 0xa4]
mov edi, ecx
test ecx, ecx
jne 0x100985fa
mov eax, dword [esi + 0x98]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
mov edi, ecx
mov dword [ebp - 0x9c], ecx
call fcn.10013c30
lea eax, [ebp - 0x9c]
push eax
lea ecx, [esi + 0x1ab4]
call fcn.10019930
mov eax, dword [esi + 0x19b0]
mov ebx, dword [eax + 0x284]
mov eax, dword [edi + 0x38]
mov edi, dword [ebx + 0x50]
mov ecx, dword [ebx + 0x4c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x98], eax
cmp ecx, edi
jne 0x1009865c
inc ecx
test edi, edi
je 0x10098649
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x1009864e
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x4c]
call fcn.100198b0
mov edx, dword [ebx + 0x4c]
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebp - 0x98]
mov dword [eax + edx*4], ecx
mov ecx, ebx
inc dword [ebx + 0x4c]
call fcn.10022100
mov esi, dword [ebp - 0xc0]
add esi, 0x7c
cmp dword [esi + 0x14], 0xf
jbe 0x10098686
mov esi, dword [esi]
cvttss2si edx, dword [ebp - 0xbc]
lea eax, [ebp - 0xa8]
mov dword [ebp - 0x9c], 0xff
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x98], 0
movss xmm0, dword [0x10155aa0]
test edx, edx
mov dword [ebp - 0xa8], edx
movss xmm4, dword [0x10155bc0]
cmovns ecx, eax
cmp edx, 0xff
lea eax, [ebp - 0x9c]
cmovle eax, ecx
mov cl, byte [eax]
mov eax, dword [ebp - 0xd4]
movzx eax, al
movd xmm1, eax
mov eax, dword [ebp - 0xc4]
movzx eax, al
cvtdq2ps xmm1, xmm1
movd xmm6, eax
mov eax, dword [ebp - 0xac]
movzx eax, al
cvtdq2ps xmm6, xmm6
movd xmm5, eax
movzx eax, cl
cvtdq2ps xmm5, xmm5
movd xmm2, eax
cvtdq2ps xmm2, xmm2
mulss xmm1, xmm0
mulss xmm6, xmm0
mulss xmm5, xmm0
mulss xmm2, xmm0
xorps xmm0, xmm0
comiss xmm0, xmm1
movss dword [ebp - 0xe4], xmm1
movss dword [ebp - 0xdc], xmm6
movss dword [ebp - 0xcc], xmm5
jbe 0x10098749
xorps xmm1, xmm1
jmp 0x1009874d
minss xmm1, xmm4
movss xmm3, dword [0x10155e08]
movss xmm7, dword [0x10155b64]
mulss xmm1, xmm3
addss xmm1, xmm7
cvttss2si ecx, xmm1
shl ecx, 0x10
comiss xmm0, xmm6
jbe 0x10098776
xorps xmm1, xmm1
jmp 0x1009877d
movaps xmm1, xmm6
minss xmm1, xmm4
mulss xmm1, xmm3
addss xmm1, xmm7
cvttss2si eax, xmm1
shl eax, 8
or ecx, eax
comiss xmm0, xmm5
jbe 0x10098798
xorps xmm1, xmm1
jmp 0x1009879f
movaps xmm1, xmm5
minss xmm1, xmm4
mulss xmm1, xmm3
addss xmm1, xmm7
cvttss2si eax, xmm1
or ecx, eax
comiss xmm0, xmm2
jbe 0x100987b7
xorps xmm2, xmm2
jmp 0x100987bb
minss xmm2, xmm4
movss xmm0, dword [ebp - 0xb4]
addss xmm0, dword [0x10155cb0]
mulss xmm2, xmm3
addss xmm2, xmm7
movss dword [ebp - 0xb0], xmm0
movss xmm0, dword [ebp - 0xb8]
addss xmm0, dword [0x10155c80]
cvttss2si edi, xmm2
movss dword [ebp - 0xac], xmm0
shl edi, 0x18
or edi, ecx
test edi, 0xff000000
je 0x1009886a
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10098810
sub ecx, edx
lea ebx, [ecx + esi]
cmp esi, ebx
je 0x1009886a
push dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa4]
push dword [ebp - 0xb0]
push 0
mov edx, dword [ecx + 0x40]
mov eax, dword [ecx + 0x28]
add edx, edx
mov ecx, dword [ecx + 0x48]
push ecx
mov dword [esp], 0
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [ecx + edx*8 - 0x10]
push ebx
push esi
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [eax + 8]
push edi
push dword [ebp - 0xa4]
movups xmmword [ebp - 0x14], xmm0
call fcn.10027b90
mov edi, dword [0x1020f4d8]
mov eax, dword [edi + 0x19b0]
mov ecx, dword [eax + 0x284]
dec dword [ecx + 0x4c]
call fcn.10022100
mov ecx, dword [edi + 0x1ab4]
mov esi, dword [0x1020f4d8]
sub ecx, 1
mov dword [edi + 0x1ab4], ecx
jne 0x100988b2
mov ecx, dword [esi + 0xa4]
test ecx, ecx
jne 0x100988bc
mov eax, dword [esi + 0x98]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
jmp 0x100988bc
mov eax, dword [edi + 0x1abc]
mov ecx, dword [eax + ecx*4 - 4]
call fcn.10013c30
mov ecx, dword [0x102170e8]
mov edi, ecx
mov dword [ebp - 0x9c], ecx
test ecx, ecx
jne 0x100988f2
mov ecx, dword [esi + 0xa4]
mov edi, ecx
test ecx, ecx
jne 0x100988ec
mov eax, dword [esi + 0x98]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
mov edi, ecx
mov dword [ebp - 0x9c], ecx
call fcn.10013c30
lea eax, [ebp - 0x9c]
push eax
lea ecx, [esi + 0x1ab4]
call fcn.10019930
mov eax, dword [esi + 0x19b0]
mov ebx, dword [eax + 0x284]
mov eax, dword [edi + 0x38]
mov edi, dword [ebx + 0x50]
mov ecx, dword [ebx + 0x4c]
mov eax, dword [eax + 8]
mov dword [ebp - 0xac], eax
cmp ecx, edi
jne 0x1009894e
inc ecx
test edi, edi
je 0x1009893b
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10098940
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x4c]
call fcn.100198b0
mov edx, dword [ebx + 0x4c]
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebp - 0xac]
mov dword [eax + edx*4], ecx
mov ecx, ebx
inc dword [ebx + 0x4c]
call fcn.10022100
lea eax, [ebp - 0x34]
mov ecx, 0x10208c18
push eax
call fcn.1004e1e0
mov eax, dword [ebp - 0xc0]
lea edi, [ebp - 0x34]
cmp dword [ebp - 0x20], 0xf
lea esi, [ebp - 7]
cmova edi, dword [ebp - 0x34]
mov ebx, dword [eax + 0x74]
test ebx, ebx
jns 0x100989c0
neg ebx
mov eax, 0xcccccccd
dec esi
mul ebx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [esi], bl
mov ebx, edx
test ebx, ebx
jne 0x10098992
dec esi
mov byte [esi], 0x2d
jmp 0x100989e3
mov eax, 0xcccccccd
dec esi
mul ebx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [esi], bl
mov ebx, edx
test ebx, ebx
jne 0x100989c0
push ecx
lea eax, [ebp - 7]
push eax
push esi
lea ecx, [ebp - 0x7c]
call fcn.1004a5d0
push edi
lea ecx, [ebp - 0x7c]
call fcn.100459d0
mov dword [ebp - 0x3c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x38], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x4c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x3c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0x68]
cmp ecx, 0xf
jbe 0x10098a61
mov edx, dword [ebp - 0x7c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098a57
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10098a99
push ecx
push edx
call fcn.100d7f1a
add esp, 8
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0xf
mov byte [ebp - 0x7c], 0
cmp ecx, 0xf
jbe 0x10098aa9
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098a9f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10098a9f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100d7f1a
add esp, 8
mov ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x4c]
mov edx, dword [ebp - 0x4c]
cmp ecx, 0xf
mov edi, dword [0x1020f4d8]
cmova eax, edx
test eax, eax
jne 0x10098acf
xorps xmm0, xmm0
movss dword [ebp - 0x98], xmm0
jmp 0x10098b22
movss xmm2, dword [edi + 0x18c4]
push ecx
push 0
push eax
push ecx
mov ecx, dword [edi + 0x18c0]
lea eax, [ebp - 0xc]
mov dword [esp], 0xbf800000
push eax
call fcn.100279e0
movss xmm0, dword [ebp - 0xc]
addss xmm0, dword [0x10155bb8]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x4c]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x98], xmm0
movss xmm0, dword [ebp - 8]
movss dword [ebp - 8], xmm0
movss xmm0, dword [0x1021739c]
lea esi, [ebp - 0x4c]
movss xmm2, dword [0x10155e08]
cmp ecx, 0xf
mulss xmm0, xmm2
xorps xmm1, xmm1
cmova esi, edx
cvttss2si eax, xmm0
movzx eax, al
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10155aa0]
comiss xmm1, xmm0
jbe 0x10098b72
movss xmm0, dword [ebp - 0xb8]
addss xmm0, dword [0x10155c8c]
jmp 0x10098c54
minss xmm0, dword [0x10155bc0]
mulss xmm0, xmm2
addss xmm0, dword [0x10155b64]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0xb4]
addss xmm0, dword [0x10155d28]
shl eax, 0x18
mov ecx, eax
or ecx, 0xffffff
mov dword [ebp - 0xac], ecx
movss dword [ebp - 0xd8], xmm0
movss xmm0, dword [ebp - 0xb8]
addss xmm0, dword [0x10155c8c]
movss dword [ebp - 0xc4], xmm0
movss dword [ebp - 0xd4], xmm0
movss dword [ebp - 0x9c], xmm0
test eax, eax
je 0x10098c5c
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10098be4
sub ecx, edx
movss dword [ebp - 0x9c], xmm0
lea ebx, [esi + ecx]
cmp esi, ebx
je 0x10098c5c
push dword [ebp - 0xd4]
mov edi, dword [ebp - 0xa4]
push dword [ebp - 0xd8]
push 0
mov edx, dword [edi + 0x40]
mov ecx, dword [edi + 0x48]
add edx, edx
mov eax, dword [edi + 0x28]
push ecx
mov dword [esp], 0
movups xmm0, xmmword [ecx + edx*8 - 0x10]
lea ecx, [ebp - 0x14]
movss xmm2, dword [eax + 0xc]
push ebx
push esi
push ecx
push dword [ebp - 0xac]
mov ecx, dword [eax + 8]
push edi
movups xmmword [ebp - 0x14], xmm0
call fcn.10027b90
movss xmm0, dword [ebp - 0xc4]
mov edi, dword [0x1020f4d8]
movss dword [ebp - 0x9c], xmm0
mov eax, dword [edi + 0x19b0]
mov ecx, dword [eax + 0x284]
dec dword [ecx + 0x4c]
call fcn.10022100
mov ecx, dword [edi + 0x1ab4]
mov esi, dword [0x1020f4d8]
sub ecx, 1
mov dword [edi + 0x1ab4], ecx
jne 0x10098c9e
mov ecx, dword [esi + 0xa4]
test ecx, ecx
jne 0x10098ca8
mov eax, dword [esi + 0x98]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
jmp 0x10098ca8
mov eax, dword [edi + 0x1abc]
mov ecx, dword [eax + ecx*4 - 4]
call fcn.10013c30
mov ecx, dword [0x102170dc]
mov edi, ecx
mov dword [ebp - 0xa8], ecx
test ecx, ecx
jne 0x10098cde
mov ecx, dword [esi + 0xa4]
mov edi, ecx
test ecx, ecx
jne 0x10098cd8
mov eax, dword [esi + 0x98]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
mov edi, ecx
mov dword [ebp - 0xa8], ecx
call fcn.10013c30
lea eax, [ebp - 0xa8]
push eax
lea ecx, [esi + 0x1ab4]
call fcn.10019930
mov eax, dword [esi + 0x19b0]
mov ebx, dword [eax + 0x284]
mov eax, dword [edi + 0x38]
mov edi, dword [ebx + 0x50]
mov ecx, dword [ebx + 0x4c]
mov eax, dword [eax + 8]
mov dword [ebp - 0xac], eax
cmp ecx, edi
jne 0x10098d3a
inc ecx
test edi, edi
je 0x10098d27
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x10098d2c
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
lea ecx, [ebx + 0x4c]
call fcn.100198b0
mov edx, dword [ebx + 0x4c]
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebp - 0xac]
mov dword [eax + edx*4], ecx
mov ecx, ebx
inc dword [ebx + 0x4c]
call fcn.10022100
lea eax, [ebp - 0x94]
mov ecx, 0x10208c80
push eax
call fcn.1005d1c0
movss xmm0, dword [0x1021739c]
lea esi, [ebp - 0x94]
movss xmm2, dword [0x10155e08]
mov edi, dword [ebp - 0x80]
cmp edi, 0xf
mov edx, dword [ebp - 0x94]
mulss xmm0, xmm2
cmova esi, edx
cvttss2si eax, xmm0
xorps xmm0, xmm0
movzx eax, al
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x10155aa0]
comiss xmm0, xmm1
ja 0x10098e74
minss xmm1, dword [0x10155bc0]
movss xmm0, dword [ebp - 0x98]
addss xmm0, dword [0x10155d30]
mulss xmm1, xmm2
addss xmm0, dword [ebp - 0xb4]
addss xmm1, dword [0x10155b64]
movss dword [ebp - 0xc8], xmm0
movss xmm0, dword [ebp - 0x9c]
cvttss2si eax, xmm1
movss dword [ebp - 0xc4], xmm0
shl eax, 0x18
mov ecx, eax
or ecx, 0xffffff
mov dword [ebp - 0xac], ecx
test eax, eax
je 0x10098e74
mov ecx, esi
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10098e11
sub ecx, ebx
lea ebx, [ecx + esi]
cmp esi, ebx
je 0x10098e74
push dword [ebp - 0xc4]
mov edi, dword [ebp - 0xa4]
push dword [ebp - 0xc8]
push 0
mov edx, dword [edi + 0x40]
mov ecx, dword [edi + 0x48]
add edx, edx
mov eax, dword [edi + 0x28]
push ecx
mov dword [esp], 0
movups xmm0, xmmword [ecx + edx*8 - 0x10]
lea ecx, [ebp - 0x14]
movss xmm2, dword [eax + 0xc]
push ebx
push esi
push ecx
push dword [ebp - 0xac]
mov ecx, dword [eax + 8]
push edi
movups xmmword [ebp - 0x14], xmm0
call fcn.10027b90
mov edi, dword [ebp - 0x80]
mov edx, dword [ebp - 0x94]
cmp edi, 0xf
jbe 0x10098ea6
lea ecx, [edi + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x10098e9c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10098e9c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100d7f1a
add esp, 8
mov ebx, dword [ebp - 0xc0]
xorps xmm0, xmm0
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
cmp dword [ebx + 0x78], 0
mov byte [ebp - 0x64], 0
jle 0x10098f21
lea eax, [ebp - 0x34]
mov ecx, 0x10208c40
push eax
call fcn.10068110
cmp dword [ebp - 0x20], 0xf
lea eax, [ebp - 0x34]
lea ecx, [ebp - 0x64]
cmova eax, dword [ebp - 0x34]
push eax
call fcn.100459d0
mov ecx, dword [ebp - 0x20]
cmp ecx, 0xf
jbe 0x10098f21
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098f17
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10099291
push ecx
push edx
call fcn.100d7f1a
add esp, 8
mov ebx, dword [ebx + 0x78]
lea esi, [ebp - 7]
test ebx, ebx
jns 0x10098f60
neg ebx
nop dword [eax]
mov eax, 0xcccccccd
dec esi
mul ebx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [esi], bl
mov ebx, edx
test ebx, ebx
jne 0x10098f30
dec esi
mov byte [esi], 0x2d
jmp 0x10098f83
mov eax, 0xcccccccd
dec esi
mul ebx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
add cl, cl
sub bl, cl
add bl, 0x30
mov byte [esi], bl
mov ebx, edx
test ebx, ebx
jne 0x10098f60
push ecx
lea eax, [ebp - 7]
push eax
push esi
lea ecx, [ebp - 0x34]
call fcn.1004a5d0
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x64]
call fcn.10045a40
mov ecx, dword [ebp - 0x20]
cmp ecx, 0xf
jbe 0x10098fd1
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10098fc7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10099291
push ecx
push edx
call fcn.100d7f1a
add esp, 8
lea eax, [ebp - 0x34]
mov ecx, 0x10208c70
push eax
call fcn.1005d1c0
cmp dword [ebp - 0x20], 0xf
lea eax, [ebp - 0x34]
lea ecx, [ebp - 0x64]
cmova eax, dword [ebp - 0x34]
push eax
call fcn.100459d0
mov ecx, dword [ebp - 0x20]
cmp ecx, 0xf
jbe 0x10099027
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009901d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10099291
push ecx
push edx
call fcn.100d7f1a
add esp, 8
cvttss2si edx, dword [ebp - 0xbc]
cmp dword [ebp - 0x50], 0xf
lea edi, [ebp - 0x64]
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xd4], 0xff
lea ecx, [ebp - 0xac]
cmova edi, dword [ebp - 0x64]
mov dword [ebp - 0xac], 0
movss xmm4, dword [ebp - 0xe4]
xorps xmm0, xmm0
movss xmm3, dword [0x10155bc0]
test edx, edx
mov dword [ebp - 0xc4], edx
cmovns ecx, eax
cmp edx, 0xff
lea eax, [ebp - 0xd4]
cmovle eax, ecx
comiss xmm0, xmm4
movzx eax, byte [eax]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, dword [0x10155aa0]
jbe 0x100990a3
xorps xmm4, xmm4
jmp 0x100990a7
minss xmm4, xmm3
movss xmm2, dword [0x10155e08]
movss xmm5, dword [0x10155b64]
mulss xmm4, xmm2
addss xmm4, xmm5
cvttss2si ecx, xmm4
movss xmm4, dword [ebp - 0xdc]
shl ecx, 0x10
comiss xmm0, xmm4
jbe 0x100990d8
xorps xmm4, xmm4
jmp 0x100990dc
minss xmm4, xmm3
mulss xmm4, xmm2
addss xmm4, xmm5
cvttss2si eax, xmm4
movss xmm4, dword [ebp - 0xcc]
shl eax, 8
or ecx, eax
comiss xmm0, xmm4
jbe 0x100990ff
xorps xmm4, xmm4
jmp 0x10099103
minss xmm4, xmm3
mulss xmm4, xmm2
addss xmm4, xmm5
cvttss2si eax, xmm4
or ecx, eax
comiss xmm0, xmm1
ja 0x1009911d
minss xmm1, xmm3
movaps xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, xmm5
cvttss2si esi, xmm0
movss xmm0, dword [ebp - 0xb4]
addss xmm0, dword [0x10155d30]
shl esi, 0x18
or esi, ecx
movss dword [ebp - 0xd0], xmm0
movss xmm0, dword [ebp - 0xb8]
addss xmm0, dword [0x10155ccc]
movss dword [ebp - 0xcc], xmm0
test esi, 0xff000000
je 0x100991cd
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10099170
sub ecx, edx
lea ebx, [edi + ecx]
cmp edi, ebx
je 0x100991cd
push dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xa4]
push dword [ebp - 0xd0]
push 0
mov edx, dword [ecx + 0x40]
mov eax, dword [ecx + 0x28]
add edx, edx
mov ecx, dword [ecx + 0x48]
push ecx
mov dword [esp], 0
movss xmm2, dword [eax + 0xc]
movups xmm0, xmmword [ecx + edx*8 - 0x10]
push ebx
mov ebx, dword [ebp - 0xa4]
lea ecx, [ebp - 0x14]
push edi
push ecx
mov ecx, dword [eax + 8]
push esi
push ebx
movups xmmword [ebp - 0x14], xmm0
call fcn.10027b90
jmp 0x100991d3
mov ebx, dword [ebp - 0xa4]
mov esi, dword [0x1020f4d8]
mov eax, dword [esi + 0x19b0]
mov ecx, dword [eax + 0x284]
dec dword [ecx + 0x4c]
call fcn.10022100
mov ecx, dword [esi + 0x1ab4]
sub ecx, 1
mov dword [esi + 0x1ab4], ecx
jne 0x1009921a
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0xa4]
test ecx, ecx
jne 0x10099224
mov eax, dword [eax + 0x98]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
jmp 0x10099224
mov eax, dword [esi + 0x1abc]
mov ecx, dword [eax + ecx*4 - 4]
call fcn.10013c30
mov ecx, dword [ebp - 0x50]
cmp ecx, 0xf
jbe 0x10099259
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009924f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10099291
push ecx
push edx
call fcn.100d7f1a
add esp, 8
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xf
mov byte [ebp - 0x64], 0
cmp ecx, 0xf
jbe 0x100992a1
mov edx, dword [ebp - 0x4c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10099297
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10099297
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100d7f1a
add esp, 8
cmp byte [0x10217388], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
jne 0x100992e1
mov eax, dword [0x1020f4d8]
mov eax, dword [eax + 0x19b0]
movss xmm0, dword [eax + 0xc]
movss dword [0x10213efc], xmm0
movss xmm0, dword [eax + 0x10]
movss dword [0x10213f00], xmm0
and dword [ebx + 0x24], 0xfffffffc
call fcn.100137f0
mov ecx, 1
call fcn.10013e90
mov esi, dword [0x1020f4d8]
mov eax, dword [esi + 0x19b0]
mov ecx, dword [eax + 0x284]
dec dword [ecx + 0x4c]
call fcn.10022100
mov ecx, dword [esi + 0x1ab4]
sub ecx, 1
mov dword [esi + 0x1ab4], ecx
jne 0x1009933b
mov eax, dword [0x1020f4d8]
mov ecx, dword [eax + 0xa4]
test ecx, ecx
jne 0x10099345
mov eax, dword [eax + 0x98]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax]
jmp 0x10099345
mov eax, dword [esi + 0x1abc]
mov ecx, dword [eax + ecx*4 - 4]
call fcn.10013c30
push 0x10218f28
call dword [sym.imp.MSVCP140.dll__Mtx_unlock]
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.100d7b08
mov esp, ebp
pop ebp
ret