Function at 0x100850b0
Capabilities:
Check for software breakpoints

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10090fd9
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1108
call fcn.1008f160
mov eax, dword [0x1010300c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
movq qword [ebp - 0x20], xmm0
mov dword [ebp - 0x10b8], 0x7f7fffff
mov dword [ebp - 0x10b4], 0xff7fffff
mov dword [ebp - 0x10b0], 0x7f7fffff
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 4], 0
xor edi, edi
mov eax, dword [0x1021b6b0]
mov esi, 0x1014eed0
movss xmm0, dword [0x100fca9c]
mov dword [ebp - 0x1078], 0
mov dword [ebp - 0x105c], edi
mov dword [eax + 0x18], 0xffffffff
mov dword [ebp - 0x1064], edi
mov dword [ebp - 0x109c], edi
mov dword [ebp - 0x107c], edi
mov dword [ebp - 0x1084], 0x1021ae98
mov dword [ebp - 0x1080], 0x1021aee0
mov dword [ebp - 0x1088], esi
lea eax, [esi - 4]
mov byte [esi - 0x38], 0
mov dword [esi + 8], 0x7f7fffff
mov ecx, 0x113f18c
mov dword [esi + 0xc], 0xff7fffff
mov dword [esi + 0x10], 0x7f7fffff
mov dword [ebp - 0x1050], eax
mov eax, dword [eax]
cmp eax, dword [esi]
je 0x100851c4
mov dword [esi], eax
mov ecx, dword [ecx]
imul eax, dword [ecx], 0x380
lea edx, [ecx + edi]
add eax, ecx
cmp edx, eax
je 0x10085e30
test byte [edx + 0xa53b8], 2
je 0x10085e30
test dword [edx + 0xa5220], 0x40000
jne 0x10085e30
mov eax, dword [ebp - 0x107c]
add eax, 0x69a6c
add ecx, eax
je 0x10085e30
lea eax, [ecx + 1]
mov dword [ebp - 0x104c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10085212
sub ecx, dword [ebp - 0x104c]
je 0x10085e30
movzx eax, word [edx + 0xa52f4]
cmp ax, 1
je 0x1008523c
cmp ax, 0x10
jne 0x100855f9
movzx eax, word [edx + 0xa5044]
push eax
push dword [edx + 0xa521c]
call dword [0x1014ee80]
movss xmm1, dword [0x100fcc50]
add esp, 8
movss xmm5, dword [0x100fcca4]
movaps xmm0, xmm1
mov edx, dword [0x1014ee64]
movaps xmm2, xmm1
mov edi, edx
mov dword [ebp - 0x1060], eax
mov eax, dword [0x1014ee68]
movaps xmm3, xmm5
movaps xmmword [ebp - 0x1100], xmm0
movaps xmm4, xmm5
movss dword [ebp - 0x1090], xmm2
movss dword [ebp - 0x108c], xmm1
movss dword [ebp - 0x1094], xmm3
movss dword [ebp - 0x1054], xmm4
movss dword [ebp - 0x1058], xmm5
mov dword [ebp - 0x1074], 0
mov dword [ebp - 0x104c], edi
mov dword [ebp - 0x1048], eax
cmp edi, eax
je 0x100855b4
nop
mov eax, dword [ebp - 0x1064]
lea ecx, [ebp - 0x10d8]
add eax, dword [edi]
add edx, 0x1c
lea eax, [eax + eax*2]
lea eax, [eax*4 + 0x1014f014]
mov dword [ebp - 0x106c], eax
imul eax, dword [edi], 0x34
add eax, edx
push eax
call fcn.10008c70
mov byte [ebp - 4], 1
lea eax, [ebp - 0x10d8]
cmp dword [ebp - 0x10c4], 0x10
cmovae eax, dword [ebp - 0x10d8]
push eax
call dword [0x1014ee84]
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x10c4]
movzx edx, ax
mov dword [ebp - 0x1098], edx
cmp ecx, 0x10
jb 0x1008536b
mov edx, dword [ebp - 0x10d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1008535b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008610d
push ecx
push edx
call fcn.1008e1e3
mov edx, dword [ebp - 0x1098]
add esp, 8
mov ecx, dword [ebp - 0x105c]
mov eax, 0x113f18c
add ecx, 0xa5040
mov dword [ebp - 0x10c8], 0
mov dword [ebp - 0x10c4], 0xf
mov byte [ebp - 0x10d8], 0
add ecx, dword [eax]
je 0x100854f4
cmp dword [ebp - 0x1060], 0
je 0x100854f4
mov eax, dword [ebp - 0x106c]
test eax, eax
je 0x100854f4
push eax
push dword [ebp - 0x1060]
call fcn.10085010
add esp, 8
test eax, eax
jne 0x100853dc
sub esp, 0x18
mov ecx, esp
push str.Caught_EXCEPTION_ACCESS_VIOLATION__Crash_Avoided_
jmp 0x100854fe
mov eax, dword [edi]
mov edx, dword [ebp - 0x1064]
add eax, edx
mov ecx, dword [ebp - 0x1074]
lea eax, [eax + eax*2]
movss xmm1, dword [eax*4 + 0x1014f014]
movaps xmm0, xmm1
maxss xmm1, dword [ebp - 0x1094]
minss xmm0, dword [ebp - 0x1100]
movss dword [ebp - 0x1094], xmm1
movss xmm1, dword [eax*4 + 0x1014f018]
movss dword [ebp - 0x1100], xmm0
movaps xmm0, xmm1
maxss xmm1, dword [ebp - 0x1054]
minss xmm0, dword [ebp - 0x1090]
movss dword [ebp - 0x1054], xmm1
movss xmm1, dword [eax*4 + 0x1014f01c]
mov eax, dword [0x1014d3d4]
movss dword [ebp - 0x1090], xmm0
movaps xmm0, xmm1
minss xmm0, dword [ebp - 0x108c]
maxss xmm1, dword [ebp - 0x1058]
mov al, byte [eax + ecx + 0x1b8]
movss dword [ebp - 0x108c], xmm0
movss dword [ebp - 0x1058], xmm1
test al, al
je 0x100854e9
mov ecx, dword [ebp - 0x105c]
mov eax, 0x113f18c
mov eax, dword [eax]
movzx eax, word [ecx + eax + 0xa52f4]
cmp ax, 1
jne 0x100854a2
mov eax, dword [edi]
jmp 0x100854b0
cmp ax, 0x10
jne 0x100854e9
mov eax, dword [0x1014ee64]
mov eax, dword [eax + 0x34]
mov ecx, dword [esi]
add eax, edx
lea eax, [eax + eax*2]
lea eax, [eax*4 + 0x1014f014]
cmp ecx, dword [esi + 4]
je 0x100854df
movq xmm0, qword [eax]
movq qword [ecx], xmm0
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
add dword [esi], 0xc
inc dword [ebp - 0x1074]
jmp 0x10085569
push eax
push ecx
lea ecx, [esi - 4]
call fcn.10089920
inc dword [ebp - 0x1074]
jmp 0x10085569
sub esp, 0x18
mov ecx, esp
push str.INVALID_in_GetTagPosition2__
mov esi, dword [0x1014d3d8]
call fcn.100089c0
mov ecx, esi
call fcn.10088090
mov ecx, dword [ebp - 0x107c]
mov eax, 0x113f18c
mov edi, dword [0x1014d3d8]
sub esp, 0x18
add ecx, 0x69a6c
mov esi, dword [eax]
add esi, ecx
mov ecx, esp
push str._BoneScan__Skipping_Bone
call fcn.100089c0
push 0x100fc7b4
push esi
push 0x100fc7b8
push dword [ebp - 0x1078]
mov ecx, edi
push str._For_Entity_
push dword [ebp - 0x1074]
call fcn.10088230
mov esi, dword [ebp - 0x1088]
mov edi, dword [ebp - 0x104c]
add edi, 0x34
mov dword [ebp - 0x104c], edi
cmp edi, dword [ebp - 0x1048]
je 0x10085585
mov edx, dword [0x1014ee64]
jmp 0x100852d0
movaps xmm0, xmmword [ebp - 0x1100]
movss xmm1, dword [ebp - 0x108c]
movss xmm2, dword [ebp - 0x1090]
movss xmm3, dword [ebp - 0x1094]
movss xmm4, dword [ebp - 0x1054]
movss xmm5, dword [ebp - 0x1058]
mov edi, dword [ebp - 0x105c]
addss xmm0, xmm3
movss xmm3, dword [0x100fca58]
addss xmm2, xmm4
addss xmm1, xmm5
mulss xmm0, xmm3
mulss xmm2, xmm3
mulss xmm1, xmm3
unpcklps xmm0, xmm2
movq qword [esi + 0x2d0], xmm0
movss dword [ebp - 0x1104], xmm1
mov eax, dword [ebp - 0x1104]
mov dword [esi + 0x2d8], eax
mov eax, 0x113f18c
mov byte [esi - 0x38], 1
mov eax, dword [eax]
add eax, 0xa5040
add eax, edi
push eax
push 0
call dword [0x1014ec9c]
add esp, 8
mov byte [ebp - 0x1041], al
test al, al
jne 0x10085638
mov ecx, dword [0x1014d3d4]
mov cl, byte [ecx + 0x1d2]
mov byte [ebp - 0x10a8], 1
test cl, cl
jne 0x1008563f
mov byte [ebp - 0x10a8], 0
mov eax, 0x113f18c
mov eax, dword [eax]
movzx ecx, word [edi + eax + 0xa52f4]
cmp cx, 1
jne 0x10085b53
movq xmm0, qword [edi + eax + 0xa506c]
mov eax, dword [edi + eax + 0xa5074]
movss xmm2, dword [0x100fcc50]
mov edi, dword [0x1014ee64]
movaps xmm1, xmm2
movq qword [ebp - 0x1070], xmm0
mov dword [ebp - 0x10dc], eax
movss xmm0, dword [ebp - 0x10dc]
addss xmm0, dword [0x100fcba8]
mov eax, dword [0x1014ee68]
mov dword [ebp - 0x10a4], 0
mov dword [ebp - 0x10a0], 0
movss dword [ebp - 0x104c], xmm1
movss dword [ebp - 0x10dc], xmm0
movss xmm0, dword [0x100fcca4]
movss dword [ebp - 0x1054], xmm0
movaps xmm3, xmm0
movss dword [ebp - 0x1060], xmm3
movss dword [ebp - 0x1058], xmm2
mov dword [ebp - 0x1048], eax
cmp edi, eax
je 0x100857c0
lea eax, [ebp - 0x10a4]
push eax
mov eax, dword [edi]
sub esp, 0xc
add eax, dword [ebp - 0x1064]
mov ecx, esp
lea eax, [eax + eax*2]
movq xmm0, qword [eax*4 + 0x1014f014]
mov eax, dword [eax*4 + 0x1014f01c]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10076100
test al, al
je 0x100858bd
movss xmm0, dword [ebp - 0x10a4]
movss xmm1, dword [ebp - 0x104c]
comiss xmm1, xmm0
jbe 0x1008574c
movaps xmm1, xmm0
movss dword [ebp - 0x104c], xmm1
maxss xmm0, dword [ebp - 0x1060]
movss xmm2, dword [ebp - 0x1058]
movaps xmm3, xmm0
movss dword [ebp - 0x1060], xmm0
movss xmm0, dword [ebp - 0x10a0]
comiss xmm2, xmm0
jbe 0x1008577f
movaps xmm2, xmm0
movss dword [ebp - 0x1058], xmm2
mov edx, dword [edi]
add edi, 0x34
add edx, dword [ebp - 0x109c]
maxss xmm0, dword [ebp - 0x1054]
mov eax, dword [ebp - 0x10a4]
mov ecx, dword [ebp - 0x10a0]
mov dword [edx*8 + 0x1014eee4], eax
mov dword [edx*8 + 0x1014eee8], ecx
movss dword [ebp - 0x1054], xmm0
cmp edi, dword [ebp - 0x1048]
jne 0x100856f1
mov edi, dword [ebp - 0x105c]
lea eax, [esi + 0xdc]
push eax
lea eax, [esi + 0x270]
push eax
subss xmm0, xmm2
sub esp, 0xc
subss xmm3, xmm1
mov ecx, esp
movss dword [esi + 0x130], xmm0
movss dword [esi + 0x12c], xmm3
movq xmm0, qword [esi + 0x2d0]
mov eax, dword [esi + 0x2d8]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov eax, 0x113f18c
movss dword [esi + 0x124], xmm1
movss dword [esi + 0x128], xmm2
mov eax, dword [eax]
add eax, 0xa5040
add eax, edi
push eax
call fcn.10087090
test al, al
je 0x100858c3
movq xmm0, qword [esi + 0x2d0]
lea eax, [esi + 0x11c]
push eax
mov eax, dword [esi + 0x2d8]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10076100
test al, al
je 0x100858c3
lea eax, [esi + 0x134]
push eax
mov eax, 0x113f18c
sub esp, 0xc
mov ecx, esp
mov eax, dword [eax]
movq xmm0, qword [edi + eax + 0xa506c]
mov eax, dword [edi + eax + 0xa5074]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10076100
test al, al
je 0x100858c3
movq xmm0, qword [ebp - 0x1070]
lea eax, [esi + 0x13c]
push eax
mov eax, dword [ebp - 0x10dc]
sub esp, 0xc
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10076100
test al, al
je 0x100858c3
mov al, 1
jmp 0x100858c5
mov edi, dword [ebp - 0x105c]
xor al, al
mov byte [esi - 0x37], al
mov eax, dword [0x1014d3d4]
mov al, byte [eax + 0x18a]
test al, al
je 0x10085919
push dword [0x1021aedc]
movss xmm2, dword [0x1021aed0]
mov eax, 0x113f18c
push dword [0x1021aed8]
push dword [ebp - 0x1080]
mov eax, dword [eax]
sub esp, 0xc
mov ecx, esp
movq xmm0, qword [edi + eax + 0xa506c]
mov eax, dword [edi + eax + 0xa5074]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10086dc0
mov eax, dword [0x1014d3d4]
mov al, byte [eax + 0x194]
test al, al
je 0x10085adf
movss xmm0, dword [0x1021af7c]
mov eax, 0x113f18c
movss dword [ebp - 0x1058], xmm0
movss xmm0, dword [0x1021af80]
movss dword [ebp - 0x1054], xmm0
movss xmm0, dword [0x1021af78]
mov esi, dword [eax]
movss dword [ebp - 0x1060], xmm0
movss xmm0, dword [0x1021af74]
movss dword [ebp - 0x104c], xmm0
movss xmm0, dword [0x1021af70]
movss dword [ebp - 0x1098], xmm0
movq xmm0, qword [esi + edi + 0xa506c]
movq qword [ebp - 0x10f0], xmm0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
movss xmm0, dword [esi + 0x648f4]
mulss xmm0, dword [0x100fca08]
movss dword [ebp - 0x1048], xmm0
call fcn.10025090
movss dword [ebp - 0x106c], xmm0
movss xmm0, dword [ebp - 0x1048]
cvtps2pd xmm0, xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_cos_precise
cvtsd2ss xmm0, xmm0
lea ecx, [ebp - 0x2c]
push ecx
lea eax, [esi + 0x480a8]
push eax
push 0
movss dword [ebp - 0x1048], xmm0
call dword [0x1014edb0]
movss xmm1, dword [ebp - 0x10ec]
add esp, 0xc
movss xmm4, dword [ebp - 0x10f0]
subss xmm4, dword [ebp - 0x2c]
subss xmm1, dword [ebp - 0x28]
movss xmm2, dword [ebp - 0x104c]
mulss xmm2, dword [0x100fca58]
movaps xmm0, xmm4
mulss xmm4, dword [ebp - 0x1048]
mulss xmm0, dword [ebp - 0x106c]
movaps xmm5, xmm1
mulss xmm5, dword [ebp - 0x1048]
mulss xmm1, dword [ebp - 0x106c]
subss xmm5, xmm0
movss xmm0, dword [ebp - 0x1060]
mulss xmm0, dword [0x100fca58]
addss xmm4, xmm1
divss xmm5, dword [ebp - 0x1098]
divss xmm4, dword [ebp - 0x1098]
subss xmm2, xmm0
movaps xmm1, xmm2
subss xmm1, dword [0x100fca9c]
movaps xmm0, xmm1
xorps xmm0, xmmword [0x100fd0a0]
comiss xmm0, xmm5
jbe 0x10085a9b
movaps xmm1, xmm0
jmp 0x10085a9f
minss xmm1, xmm5
comiss xmm0, xmm4
ja 0x10085aab
movaps xmm0, xmm2
minss xmm0, xmm4
movss xmm2, dword [ebp - 0x1058]
mov eax, dword [ebp - 0x1080]
subss xmm2, xmm1
movss xmm1, dword [ebp - 0x1054]
mov esi, dword [ebp - 0x1088]
subss xmm1, xmm0
movss dword [eax + 0xa4], xmm2
movss dword [eax + 0xa8], xmm1
mov eax, 0x113f18c
mov eax, dword [eax]
movzx eax, byte [edi + eax + 0xa5300]
lea ecx, [eax + eax*8]
mov eax, dword [0x10a7e28]
mov edx, dword [eax + ecx*4 + 0x18]
test edx, edx
je 0x10085b27
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x1048], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10085b10
sub ecx, dword [ebp - 0x1048]
push ecx
push edx
lea ecx, [esi - 0x34]
call fcn.1000adb0
mov cl, byte [ebp - 0x1041]
mov eax, dword [0x1014d3d4]
test cl, cl
je 0x10085b3b
add eax, 0x6c
jmp 0x10085b40
add eax, 0x8c
movups xmm0, xmmword [eax]
movups xmmword [esi + 0x2e8], xmm0
test cl, cl
je 0x10085ba6
jmp 0x10085e30
lea edx, [esi + 0x11c]
push edx
sub esp, 0xc
cmp cx, 0x10
mov ecx, esp
jne 0x10085e11
mov eax, dword [0x1014ee64]
mov eax, dword [eax + 0x34]
add eax, dword [ebp - 0x1064]
lea eax, [eax + eax*2]
movq xmm0, qword [eax*4 + 0x1014f014]
mov eax, dword [eax*4 + 0x1014f01c]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10076100
cmp byte [ebp - 0x1041], 0
mov byte [esi - 0x37], al
jne 0x10085e30
mov eax, 0x113f18c
mov ecx, dword [eax]
movq xmm0, qword [ecx + 0xb8]
mov eax, dword [ecx + 0xc0]
movq qword [ebp - 0x38], xmm0
movq xmm0, qword [ecx + edi + 0xa506c]
movq qword [ebp - 0x44], xmm0
movss xmm1, dword [ebp - 0x40]
movss xmm0, dword [ebp - 0x44]
subss xmm0, dword [ebp - 0x38]
subss xmm1, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov eax, dword [ecx + edi + 0xa5074]
mov dword [ebp - 0x3c], eax
movss xmm2, dword [ebp - 0x3c]
subss xmm2, dword [ebp - 0x30]
mulss xmm0, xmm0
mulss xmm1, xmm1
mulss xmm2, xmm2
addss xmm0, xmm1
addss xmm0, xmm2
call fcn.1000d080
movss dword [esi + 8], xmm0
mov eax, 0x113f18c
mov eax, dword [eax]
add eax, 0xa5040
add eax, edi
mov dword [ebp - 0x106c], eax
lea eax, [esi + 0xc]
push eax
push dword [ebp - 0x10a8]
lea eax, [esi + 0x2dc]
push eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x104c], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov eax, 0x2aaaaaab
mov ecx, dword [esi]
sub ecx, dword [esi - 4]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x1048], eax
je 0x10085ce7
cmp eax, 0x15555555
ja 0x1008613b
push eax
call fcn.100886d0
mov edx, dword [ebp - 0x104c]
mov edi, eax
mov eax, dword [ebp - 0x1048]
mov dword [edx], edi
lea ecx, [eax + eax*2]
mov dword [edx + 4], edi
mov eax, dword [ebp - 0x1050]
lea ecx, [edi + ecx*4]
mov dword [edx + 8], ecx
mov esi, dword [esi]
mov ecx, dword [eax]
sub esi, ecx
push esi
push ecx
push edi
call sub.VCRUNTIME140.dll_memmove
mov ecx, dword [ebp - 0x104c]
mov eax, 0x2aaaaaab
imul esi
mov esi, dword [ebp - 0x1088]
add esp, 0xc
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
lea eax, [edi + eax*4]
mov edi, dword [ebp - 0x105c]
mov dword [ecx + 4], eax
push dword [ebp - 0x106c]
call fcn.10086250
mov byte [esi - 0x36], al
sub esp, 0xc
mov byte [ebp - 0x1041], al
mov ecx, esp
mov eax, 0x113f18c
sub esp, 0xc
mov edx, dword [eax]
movq xmm0, qword [edx + 0x648f0]
mov eax, dword [edx + 0x648f8]
movq qword [ecx], xmm0
movq xmm0, qword [edx + 0xb8]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [edx + 0xc0]
sub esp, 0xc
movq qword [ecx], xmm0
movq xmm0, qword [edx + edi + 0xa506c]
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [edx + edi + 0xa5074]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10077a10
mov ecx, dword [ebp - 0x1078]
add esp, 0x24
mov edx, dword [ebp - 0x1084]
movss dword [esi + 0x10], xmm0
cmp ecx, 0x12
jge 0x10085d7a
cmp byte [edx + 1], 0
jne 0x10085e30
cmp byte [ebp - 0x1041], 0
je 0x10085e30
mov eax, dword [0x1014d3d4]
mov eax, dword [eax + 0x1d4]
movss xmm1, dword [esi + 0x10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jb 0x10085e30
cmp ecx, 0x12
jge 0x10085db4
mov al, byte [edx]
mov byte [ebp - 0x10ac], al
movss xmm0, dword [esi + 8]
mov dword [ebp - 0x10bc], ecx
mov ecx, dword [ebp - 0x1c]
movss dword [ebp - 0x10b8], xmm0
movss xmm0, dword [esi + 0xc]
movss dword [ebp - 0x10b4], xmm0
movss dword [ebp - 0x10b0], xmm1
cmp ecx, dword [ebp - 0x18]
je 0x10085dfd
movups xmm0, xmmword [ebp - 0x10bc]
mov eax, dword [ebp - 0x10ac]
add dword [ebp - 0x1c], 0x14
movups xmmword [ecx], xmm0
mov dword [ecx + 0x10], eax
jmp 0x10085e30
lea eax, [ebp - 0x10bc]
push eax
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x20]
call fcn.10089760
jmp 0x10085e30
movq xmm0, qword [edi + eax + 0xa506c]
mov eax, dword [edi + eax + 0xa5074]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.10076100
mov byte [esi - 0x37], al
inc dword [ebp - 0x1078]
add esi, 0x330
add dword [ebp - 0x107c], 0x808
add edi, 0x380
add dword [ebp - 0x109c], 0x66
add dword [ebp - 0x1080], 8
add dword [ebp - 0x1064], 0x44
add dword [ebp - 0x1084], 3
mov dword [ebp - 0x105c], edi
mov dword [ebp - 0x1088], esi
cmp esi, 0x10152830
jl 0x10085195
mov esi, dword [ebp - 0x20]
cmp esi, dword [ebp - 0x1c]
je 0x100860d3
mov eax, dword [0x1014d3d4]
mov eax, dword [eax + 0x1d8]
test eax, eax
jne 0x10085f47
mov esi, dword [ebp - 0x1c]
mov eax, 0x66666667
mov ecx, esi
sub ecx, dword [ebp - 0x20]
imul ecx
sar edx, 3
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp edi, 0x20
jg 0x10085ecf
push dword [ebp - 0x1050]
mov ecx, dword [ebp - 0x20]
mov edx, esi
call fcn.10088990
jmp 0x10085f25
mov eax, edi
mov ecx, edi
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
push ecx
lea ecx, [ebp - 0x1040]
call fcn.10088a50
push dword [ebp - 0x1050]
mov byte [ebp - 4], 2
mov edx, esi
push dword [ebp - 0x103c]
mov ecx, dword [ebp - 0x20]
push dword [ebp - 0x1040]
push edi
call fcn.10088af0
add esp, 0x10
mov byte [ebp - 4], 0
cmp dword [ebp - 0x103c], 0xcc
jbe 0x10085f28
push dword [ebp - 0x1040]
call fcn.1008e637
add esp, 4
mov eax, dword [ebp - 0x20]
mov ecx, eax
nop dword [eax]
cmp byte [ecx + 0x10], 0
jne 0x10085f8b
add ecx, 0x14
cmp ecx, esi
jne 0x10085f30
mov ecx, dword [eax]
mov eax, dword [0x1021b6b0]
mov dword [eax + 0x18], ecx
mov eax, dword [0x1014d3d4]
mov eax, dword [eax + 0x1d8]
cmp eax, 1
jne 0x10086008
mov esi, dword [ebp - 0x1c]
mov eax, 0x66666667
mov ecx, esi
sub ecx, dword [ebp - 0x20]
imul ecx
sar edx, 3
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp edi, 0x20
jg 0x10085f93
push dword [ebp - 0x1050]
mov ecx, dword [ebp - 0x20]
mov edx, esi
call fcn.10088bb0
jmp 0x10085fe9
cmp ecx, esi
je 0x10085f3d
mov ecx, dword [ecx]
jmp 0x10085f3f
mov eax, edi
mov ecx, edi
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
push ecx
lea ecx, [ebp - 0x1040]
call fcn.10088a50
push dword [ebp - 0x1050]
mov byte [ebp - 4], 3
mov edx, esi
push dword [ebp - 0x103c]
mov ecx, dword [ebp - 0x20]
push dword [ebp - 0x1040]
push edi
call fcn.10088c60
add esp, 0x10
mov byte [ebp - 4], 0
cmp dword [ebp - 0x103c], 0xcc
jbe 0x10085fec
push dword [ebp - 0x1040]
call fcn.1008e637
add esp, 4
mov eax, dword [ebp - 0x20]
mov ecx, eax
cmp byte [ecx + 0x10], 0
jne 0x10086053
add ecx, 0x14
cmp ecx, esi
jne 0x10085ff1
mov ecx, dword [eax]
mov eax, dword [0x1021b6b0]
mov dword [eax + 0x18], ecx
mov eax, dword [0x1014d3d4]
mov eax, dword [eax + 0x1d8]
mov esi, dword [ebp - 0x20]
cmp eax, 2
jne 0x100860d3
mov edi, dword [ebp - 0x1c]
mov eax, 0x66666667
mov ecx, edi
sub ecx, esi
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [ebp - 0x1050], ecx
cmp ecx, 0x20
jg 0x1008605b
push dword [ebp - 0x1050]
mov edx, edi
mov ecx, esi
call fcn.10088d20
jmp 0x100860af
cmp ecx, esi
je 0x10085ffe
mov ecx, dword [ecx]
jmp 0x10086000
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
push ecx
lea ecx, [ebp - 0x1040]
call fcn.10088a50
push dword [ebp - 0x1050]
mov byte [ebp - 4], 4
mov edx, edi
push dword [ebp - 0x103c]
mov ecx, esi
push dword [ebp - 0x1040]
push dword [ebp - 0x1050]
call fcn.10088de0
add esp, 0x10
cmp dword [ebp - 0x103c], 0xcc
jbe 0x100860b2
push dword [ebp - 0x1040]
call fcn.1008e637
add esp, 4
mov ecx, esi
cmp byte [ecx + 0x10], 0
jne 0x100860c1
add ecx, 0x14
cmp ecx, edi
jne 0x100860b4
mov eax, dword [0x1021b6b0]
cmp ecx, edi
je 0x100860ce
mov ecx, dword [ecx]
jmp 0x100860d0
mov ecx, dword [esi]
mov dword [eax + 0x18], ecx
test esi, esi
je 0x1008611d
mov ecx, dword [ebp - 0x18]
mov eax, 0x66666667
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*4]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x10086113
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10086113
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.1008e1e3
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1008dd76
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.10008c00
int3