Function at 0x1000b9e0
Capabilities:
Access peb ldr_data

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100691ab
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x8370
call fcn.100421f0
mov eax, dword [0x10468f40]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x8328], edi
mov esi, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x8348], esi
mov dword [ebp - 0x8320], esi
mov dword [ebp - 0x831c], eax
mov dword [ebp - 0x8334], 0
mov dword [ebp - 0x8330], 0
mov dword [ebp - 0x832c], 0
mov ecx, dword [0x10531940]
mov eax, dword [eax + 0x64]
mov dword [ebp - 0x8338], eax
mov dword [ebp - 4], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x10531944]
push eax
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, eax
mov dword [ebp - 0x8320], ecx
test ecx, ecx
je 0x1000c40b
mov eax, dword [0x10531a98]
cmp dword [eax + ecx], 0
jle 0x1000c40b
mov eax, dword [ebp - 0x8338]
lea ecx, [eax + eax*2]
mov eax, dword [edi + ecx*4 + 0x5c]
mov edi, dword [edi + ecx*4 + 0x58]
mov dword [ebp - 0x8324], eax
mov dword [ebp - 0x8338], ecx
mov ecx, eax
sub ecx, edi
mov dword [ebp - 0x8318], edi
mov eax, 0x5dd2eba9
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1000c40b
xor eax, eax
xor esi, esi
mov dword [ebp - 0x8344], eax
mov dword [ebp - 0x8340], esi
mov dword [ebp - 0x833c], eax
mov byte [ebp - 4], 1
cmp edi, dword [ebp - 0x8324]
je 0x1000bbb9
mov eax, 0x2ba8
call fcn.100421f0
mov esi, edi
mov ecx, 0xaea
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.1000b720
mov edi, dword [ebp - 0x8318]
add esp, 0x2ba8
fstp dword [ebp - 0x8314]
movss xmm0, dword [ebp - 0x8314]
comiss xmm0, dword [0x1006c638]
jb 0x1000bb54
cmp byte [edi + 0x70], 0
je 0x1000bb95
test byte [edi + 0x2b68], 0x1a
mov esi, dword [ebp - 0x8340]
je 0x1000bb9b
cmp esi, dword [ebp - 0x833c]
je 0x1000bb88
push 0x2ba8
push edi
push esi
call fcn.100438a0
add esp, 0xc
add esi, 0x2ba8
mov dword [ebp - 0x8340], esi
jmp 0x1000bb9b
push edi
push esi
lea ecx, [ebp - 0x8344]
call fcn.1000ab10
mov esi, dword [ebp - 0x8340]
add edi, 0x2ba8
mov dword [ebp - 0x8318], edi
cmp edi, dword [ebp - 0x8324]
jne 0x1000bb11
mov eax, dword [ebp - 0x8344]
mov ecx, esi
sub ecx, eax
mov eax, 0x5dd2eba9
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x1000bd68
mov ecx, dword [ebp - 0x8328]
mov esi, dword [ebp - 0x8338]
mov edx, dword [ecx + esi*4 + 0x58]
mov eax, dword [ecx + esi*4 + 0x5c]
mov dword [ebp - 0x8318], edx
mov dword [ebp - 0x831c], eax
cmp edx, eax
je 0x1000bc6f
nop dword [eax + eax]
mov eax, 0x2ba8
call fcn.100421f0
mov esi, edx
mov ecx, 0xaea
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.1000b720
mov edx, dword [ebp - 0x8318]
add esp, 0x2ba8
fstp dword [ebp - 0x8314]
movss xmm0, dword [ebp - 0x8314]
comiss xmm0, dword [0x1006c638]
jae 0x1000bc4f
mov eax, 0x200
test word [edx + 0x2b68], ax
jne 0x1000bce3
add edx, 0x2ba8
mov dword [ebp - 0x8318], edx
cmp edx, dword [ebp - 0x831c]
jne 0x1000bc00
mov ecx, dword [ebp - 0x8328]
mov esi, dword [ebp - 0x8338]
mov edx, dword [ecx + esi*4 + 0x58]
mov eax, dword [ecx + esi*4 + 0x5c]
mov dword [ebp - 0x8318], edx
mov dword [ebp - 0x831c], eax
cmp edx, eax
je 0x1000bd36
nop dword [eax + eax]
mov eax, 0x2ba8
call fcn.100421f0
mov esi, edx
mov ecx, 0xaea
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.1000b720
fstp dword [ebp - 0x8314]
movss xmm0, dword [ebp - 0x8314]
add esp, 0x2ba8
comiss xmm0, dword [0x1006c638]
jb 0x1000bd23
mov edx, dword [ebp - 0x8318]
add edx, 0x2ba8
mov dword [ebp - 0x8318], edx
cmp edx, dword [ebp - 0x831c]
jne 0x1000bc90
jmp 0x1000bd36
push edx
push 0
lea ecx, [ebp - 0x8334]
call fcn.1000ab10
mov edi, dword [ebp - 0x8348]
mov ecx, dword [ebp - 0x8334]
mov dword [edi], ecx
mov ecx, dword [ebp - 0x8330]
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0x832c]
mov dword [edi + 8], ecx
lea ecx, [ebp - 0x8344]
call fcn.10001bf0
mov eax, edi
jmp 0x1000c421
push dword [ebp - 0x8318]
lea ecx, [ebp - 0x8334]
push 0
call fcn.1000ab10
mov edi, dword [ebp - 0x8348]
lea ecx, [ebp - 0x8344]
mov eax, dword [ebp - 0x8334]
mov dword [edi], eax
mov eax, dword [ebp - 0x8330]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x832c]
mov dword [edi + 8], eax
call fcn.10001bf0
mov eax, edi
jmp 0x1000c421
cmp eax, 2
ja 0x1000bd8e
mov edi, dword [ebp - 0x8348]
mov eax, dword [ebp - 0x8344]
mov dword [edi], eax
mov eax, dword [ebp - 0x833c]
mov dword [edi + 8], eax
mov eax, edi
mov dword [edi + 4], esi
jmp 0x1000c421
mov ecx, dword [0x10531aac]
mov eax, dword [ebp - 0x831c]
mov edi, dword [ebp - 0x8320]
movq xmm0, qword [eax + ecx]
mov eax, dword [eax + ecx + 8]
movq qword [ebp - 0x8354], xmm0
movq xmm0, qword [ecx + edi]
movq qword [ebp - 0x8360], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x8324], xmm0
movss xmm0, dword [ebp - 0x8354]
subss xmm0, dword [ebp - 0x8360]
mov dword [ebp - 0x834c], eax
mov eax, dword [ecx + edi + 8]
mov dword [ebp - 0x8358], eax
lea eax, [ebp - 0x836c]
push eax
movss dword [ebp - 0x8378], xmm0
lea eax, [ebp - 0x8378]
movss xmm0, dword [ebp - 0x8350]
subss xmm0, dword [ebp - 0x835c]
push eax
mov dword [ebp - 0x836c], 0
mov dword [ebp - 0x8368], 0
mov dword [ebp - 0x8364], 0
movss dword [ebp - 0x8374], xmm0
movss xmm0, dword [ebp - 0x834c]
subss xmm0, dword [ebp - 0x8358]
movss dword [ebp - 0x8370], xmm0
call fcn.1003b4f0
movss xmm0, dword [ebp - 0x8368]
addss xmm0, dword [0x1006c3a0]
mov ecx, dword [0x10531aac]
mov eax, dword [ebp - 0x831c]
movss dword [ebp - 0x8338], xmm0
movq xmm0, qword [eax + ecx]
mov eax, dword [eax + ecx + 8]
movq qword [ebp - 0x836c], xmm0
movq xmm0, qword [ecx + edi]
movq qword [ebp - 0x8360], xmm0
movss xmm0, dword [ebp - 0x836c]
subss xmm0, dword [ebp - 0x8360]
mov dword [ebp - 0x8364], eax
mov eax, dword [ecx + edi + 8]
mov dword [ebp - 0x8358], eax
lea eax, [ebp - 0x8354]
push eax
movss dword [ebp - 0x8378], xmm0
lea eax, [ebp - 0x8378]
movss xmm0, dword [ebp - 0x8368]
subss xmm0, dword [ebp - 0x835c]
push eax
mov dword [ebp - 0x8354], 0
mov dword [ebp - 0x8350], 0
mov dword [ebp - 0x834c], 0
movss dword [ebp - 0x8374], xmm0
movss xmm0, dword [ebp - 0x8364]
subss xmm0, dword [ebp - 0x8358]
movss dword [ebp - 0x8370], xmm0
call fcn.1003b4f0
movss xmm0, dword [ebp - 0x8350]
lea ecx, [ebp - 0x5768]
subss xmm0, dword [0x1006c3a0]
add esp, 0x10
movss dword [ebp - 0x8320], xmm0
call fcn.10001890
movss xmm0, dword [0x1006c3a8]
mov edi, dword [ebp - 0x8344]
movss xmm3, dword [0x1006c3ac]
movss dword [ebp - 0x831c], xmm0
cmp edi, esi
je 0x1000c117
jmp 0x1000bf80
movss xmm3, dword [0x1006c3ac]
movss xmm0, dword [0x1006c3a8]
movss xmm2, dword [edi + 0x10]
movaps xmm1, xmm2
movss dword [ebp - 0x8328], xmm2
subss xmm1, dword [ebp - 0x8320]
comiss xmm1, xmm0
movss dword [ebp - 0x8318], xmm1
jbe 0x1000bfd3
movaps xmm0, xmm1
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x8314], xmm0
fld dword [ebp - 0x8314]
fstp dword [esp]
call fcn.10047a6d
fstp dword [ebp - 0x8314]
movss xmm0, dword [ebp - 0x8314]
jmp 0x1000c00c
movss xmm0, dword [0x1006c3bc]
comiss xmm0, xmm1
jbe 0x1000c037
movaps xmm0, xmm1
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x8314], xmm0
fld dword [ebp - 0x8314]
fstp dword [esp]
call fcn.10047a6d
fstp dword [ebp - 0x8314]
movss xmm0, dword [ebp - 0x8314]
movss xmm3, dword [0x1006c3ac]
add esp, 4
movss xmm1, dword [ebp - 0x8318]
movss xmm2, dword [ebp - 0x8328]
mulss xmm0, xmm3
subss xmm1, xmm0
movss xmm0, dword [0x1006c3bc]
subss xmm2, dword [ebp - 0x8338]
andps xmm1, xmmword [0x1006c470]
movss dword [ebp - 0x8318], xmm1
comiss xmm2, dword [0x1006c3a8]
movss dword [ebp - 0x8328], xmm2
jbe 0x1000c08d
movaps xmm0, xmm2
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x8314], xmm0
fld dword [ebp - 0x8314]
fstp dword [esp]
call fcn.10047a6d
fstp dword [ebp - 0x8314]
movss xmm0, dword [ebp - 0x8314]
jmp 0x1000c0be
comiss xmm0, xmm2
jbe 0x1000c0dd
movaps xmm0, xmm2
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x8314], xmm0
fld dword [ebp - 0x8314]
fstp dword [esp]
call fcn.10047a6d
fstp dword [ebp - 0x8314]
movss xmm0, dword [ebp - 0x8314]
mulss xmm0, dword [0x1006c3ac]
add esp, 4
movss xmm2, dword [ebp - 0x8328]
movss xmm1, dword [ebp - 0x8318]
subss xmm2, xmm0
andps xmm2, xmmword [0x1006c470]
movss xmm0, dword [ebp - 0x831c]
minss xmm1, xmm2
comiss xmm0, xmm1
jbe 0x1000c109
push edi
lea ecx, [ebp - 0x5768]
movss dword [ebp - 0x831c], xmm1
call fcn.10001c80
add edi, 0x2ba8
cmp edi, esi
jne 0x1000bf70
lea ecx, [ebp - 0x8310]
call fcn.10001890
mov edi, dword [ebp - 0x8344]
cmp edi, esi
je 0x1000c23a
movss xmm1, dword [edi + 0x10]
subss xmm1, dword [ebp - 0x5758]
comiss xmm1, dword [0x1006c3a8]
movss dword [ebp - 0x831c], xmm1
jbe 0x1000c180
movaps xmm0, xmm1
divss xmm0, dword [0x1006c3ac]
push ecx
movss dword [ebp - 0x8320], xmm0
fld dword [ebp - 0x8320]
fstp dword [esp]
call fcn.10047a6d
fstp dword [ebp - 0x8320]
movss xmm0, dword [ebp - 0x8320]
jmp 0x1000c1bd
movss xmm0, dword [0x1006c3bc]
comiss xmm0, xmm1
jbe 0x1000c1d4
movaps xmm0, xmm1
divss xmm0, dword [0x1006c3ac]
push ecx
movss dword [ebp - 0x8320], xmm0
fld dword [ebp - 0x8320]
fstp dword [esp]
call fcn.10047a6d
fstp dword [ebp - 0x8320]
movss xmm0, dword [ebp - 0x8320]
mulss xmm0, dword [0x1006c3ac]
add esp, 4
movss xmm1, dword [ebp - 0x831c]
subss xmm1, xmm0
andps xmm1, xmmword [0x1006c470]
movss xmm0, dword [ebp - 0x8324]
comiss xmm1, xmm0
jbe 0x1000c204
push edi
lea ecx, [ebp - 0x8310]
movss dword [ebp - 0x8324], xmm1
call fcn.10001c80
movss xmm0, dword [ebp - 0x8324]
add edi, 0x2ba8
cmp edi, esi
jne 0x1000c130
comiss xmm0, dword [0x1006c490]
jbe 0x1000c23a
lea eax, [ebp - 0x8310]
push eax
push 0
lea ecx, [ebp - 0x8334]
call fcn.1000ab10
lea eax, [ebp - 0x5768]
jmp 0x1000c381
lea eax, [esi - 0x2ba8]
push 0x2ba8
push eax
lea eax, [ebp - 0x2bc0]
push eax
call fcn.100438a0
movss xmm1, dword [ebp - 0x2b78]
add esp, 0xc
movss xmm0, dword [ebp - 0x2b74]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1000c283
sqrtsd xmm0, xmm0
jmp 0x1000c288
call fcn.10047870
mov edi, dword [ebp - 0x8344]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x8324], xmm0
cmp edi, esi
je 0x1000c2ff
nop
movss xmm1, dword [edi + 0x4c]
movss xmm0, dword [edi + 0x48]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1000c2c8
sqrtsd xmm0, xmm0
jmp 0x1000c2cd
call fcn.10047870
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0x8324]
comiss xmm0, xmm1
jbe 0x1000c2f5
push edi
lea ecx, [ebp - 0x2bc0]
movss dword [ebp - 0x8324], xmm1
call fcn.10001c80
add edi, 0x2ba8
cmp edi, esi
jne 0x1000c2a0
movss xmm1, dword [esi - 0x2b5c]
movss xmm0, dword [esi - 0x2b60]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x1000c32d
sqrtsd xmm0, xmm0
jmp 0x1000c332
call fcn.10047870
movss xmm1, dword [ebp - 0x8324]
cvtsd2ss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [0x1006c48c]
andps xmm1, xmmword [0x1006c470]
comiss xmm0, xmm1
jbe 0x1000c368
lea eax, [esi - 0x2ba8]
push eax
lea ecx, [ebp - 0x2bc0]
call fcn.10001c80
push dword [ebp - 0x8344]
lea ecx, [ebp - 0x8334]
push 0
call fcn.1000ab10
lea eax, [ebp - 0x2bc0]
mov esi, dword [ebp - 0x8330]
cmp esi, dword [ebp - 0x832c]
je 0x1000c3a6
push 0x2ba8
push eax
push esi
call fcn.100438a0
add esp, 0xc
add esi, 0x2ba8
jmp 0x1000c3b9
push eax
push esi
lea ecx, [ebp - 0x8334]
call fcn.1000ab10
mov esi, dword [ebp - 0x8330]
mov edi, dword [ebp - 0x8348]
mov ecx, dword [ebp - 0x832c]
mov eax, dword [ebp - 0x8334]
mov dword [ebp - 0x832c], 0
mov dword [edi + 8], ecx
lea ecx, [ebp - 0x8344]
mov dword [ebp - 0x8330], 0
mov dword [ebp - 0x8334], 0
mov dword [edi], eax
mov dword [edi + 4], esi
call fcn.10001bf0
lea ecx, [ebp - 0x8334]
call fcn.10001bf0
mov eax, edi
jmp 0x1000c421
mov dword [esi], 0
mov eax, esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
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.100421e2
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8