Function at 0x1000be50
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 0x100a16bb
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x82b0
call fcn.100734d0
mov eax, dword [0x10104a40]
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 - 0x8268], edi
mov esi, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x8288], esi
mov dword [ebp - 0x8260], esi
mov dword [ebp - 0x825c], eax
mov dword [ebp - 0x8274], 0
mov dword [ebp - 0x8270], 0
mov dword [ebp - 0x826c], 0
mov ecx, dword [0x101c84fc]
mov eax, dword [eax + 0x64]
mov dword [ebp - 0x8278], eax
mov dword [ebp - 4], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x101c8500]
push eax
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, eax
mov dword [ebp - 0x8260], ecx
test ecx, ecx
je 0x1000c87b
mov eax, dword [0x101c8658]
cmp dword [eax + ecx], 0
jle 0x1000c87b
mov eax, dword [ebp - 0x8278]
lea ecx, [eax + eax*2]
mov eax, dword [edi + ecx*4 + 0x5c]
mov edi, dword [edi + ecx*4 + 0x58]
mov dword [ebp - 0x8264], eax
mov dword [ebp - 0x8278], ecx
mov ecx, eax
sub ecx, edi
mov dword [ebp - 0x8258], edi
mov eax, 0x5e5d422b
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1000c87b
xor eax, eax
xor esi, esi
mov dword [ebp - 0x8284], eax
mov dword [ebp - 0x8280], esi
mov dword [ebp - 0x827c], eax
mov byte [ebp - 4], 1
cmp edi, dword [ebp - 0x8264]
je 0x1000c029
mov eax, 0x2b68
call fcn.100734d0
mov esi, edi
mov ecx, 0xada
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.1000bb90
mov edi, dword [ebp - 0x8258]
add esp, 0x2b68
fstp dword [ebp - 0x8254]
movss xmm0, dword [ebp - 0x8254]
comiss xmm0, dword [0x100a565c]
jb 0x1000bfc4
cmp byte [edi + 0x70], 0
je 0x1000c005
test byte [edi + 0x2b38], 0x1e
mov esi, dword [ebp - 0x8280]
je 0x1000c00b
cmp esi, dword [ebp - 0x827c]
je 0x1000bff8
push 0x2b68
push edi
push esi
call fcn.100752b0
add esp, 0xc
add esi, 0x2b68
mov dword [ebp - 0x8280], esi
jmp 0x1000c00b
push edi
push esi
lea ecx, [ebp - 0x8284]
call fcn.1000af60
mov esi, dword [ebp - 0x8280]
add edi, 0x2b68
mov dword [ebp - 0x8258], edi
cmp edi, dword [ebp - 0x8264]
jne 0x1000bf81
mov eax, dword [ebp - 0x8284]
mov ecx, esi
sub ecx, eax
mov eax, 0x5e5d422b
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x1000c1d8
mov ecx, dword [ebp - 0x8268]
mov esi, dword [ebp - 0x8278]
mov edx, dword [ecx + esi*4 + 0x58]
mov eax, dword [ecx + esi*4 + 0x5c]
mov dword [ebp - 0x8258], edx
mov dword [ebp - 0x825c], eax
cmp edx, eax
je 0x1000c0df
nop dword [eax + eax]
mov eax, 0x2b68
call fcn.100734d0
mov esi, edx
mov ecx, 0xada
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.1000bb90
mov edx, dword [ebp - 0x8258]
add esp, 0x2b68
fstp dword [ebp - 0x8254]
movss xmm0, dword [ebp - 0x8254]
comiss xmm0, dword [0x100a565c]
jae 0x1000c0bf
mov eax, 0x200
test word [edx + 0x2b38], ax
jne 0x1000c153
add edx, 0x2b68
mov dword [ebp - 0x8258], edx
cmp edx, dword [ebp - 0x825c]
jne 0x1000c070
mov ecx, dword [ebp - 0x8268]
mov esi, dword [ebp - 0x8278]
mov edx, dword [ecx + esi*4 + 0x58]
mov eax, dword [ecx + esi*4 + 0x5c]
mov dword [ebp - 0x8258], edx
mov dword [ebp - 0x825c], eax
cmp edx, eax
je 0x1000c1a6
nop dword [eax + eax]
mov eax, 0x2b68
call fcn.100734d0
mov esi, edx
mov ecx, 0xada
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.1000bb90
fstp dword [ebp - 0x8254]
movss xmm0, dword [ebp - 0x8254]
add esp, 0x2b68
comiss xmm0, dword [0x100a565c]
jb 0x1000c193
mov edx, dword [ebp - 0x8258]
add edx, 0x2b68
mov dword [ebp - 0x8258], edx
cmp edx, dword [ebp - 0x825c]
jne 0x1000c100
jmp 0x1000c1a6
push edx
push 0
lea ecx, [ebp - 0x8274]
call fcn.1000af60
mov edi, dword [ebp - 0x8288]
mov ecx, dword [ebp - 0x8274]
mov dword [edi], ecx
mov ecx, dword [ebp - 0x8270]
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0x826c]
mov dword [edi + 8], ecx
lea ecx, [ebp - 0x8284]
call fcn.10001a50
mov eax, edi
jmp 0x1000c891
push dword [ebp - 0x8258]
lea ecx, [ebp - 0x8274]
push 0
call fcn.1000af60
mov edi, dword [ebp - 0x8288]
lea ecx, [ebp - 0x8284]
mov eax, dword [ebp - 0x8274]
mov dword [edi], eax
mov eax, dword [ebp - 0x8270]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x826c]
mov dword [edi + 8], eax
call fcn.10001a50
mov eax, edi
jmp 0x1000c891
cmp eax, 2
ja 0x1000c1fe
mov edi, dword [ebp - 0x8288]
mov eax, dword [ebp - 0x8284]
mov dword [edi], eax
mov eax, dword [ebp - 0x827c]
mov dword [edi + 8], eax
mov eax, edi
mov dword [edi + 4], esi
jmp 0x1000c891
mov ecx, dword [0x101c866c]
mov eax, dword [ebp - 0x825c]
mov edi, dword [ebp - 0x8260]
movq xmm0, qword [eax + ecx]
mov eax, dword [eax + ecx + 8]
movq qword [ebp - 0x8294], xmm0
movq xmm0, qword [ecx + edi]
movq qword [ebp - 0x82a0], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x8264], xmm0
movss xmm0, dword [ebp - 0x8294]
subss xmm0, dword [ebp - 0x82a0]
mov dword [ebp - 0x828c], eax
mov eax, dword [ecx + edi + 8]
mov dword [ebp - 0x8298], eax
lea eax, [ebp - 0x82ac]
push eax
movss dword [ebp - 0x82b8], xmm0
lea eax, [ebp - 0x82b8]
movss xmm0, dword [ebp - 0x8290]
subss xmm0, dword [ebp - 0x829c]
push eax
mov dword [ebp - 0x82ac], 0
mov dword [ebp - 0x82a8], 0
mov dword [ebp - 0x82a4], 0
movss dword [ebp - 0x82b4], xmm0
movss xmm0, dword [ebp - 0x828c]
subss xmm0, dword [ebp - 0x8298]
movss dword [ebp - 0x82b0], xmm0
call fcn.1006cd50
movss xmm0, dword [ebp - 0x82a8]
addss xmm0, dword [0x100a53b8]
mov ecx, dword [0x101c866c]
mov eax, dword [ebp - 0x825c]
movss dword [ebp - 0x8278], xmm0
movq xmm0, qword [eax + ecx]
mov eax, dword [eax + ecx + 8]
movq qword [ebp - 0x82ac], xmm0
movq xmm0, qword [ecx + edi]
movq qword [ebp - 0x82a0], xmm0
movss xmm0, dword [ebp - 0x82ac]
subss xmm0, dword [ebp - 0x82a0]
mov dword [ebp - 0x82a4], eax
mov eax, dword [ecx + edi + 8]
mov dword [ebp - 0x8298], eax
lea eax, [ebp - 0x8294]
push eax
movss dword [ebp - 0x82b8], xmm0
lea eax, [ebp - 0x82b8]
movss xmm0, dword [ebp - 0x82a8]
subss xmm0, dword [ebp - 0x829c]
push eax
mov dword [ebp - 0x8294], 0
mov dword [ebp - 0x8290], 0
mov dword [ebp - 0x828c], 0
movss dword [ebp - 0x82b4], xmm0
movss xmm0, dword [ebp - 0x82a4]
subss xmm0, dword [ebp - 0x8298]
movss dword [ebp - 0x82b0], xmm0
call fcn.1006cd50
movss xmm0, dword [ebp - 0x8290]
lea ecx, [ebp - 0x56e8]
subss xmm0, dword [0x100a53b8]
add esp, 0x10
movss dword [ebp - 0x8260], xmm0
call fcn.100016e0
movss xmm0, dword [0x100a53c0]
mov edi, dword [ebp - 0x8284]
movss xmm3, dword [0x100a53c4]
movss dword [ebp - 0x825c], xmm0
cmp edi, esi
je 0x1000c587
jmp 0x1000c3f0
movss xmm3, dword [0x100a53c4]
movss xmm0, dword [0x100a53c0]
movss xmm2, dword [edi + 0x10]
movaps xmm1, xmm2
movss dword [ebp - 0x8268], xmm2
subss xmm1, dword [ebp - 0x8260]
comiss xmm1, xmm0
movss dword [ebp - 0x8258], xmm1
jbe 0x1000c443
movaps xmm0, xmm1
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x8254], xmm0
fld dword [ebp - 0x8254]
fstp dword [esp]
call fcn.1007952d
fstp dword [ebp - 0x8254]
movss xmm0, dword [ebp - 0x8254]
jmp 0x1000c47c
movss xmm0, dword [0x100a53d8]
comiss xmm0, xmm1
jbe 0x1000c4a7
movaps xmm0, xmm1
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x8254], xmm0
fld dword [ebp - 0x8254]
fstp dword [esp]
call fcn.1007952d
fstp dword [ebp - 0x8254]
movss xmm0, dword [ebp - 0x8254]
movss xmm3, dword [0x100a53c4]
add esp, 4
movss xmm1, dword [ebp - 0x8258]
movss xmm2, dword [ebp - 0x8268]
mulss xmm0, xmm3
subss xmm1, xmm0
movss xmm0, dword [0x100a53d8]
subss xmm2, dword [ebp - 0x8278]
andps xmm1, xmmword [0x100a5480]
movss dword [ebp - 0x8258], xmm1
comiss xmm2, dword [0x100a53c0]
movss dword [ebp - 0x8268], xmm2
jbe 0x1000c4fd
movaps xmm0, xmm2
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x8254], xmm0
fld dword [ebp - 0x8254]
fstp dword [esp]
call fcn.1007952d
fstp dword [ebp - 0x8254]
movss xmm0, dword [ebp - 0x8254]
jmp 0x1000c52e
comiss xmm0, xmm2
jbe 0x1000c54d
movaps xmm0, xmm2
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x8254], xmm0
fld dword [ebp - 0x8254]
fstp dword [esp]
call fcn.1007952d
fstp dword [ebp - 0x8254]
movss xmm0, dword [ebp - 0x8254]
mulss xmm0, dword [0x100a53c4]
add esp, 4
movss xmm2, dword [ebp - 0x8268]
movss xmm1, dword [ebp - 0x8258]
subss xmm2, xmm0
andps xmm2, xmmword [0x100a5480]
movss xmm0, dword [ebp - 0x825c]
minss xmm1, xmm2
comiss xmm0, xmm1
jbe 0x1000c579
push edi
lea ecx, [ebp - 0x56e8]
movss dword [ebp - 0x825c], xmm1
call fcn.10001ae0
add edi, 0x2b68
cmp edi, esi
jne 0x1000c3e0
lea ecx, [ebp - 0x8250]
call fcn.100016e0
mov edi, dword [ebp - 0x8284]
cmp edi, esi
je 0x1000c6aa
movss xmm1, dword [edi + 0x10]
subss xmm1, dword [ebp - 0x56d8]
comiss xmm1, dword [0x100a53c0]
movss dword [ebp - 0x825c], xmm1
jbe 0x1000c5f0
movaps xmm0, xmm1
divss xmm0, dword [0x100a53c4]
push ecx
movss dword [ebp - 0x8260], xmm0
fld dword [ebp - 0x8260]
fstp dword [esp]
call fcn.1007952d
fstp dword [ebp - 0x8260]
movss xmm0, dword [ebp - 0x8260]
jmp 0x1000c62d
movss xmm0, dword [0x100a53d8]
comiss xmm0, xmm1
jbe 0x1000c644
movaps xmm0, xmm1
divss xmm0, dword [0x100a53c4]
push ecx
movss dword [ebp - 0x8260], xmm0
fld dword [ebp - 0x8260]
fstp dword [esp]
call fcn.1007952d
fstp dword [ebp - 0x8260]
movss xmm0, dword [ebp - 0x8260]
mulss xmm0, dword [0x100a53c4]
add esp, 4
movss xmm1, dword [ebp - 0x825c]
subss xmm1, xmm0
andps xmm1, xmmword [0x100a5480]
movss xmm0, dword [ebp - 0x8264]
comiss xmm1, xmm0
jbe 0x1000c674
push edi
lea ecx, [ebp - 0x8250]
movss dword [ebp - 0x8264], xmm1
call fcn.10001ae0
movss xmm0, dword [ebp - 0x8264]
add edi, 0x2b68
cmp edi, esi
jne 0x1000c5a0
comiss xmm0, dword [0x100a54ac]
jbe 0x1000c6aa
lea eax, [ebp - 0x8250]
push eax
push 0
lea ecx, [ebp - 0x8274]
call fcn.1000af60
lea eax, [ebp - 0x56e8]
jmp 0x1000c7f1
push 0x2b68
lea eax, [esi - 0x2b68]
push eax
lea eax, [ebp - 0x2b80]
push eax
call fcn.100752b0
movss xmm1, dword [ebp - 0x2b38]
add esp, 0xc
movss xmm0, dword [ebp - 0x2b34]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1000c6f3
sqrtsd xmm0, xmm0
jmp 0x1000c6f8
call fcn.10079330
mov edi, dword [ebp - 0x8284]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x8264], xmm0
cmp edi, esi
je 0x1000c76f
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 0x1000c738
sqrtsd xmm0, xmm0
jmp 0x1000c73d
call fcn.10079330
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0x8264]
comiss xmm0, xmm1
jbe 0x1000c765
push edi
lea ecx, [ebp - 0x2b80]
movss dword [ebp - 0x8264], xmm1
call fcn.10001ae0
add edi, 0x2b68
cmp edi, esi
jne 0x1000c710
movss xmm1, dword [esi - 0x2b1c]
movss xmm0, dword [esi - 0x2b20]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x1000c79d
sqrtsd xmm0, xmm0
jmp 0x1000c7a2
call fcn.10079330
movss xmm1, dword [ebp - 0x8264]
cvtsd2ss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [0x100a54a8]
andps xmm1, xmmword [0x100a5480]
comiss xmm0, xmm1
jbe 0x1000c7d8
lea eax, [esi - 0x2b68]
push eax
lea ecx, [ebp - 0x2b80]
call fcn.10001ae0
push dword [ebp - 0x8284]
lea ecx, [ebp - 0x8274]
push 0
call fcn.1000af60
lea eax, [ebp - 0x2b80]
mov esi, dword [ebp - 0x8270]
cmp esi, dword [ebp - 0x826c]
je 0x1000c816
push 0x2b68
push eax
push esi
call fcn.100752b0
add esp, 0xc
add esi, 0x2b68
jmp 0x1000c829
push eax
push esi
lea ecx, [ebp - 0x8274]
call fcn.1000af60
mov esi, dword [ebp - 0x8270]
mov edi, dword [ebp - 0x8288]
mov ecx, dword [ebp - 0x826c]
mov eax, dword [ebp - 0x8274]
mov dword [ebp - 0x826c], 0
mov dword [edi + 8], ecx
lea ecx, [ebp - 0x8284]
mov dword [ebp - 0x8270], 0
mov dword [ebp - 0x8274], 0
mov dword [edi], eax
mov dword [edi + 4], esi
call fcn.10001a50
lea ecx, [ebp - 0x8274]
call fcn.10001a50
mov eax, edi
jmp 0x1000c891
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.100734be
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8