Function at 0x10008c80
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1017ca96
mov eax, dword fs:[0]
push eax
mov eax, 0x4720
call fcn.1017c1c0
mov eax, dword [0x101ce084]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x46f8], ebx
mov dword [ebp - 0x472c], 0
mov dword [ebp - 0x46e8], 0
mov dword [ebp - 0x46e4], 0
mov dword [ebp - 0x46e0], 0
mov edi, dword [ebp + 0xc]
mov dword [ebp - 4], 0
mov eax, dword [0x102223ec]
mov ecx, dword [0x10222420]
mov edi, dword [edi + 0x64]
mov esi, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [0x102223ec]
push eax
call dword [esi + 0xc]
mov ecx, eax
mov dword [ebp - 0x46ec], ecx
test ecx, ecx
je 0x10009585
mov eax, dword [0x102224ac]
cmp dword [eax + ecx], 0
jle 0x10009585
lea esi, [edi + edi*2]
mov eax, 0xe79372e3
mov ecx, dword [esi*4 + 0x102b23e0]
sub ecx, dword [esi*4 + 0x102b23dc]
imul ecx
mov dword [ebp - 0x46d8], esi
add edx, ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10009585
xor ecx, ecx
xor eax, eax
xor edi, edi
mov dword [ebp - 0x46d4], ecx
mov dword [ebp - 0x4710], ecx
mov dword [ebp - 0x470c], edi
mov dword [ebp - 0x46f0], eax
mov dword [ebp - 0x4708], eax
mov byte [ebp - 4], 1
mov eax, dword [esi*4 + 0x102b23e0]
mov ebx, dword [esi*4 + 0x102b23dc]
mov dword [ebp - 0x46dc], eax
cmp ebx, eax
je 0x10008e18
nop dword [eax + eax]
mov eax, 0x2360
call fcn.1017c1c0
mov ecx, 0x8d8
mov esi, ebx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.100096c0
add esp, 0x2360
comiss xmm0, dword [0x101b63a0]
jb 0x10008dcf
cmp byte [ebx + 0x70], 0
je 0x10008de4
test byte [ebx + 0x2334], 0x1a
je 0x10008de4
push ebx
lea ecx, [ebp - 0x4710]
call fcn.10009900
add ebx, 0x2360
cmp ebx, dword [ebp - 0x46dc]
jne 0x10008da0
mov eax, dword [ebp - 0x4708]
mov ebx, dword [ebp - 0x4710]
mov edi, dword [ebp - 0x470c]
mov esi, dword [ebp - 0x46d8]
mov dword [ebp - 0x46f0], eax
mov dword [ebp - 0x46d4], ebx
jmp 0x10008e1a
xor ebx, ebx
mov ecx, edi
mov eax, 0xe79372e3
sub ecx, ebx
imul ecx
add edx, ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x10008f88
mov eax, dword [esi*4 + 0x102b23e0]
mov ebx, dword [esi*4 + 0x102b23dc]
mov dword [ebp - 0x46dc], eax
cmp ebx, eax
je 0x10008e84
nop
mov eax, 0x2360
call fcn.1017c1c0
mov ecx, 0x8d8
mov esi, ebx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.100096c0
add ebx, 0x2360
add esp, 0x2360
cmp ebx, dword [ebp - 0x46dc]
jne 0x10008e50
mov esi, dword [ebp - 0x46d8]
mov eax, dword [esi*4 + 0x102b23e0]
mov ebx, dword [esi*4 + 0x102b23dc]
mov dword [ebp - 0x46dc], eax
cmp ebx, eax
je 0x10008ee5
nop dword [eax]
mov eax, 0x2360
call fcn.1017c1c0
mov ecx, 0x8d8
mov esi, ebx
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.100096c0
add esp, 0x2360
comiss xmm0, dword [0x101b63a0]
jb 0x10008ed9
add ebx, 0x2360
cmp ebx, dword [ebp - 0x46dc]
jne 0x10008ea0
jmp 0x10008ee5
push ebx
lea ecx, [ebp - 0x46e8]
call fcn.10009900
mov ebx, dword [ebp - 0x46f8]
mov ecx, dword [ebp - 0x46e8]
mov dword [ebx], ecx
mov ecx, dword [ebp - 0x46e4]
mov dword [ebx + 4], ecx
mov ecx, dword [ebp - 0x46e0]
mov dword [ebx + 8], ecx
mov ecx, dword [ebp - 0x46d4]
test ecx, ecx
je 0x10009599
mov esi, dword [ebp - 0x46f0]
mov eax, 0xe79372e3
sub esi, ecx
imul esi
add edx, esi
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x73c9b
jbe 0x10008f3b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
imul eax, eax, 0x2360
cmp eax, 0x1000
jb 0x10008f7a
test cl, 0x1f
je 0x10008f53
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov eax, dword [ecx - 4]
cmp eax, ecx
jb 0x10008f60
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
sub ecx, eax
cmp ecx, 4
jae 0x10008f6d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
cmp ecx, 0x23
jbe 0x10008f78
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov ecx, eax
push ecx
call fcn.1017b3e7
add esp, 4
jmp 0x10009599
cmp eax, 2
ja 0x10008fdc
mov esi, dword [ebp - 0x46f8]
lea ecx, [ebp - 0x4710]
mov eax, dword [ebp - 0x46f0]
mov dword [ebp - 0x4710], 0
mov dword [ebp - 0x470c], 0
mov dword [esi], ebx
mov dword [esi + 4], edi
mov dword [esi + 8], eax
mov dword [ebp - 0x4708], 0
call fcn.10005580
lea ecx, [ebp - 0x46e8]
call fcn.10005580
mov eax, esi
jmp 0x1000959b
mov esi, dword [0x102224dc]
sub esp, 0xc
mov eax, dword [ebp + 0xc]
mov ecx, esp
movq xmm0, qword [esi + eax]
mov eax, dword [esi + eax + 8]
mov dword [ebp - 0x4714], eax
mov eax, dword [ebp - 0x46ec]
movq qword [ebp - 0x471c], xmm0
movss xmm2, dword [ebp - 0x471c]
movss xmm1, dword [ebp - 0x4718]
movq xmm0, qword [esi + eax]
mov eax, dword [esi + eax + 8]
movq qword [ebp - 0x4704], xmm0
movss xmm0, dword [ebp - 0x4714]
subss xmm2, dword [ebp - 0x4704]
subss xmm1, dword [ebp - 0x4700]
mov dword [ebp - 0x46fc], eax
subss xmm0, dword [ebp - 0x46fc]
unpcklps xmm2, xmm1
movq qword [ecx], xmm2
movss dword [ebp - 0x4720], xmm0
mov eax, dword [ebp - 0x4720]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x4728]
call fcn.1012d0e0
movss xmm0, dword [ebp - 0x4724]
lea edx, [ebp - 0x4704]
addss xmm0, dword [0x101b64b4]
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x4728]
add esp, 0xc
movss dword [ebp - 0x46f4], xmm0
movq xmm0, qword [esi + eax]
mov eax, dword [esi + eax + 8]
mov dword [ebp - 0x46fc], eax
mov eax, dword [ebp - 0x46ec]
movq qword [ebp - 0x4704], xmm0
movq xmm0, qword [esi + eax]
mov eax, dword [esi + eax + 8]
movq qword [ebp - 0x471c], xmm0
movss xmm0, dword [ebp - 0x4704]
subss xmm0, dword [ebp - 0x471c]
mov dword [ebp - 0x4714], eax
movss dword [ebp - 0x4728], xmm0
movss xmm0, dword [ebp - 0x4700]
subss xmm0, dword [ebp - 0x4718]
movss dword [ebp - 0x4724], xmm0
movss xmm0, dword [ebp - 0x46fc]
subss xmm0, dword [ebp - 0x4714]
movss dword [ebp - 0x4720], xmm0
call fcn.1012d260
movss xmm0, dword [ebp - 0x4700]
lea ecx, [ebp - 0x40c]
subss xmm0, dword [0x101b64b4]
movss dword [ebp - 0x46dc], xmm0
call fcn.10002140
movss xmm1, dword [0x101b64bc]
mov esi, ebx
movss xmm2, dword [0x101b64cc]
movaps xmm0, xmm1
movss dword [ebp - 0x46d8], xmm0
cmp ebx, edi
je 0x10009287
jmp 0x10009178
movss xmm1, dword [0x101b64bc]
movss xmm0, dword [esi + 0x10]
subss xmm0, dword [ebp - 0x46dc]
comiss xmm0, xmm1
movss dword [ebp - 0x46d4], xmm0
ja 0x1000919f
movss xmm3, dword [0x101b6504]
comiss xmm3, xmm0
jbe 0x100091dc
divss xmm0, xmm2
push ecx
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_roundf]
fmul dword [0x101b64cc]
add esp, 4
movss xmm3, dword [0x101b6504]
movss xmm2, dword [0x101b64cc]
fsubr dword [ebp - 0x46d4]
fstp dword [ebp - 0x46d4]
movss xmm0, dword [ebp - 0x46d4]
call fcn.10001d10
movaps xmm1, xmm0
movss xmm0, dword [esi + 0x10]
subss xmm0, dword [ebp - 0x46f4]
movss dword [ebp - 0x46ec], xmm1
comiss xmm0, dword [0x101b64bc]
movss dword [ebp - 0x46d4], xmm0
ja 0x1000920f
comiss xmm3, xmm0
jbe 0x10009244
divss xmm0, xmm2
push ecx
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_roundf]
fmul dword [0x101b64cc]
add esp, 4
movss xmm1, dword [ebp - 0x46ec]
fsubr dword [ebp - 0x46d4]
fstp dword [ebp - 0x46d4]
movss xmm0, dword [ebp - 0x46d4]
call fcn.10001d10
movss xmm3, dword [ebp - 0x46d8]
minss xmm1, xmm0
comiss xmm3, xmm1
jbe 0x10009271
movaps xmm0, xmm1
lea ecx, [ebp - 0x2370]
push esi
movss dword [ebp - 0x46d8], xmm0
call fcn.100034e0
movss xmm2, dword [0x101b64cc]
add esi, 0x2360
cmp esi, edi
jne 0x10009170
lea ecx, [ebp - 0x276c]
call fcn.10002140
xorps xmm0, xmm0
mov esi, ebx
movss dword [ebp - 0x46d8], xmm0
cmp ebx, edi
je 0x10009380
nop word [eax + eax]
movss xmm0, dword [esi + 0x10]
subss xmm0, dword [ebp - 0x2360]
comiss xmm0, dword [0x101b64bc]
movss dword [ebp - 0x46d4], xmm0
ja 0x100092db
movss xmm1, dword [0x101b6504]
comiss xmm1, xmm0
jbe 0x1000930c
divss xmm0, dword [0x101b64cc]
push ecx
movss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_roundf]
fmul dword [0x101b64cc]
add esp, 4
fsubr dword [ebp - 0x46d4]
fstp dword [ebp - 0x46d4]
movss xmm0, dword [ebp - 0x46d4]
call fcn.10001d10
movss xmm1, dword [ebp - 0x46d8]
comiss xmm0, xmm1
jbe 0x1000933a
push esi
lea ecx, [ebp - 0x46d0]
movss dword [ebp - 0x46d8], xmm0
call fcn.100034e0
movss xmm1, dword [ebp - 0x46d8]
add esi, 0x2360
cmp esi, edi
jne 0x100092b0
comiss xmm1, dword [0x101b6490]
jbe 0x10009380
lea eax, [ebp - 0x46d0]
push eax
lea ecx, [ebp - 0x46e8]
call fcn.10009900
lea eax, [ebp - 0x2370]
push eax
lea ecx, [ebp - 0x46e8]
call fcn.10009900
mov esi, dword [ebp - 0x46e4]
jmp 0x10009539
lea eax, [edi - 0x2360]
push 0x2360
push eax
lea eax, [ebp - 0x2370]
push eax
call sub.VCRUNTIME140.dll_memcpy
movss xmm1, dword [ebp - 0x2324]
add esp, 0xc
movss xmm0, dword [ebp - 0x2328]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10001d50
movss dword [ebp - 0x46d8], xmm0
mov esi, ebx
cmp ebx, edi
je 0x10009416
nop word [eax + eax]
movss xmm1, dword [esi + 0x48]
movss xmm0, dword [esi + 0x4c]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10001d50
movss xmm1, dword [ebp - 0x46d8]
comiss xmm1, xmm0
jbe 0x1000940c
push esi
lea ecx, [ebp - 0x2370]
movss dword [ebp - 0x46d8], xmm0
call fcn.100034e0
add esi, 0x2360
cmp esi, edi
jne 0x100093d0
movss xmm1, dword [edi - 0x2314]
movss xmm0, dword [edi - 0x2318]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10001d50
movss xmm1, dword [ebp - 0x46d8]
subss xmm1, xmm0
movaps xmm0, xmm1
call fcn.10001d10
movss xmm1, dword [0x101b6488]
comiss xmm1, xmm0
jbe 0x1000946a
lea eax, [edi - 0x2360]
push eax
lea ecx, [ebp - 0x2370]
call fcn.100034e0
push ecx
lea ecx, [ebp - 0x46e8]
call fcn.10009e10
mov esi, dword [ebp - 0x46e4]
test esi, esi
je 0x1000948f
push 0x2360
push ebx
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 0x2360
lea eax, [ebp - 0x2370]
mov dword [ebp - 0x46e4], esi
cmp eax, esi
jae 0x10009500
mov edi, dword [ebp - 0x46e8]
cmp edi, eax
ja 0x10009500
mov ecx, eax
mov eax, 0xe79372e3
sub ecx, edi
imul ecx
add edx, ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x46f4], eax
cmp esi, dword [ebp - 0x46e0]
jne 0x100094f2
push ecx
lea ecx, [ebp - 0x46e8]
call fcn.10009e10
mov esi, dword [ebp - 0x46e4]
mov edi, dword [ebp - 0x46e8]
mov eax, dword [ebp - 0x46f4]
test esi, esi
je 0x10009533
imul eax, eax, 0x2360
add eax, edi
jmp 0x10009524
cmp esi, dword [ebp - 0x46e0]
jne 0x1000951a
push ecx
lea ecx, [ebp - 0x46e8]
call fcn.10009e10
mov esi, dword [ebp - 0x46e4]
test esi, esi
je 0x10009533
lea eax, [ebp - 0x2370]
push 0x2360
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 0x2360
mov edi, dword [ebp - 0x46f8]
mov eax, dword [ebp - 0x46e8]
mov dword [edi], eax
mov eax, dword [ebp - 0x46e0]
mov dword [edi + 4], esi
mov dword [edi + 8], eax
test ebx, ebx
je 0x10009581
mov ecx, dword [ebp - 0x46f0]
mov eax, 0xe79372e3
sub ecx, ebx
imul ecx
push 0x2360
add edx, ecx
sar edx, 0xd
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push ebx
call fcn.10001da0
add esp, 0xc
mov eax, edi
jmp 0x1000959b
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [ebx + 8], 0
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1017b14e
mov esp, ebp
pop ebp
ret 8