Function at 0x10010350
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 0x1010c34b
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x8298
call fcn.1005c780
mov eax, dword [0x1023eaa4]
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 - 0x8250], edi
mov esi, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x8270], esi
mov dword [ebp - 0x8248], esi
mov dword [ebp - 0x8244], eax
mov dword [ebp - 0x825c], 0
mov dword [ebp - 0x8258], 0
mov dword [ebp - 0x8254], 0
mov ecx, dword [0x1030fa10]
mov eax, dword [eax + 0x64]
mov dword [ebp - 0x8260], eax
mov dword [ebp - 4], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x1030fa14]
push eax
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, eax
mov dword [ebp - 0x8248], ecx
test ecx, ecx
je 0x10010d7b
mov eax, dword [0x1030fb68]
cmp dword [eax + ecx], 0
jle 0x10010d7b
mov eax, dword [ebp - 0x8260]
lea ecx, [eax + eax*2]
mov eax, dword [edi + ecx*4 + 0x60]
mov edi, dword [edi + ecx*4 + 0x5c]
mov dword [ebp - 0x824c], eax
mov dword [ebp - 0x8260], ecx
mov ecx, eax
sub ecx, edi
mov dword [ebp - 0x8240], edi
mov eax, 0x5e6ea9af
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10010d7b
xor eax, eax
xor esi, esi
mov dword [ebp - 0x826c], eax
mov dword [ebp - 0x8268], esi
mov dword [ebp - 0x8264], eax
mov byte [ebp - 4], 1
cmp edi, dword [ebp - 0x824c]
je 0x10010529
mov eax, 0x2b60
call fcn.1005c780
mov esi, edi
mov ecx, 0xad8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10010090
mov edi, dword [ebp - 0x8240]
add esp, 0x2b60
fstp dword [ebp - 0x823c]
movss xmm0, dword [ebp - 0x823c]
comiss xmm0, dword [0x101189a8]
jb 0x100104c4
cmp byte [edi + 0x70], 0
je 0x10010505
test byte [edi + 0x2b34], 0x1a
mov esi, dword [ebp - 0x8268]
je 0x1001050b
cmp esi, dword [ebp - 0x8264]
je 0x100104f8
push 0x2b60
push edi
push esi
call fcn.1005e200
add esp, 0xc
add esi, 0x2b60
mov dword [ebp - 0x8268], esi
jmp 0x1001050b
push edi
push esi
lea ecx, [ebp - 0x826c]
call fcn.1000f490
mov esi, dword [ebp - 0x8268]
add edi, 0x2b60
mov dword [ebp - 0x8240], edi
cmp edi, dword [ebp - 0x824c]
jne 0x10010481
mov eax, dword [ebp - 0x826c]
mov ecx, esi
sub ecx, eax
mov eax, 0x5e6ea9af
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x100106d8
mov ecx, dword [ebp - 0x8250]
mov esi, dword [ebp - 0x8260]
mov edx, dword [ecx + esi*4 + 0x5c]
mov eax, dword [ecx + esi*4 + 0x60]
mov dword [ebp - 0x8240], edx
mov dword [ebp - 0x8244], eax
cmp edx, eax
je 0x100105df
nop dword [eax + eax]
mov eax, 0x2b60
call fcn.1005c780
mov esi, edx
mov ecx, 0xad8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10010090
mov edx, dword [ebp - 0x8240]
add esp, 0x2b60
fstp dword [ebp - 0x823c]
movss xmm0, dword [ebp - 0x823c]
comiss xmm0, dword [0x101189a8]
jae 0x100105bf
mov eax, 0x200
test word [edx + 0x2b34], ax
jne 0x10010653
add edx, 0x2b60
mov dword [ebp - 0x8240], edx
cmp edx, dword [ebp - 0x8244]
jne 0x10010570
mov ecx, dword [ebp - 0x8250]
mov esi, dword [ebp - 0x8260]
mov edx, dword [ecx + esi*4 + 0x5c]
mov eax, dword [ecx + esi*4 + 0x60]
mov dword [ebp - 0x8240], edx
mov dword [ebp - 0x8244], eax
cmp edx, eax
je 0x100106a6
nop dword [eax + eax]
mov eax, 0x2b60
call fcn.1005c780
mov esi, edx
mov ecx, 0xad8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10010090
fstp dword [ebp - 0x823c]
movss xmm0, dword [ebp - 0x823c]
add esp, 0x2b60
comiss xmm0, dword [0x101189a8]
jb 0x10010693
mov edx, dword [ebp - 0x8240]
add edx, 0x2b60
mov dword [ebp - 0x8240], edx
cmp edx, dword [ebp - 0x8244]
jne 0x10010600
jmp 0x100106a6
push edx
push 0
lea ecx, [ebp - 0x825c]
call fcn.1000f490
mov edi, dword [ebp - 0x8270]
mov ecx, dword [ebp - 0x825c]
mov dword [edi], ecx
mov ecx, dword [ebp - 0x8258]
mov dword [edi + 4], ecx
mov ecx, dword [ebp - 0x8254]
mov dword [edi + 8], ecx
lea ecx, [ebp - 0x826c]
call fcn.100040c0
mov eax, edi
jmp 0x10010d91
push dword [ebp - 0x8240]
lea ecx, [ebp - 0x825c]
push 0
call fcn.1000f490
mov edi, dword [ebp - 0x8270]
lea ecx, [ebp - 0x826c]
mov eax, dword [ebp - 0x825c]
mov dword [edi], eax
mov eax, dword [ebp - 0x8258]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x8254]
mov dword [edi + 8], eax
call fcn.100040c0
mov eax, edi
jmp 0x10010d91
cmp eax, 2
ja 0x100106fe
mov edi, dword [ebp - 0x8270]
mov eax, dword [ebp - 0x826c]
mov dword [edi], eax
mov eax, dword [ebp - 0x8264]
mov dword [edi + 8], eax
mov eax, edi
mov dword [edi + 4], esi
jmp 0x10010d91
mov ecx, dword [0x1030fb7c]
mov eax, dword [ebp - 0x8244]
mov edi, dword [ebp - 0x8248]
movq xmm0, qword [eax + ecx]
mov eax, dword [eax + ecx + 8]
movq qword [ebp - 0x827c], xmm0
movq xmm0, qword [ecx + edi]
movq qword [ebp - 0x8288], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x824c], xmm0
movss xmm0, dword [ebp - 0x827c]
subss xmm0, dword [ebp - 0x8288]
mov dword [ebp - 0x8274], eax
mov eax, dword [ecx + edi + 8]
mov dword [ebp - 0x8280], eax
lea eax, [ebp - 0x8294]
push eax
movss dword [ebp - 0x82a0], xmm0
lea eax, [ebp - 0x82a0]
movss xmm0, dword [ebp - 0x8278]
subss xmm0, dword [ebp - 0x8284]
push eax
mov dword [ebp - 0x8294], 0
mov dword [ebp - 0x8290], 0
mov dword [ebp - 0x828c], 0
movss dword [ebp - 0x829c], xmm0
movss xmm0, dword [ebp - 0x8274]
subss xmm0, dword [ebp - 0x8280]
movss dword [ebp - 0x8298], xmm0
call fcn.10037d10
movss xmm0, dword [ebp - 0x8290]
addss xmm0, dword [0x10118734]
mov ecx, dword [0x1030fb7c]
mov eax, dword [ebp - 0x8244]
movss dword [ebp - 0x8260], xmm0
movq xmm0, qword [eax + ecx]
mov eax, dword [eax + ecx + 8]
movq qword [ebp - 0x8294], xmm0
movq xmm0, qword [ecx + edi]
movq qword [ebp - 0x8288], xmm0
movss xmm0, dword [ebp - 0x8294]
subss xmm0, dword [ebp - 0x8288]
mov dword [ebp - 0x828c], eax
mov eax, dword [ecx + edi + 8]
mov dword [ebp - 0x8280], eax
lea eax, [ebp - 0x827c]
push eax
movss dword [ebp - 0x82a0], xmm0
lea eax, [ebp - 0x82a0]
movss xmm0, dword [ebp - 0x8290]
subss xmm0, dword [ebp - 0x8284]
push eax
mov dword [ebp - 0x827c], 0
mov dword [ebp - 0x8278], 0
mov dword [ebp - 0x8274], 0
movss dword [ebp - 0x829c], xmm0
movss xmm0, dword [ebp - 0x828c]
subss xmm0, dword [ebp - 0x8280]
movss dword [ebp - 0x8298], xmm0
call fcn.10037d10
movss xmm0, dword [ebp - 0x8278]
lea ecx, [ebp - 0x56d8]
subss xmm0, dword [0x10118734]
add esp, 0x10
movss dword [ebp - 0x8248], xmm0
call fcn.100035c0
movss xmm0, dword [0x1011873c]
mov edi, dword [ebp - 0x826c]
movss xmm3, dword [0x10118740]
movss dword [ebp - 0x8244], xmm0
cmp edi, esi
je 0x10010a87
jmp 0x100108f0
movss xmm3, dword [0x10118740]
movss xmm0, dword [0x1011873c]
movss xmm2, dword [edi + 0x10]
movaps xmm1, xmm2
movss dword [ebp - 0x8250], xmm2
subss xmm1, dword [ebp - 0x8248]
comiss xmm1, xmm0
movss dword [ebp - 0x8240], xmm1
jbe 0x10010943
movaps xmm0, xmm1
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x823c], xmm0
fld dword [ebp - 0x823c]
fstp dword [esp]
call fcn.1006acd0
fstp dword [ebp - 0x823c]
movss xmm0, dword [ebp - 0x823c]
jmp 0x1001097c
movss xmm0, dword [0x10118754]
comiss xmm0, xmm1
jbe 0x100109a7
movaps xmm0, xmm1
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x823c], xmm0
fld dword [ebp - 0x823c]
fstp dword [esp]
call fcn.1006acd0
fstp dword [ebp - 0x823c]
movss xmm0, dword [ebp - 0x823c]
movss xmm3, dword [0x10118740]
add esp, 4
movss xmm1, dword [ebp - 0x8240]
movss xmm2, dword [ebp - 0x8250]
mulss xmm0, xmm3
subss xmm1, xmm0
movss xmm0, dword [0x10118754]
subss xmm2, dword [ebp - 0x8260]
andps xmm1, xmmword [0x10118760]
movss dword [ebp - 0x8240], xmm1
comiss xmm2, dword [0x1011873c]
movss dword [ebp - 0x8250], xmm2
jbe 0x100109fd
movaps xmm0, xmm2
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x823c], xmm0
fld dword [ebp - 0x823c]
fstp dword [esp]
call fcn.1006acd0
fstp dword [ebp - 0x823c]
movss xmm0, dword [ebp - 0x823c]
jmp 0x10010a2e
comiss xmm0, xmm2
jbe 0x10010a4d
movaps xmm0, xmm2
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x823c], xmm0
fld dword [ebp - 0x823c]
fstp dword [esp]
call fcn.1006acd0
fstp dword [ebp - 0x823c]
movss xmm0, dword [ebp - 0x823c]
mulss xmm0, dword [0x10118740]
add esp, 4
movss xmm2, dword [ebp - 0x8250]
movss xmm1, dword [ebp - 0x8240]
subss xmm2, xmm0
andps xmm2, xmmword [0x10118760]
movss xmm0, dword [ebp - 0x8244]
minss xmm1, xmm2
comiss xmm0, xmm1
jbe 0x10010a79
push edi
lea ecx, [ebp - 0x56d8]
movss dword [ebp - 0x8244], xmm1
call fcn.10004410
add edi, 0x2b60
cmp edi, esi
jne 0x100108e0
lea ecx, [ebp - 0x8238]
call fcn.100035c0
mov edi, dword [ebp - 0x826c]
cmp edi, esi
je 0x10010baa
movss xmm1, dword [edi + 0x10]
subss xmm1, dword [ebp - 0x56c8]
comiss xmm1, dword [0x1011873c]
movss dword [ebp - 0x8244], xmm1
jbe 0x10010af0
movaps xmm0, xmm1
divss xmm0, dword [0x10118740]
push ecx
movss dword [ebp - 0x8248], xmm0
fld dword [ebp - 0x8248]
fstp dword [esp]
call fcn.1006acd0
fstp dword [ebp - 0x8248]
movss xmm0, dword [ebp - 0x8248]
jmp 0x10010b2d
movss xmm0, dword [0x10118754]
comiss xmm0, xmm1
jbe 0x10010b44
movaps xmm0, xmm1
divss xmm0, dword [0x10118740]
push ecx
movss dword [ebp - 0x8248], xmm0
fld dword [ebp - 0x8248]
fstp dword [esp]
call fcn.1006acd0
fstp dword [ebp - 0x8248]
movss xmm0, dword [ebp - 0x8248]
mulss xmm0, dword [0x10118740]
add esp, 4
movss xmm1, dword [ebp - 0x8244]
subss xmm1, xmm0
andps xmm1, xmmword [0x10118760]
movss xmm0, dword [ebp - 0x824c]
comiss xmm1, xmm0
jbe 0x10010b74
push edi
lea ecx, [ebp - 0x8238]
movss dword [ebp - 0x824c], xmm1
call fcn.10004410
movss xmm0, dword [ebp - 0x824c]
add edi, 0x2b60
cmp edi, esi
jne 0x10010aa0
comiss xmm0, dword [0x10118818]
jbe 0x10010baa
lea eax, [ebp - 0x8238]
push eax
push 0
lea ecx, [ebp - 0x825c]
call fcn.1000f490
lea eax, [ebp - 0x56d8]
jmp 0x10010cf1
lea eax, [esi - 0x2b60]
push 0x2b60
push eax
lea eax, [ebp - 0x2b78]
push eax
call fcn.1005e200
movss xmm1, dword [ebp - 0x2b30]
add esp, 0xc
movss xmm0, dword [ebp - 0x2b2c]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10010bf3
sqrtsd xmm0, xmm0
jmp 0x10010bf8
call fcn.1006abd0
mov edi, dword [ebp - 0x826c]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x824c], xmm0
cmp edi, esi
je 0x10010c6f
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 0x10010c38
sqrtsd xmm0, xmm0
jmp 0x10010c3d
call fcn.1006abd0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [ebp - 0x824c]
comiss xmm0, xmm1
jbe 0x10010c65
push edi
lea ecx, [ebp - 0x2b78]
movss dword [ebp - 0x824c], xmm1
call fcn.10004410
add edi, 0x2b60
cmp edi, esi
jne 0x10010c10
movss xmm1, dword [esi - 0x2b14]
movss xmm0, dword [esi - 0x2b18]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x10010c9d
sqrtsd xmm0, xmm0
jmp 0x10010ca2
call fcn.1006abd0
movss xmm1, dword [ebp - 0x824c]
cvtsd2ss xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [0x10118718]
andps xmm1, xmmword [0x10118760]
comiss xmm0, xmm1
jbe 0x10010cd8
lea eax, [esi - 0x2b60]
push eax
lea ecx, [ebp - 0x2b78]
call fcn.10004410
push dword [ebp - 0x826c]
lea ecx, [ebp - 0x825c]
push 0
call fcn.1000f490
lea eax, [ebp - 0x2b78]
mov esi, dword [ebp - 0x8258]
cmp esi, dword [ebp - 0x8254]
je 0x10010d16
push 0x2b60
push eax
push esi
call fcn.1005e200
add esp, 0xc
add esi, 0x2b60
jmp 0x10010d29
push eax
push esi
lea ecx, [ebp - 0x825c]
call fcn.1000f490
mov esi, dword [ebp - 0x8258]
mov edi, dword [ebp - 0x8270]
mov ecx, dword [ebp - 0x8254]
mov eax, dword [ebp - 0x825c]
mov dword [ebp - 0x8254], 0
mov dword [edi + 8], ecx
lea ecx, [ebp - 0x826c]
mov dword [ebp - 0x8258], 0
mov dword [ebp - 0x825c], 0
mov dword [edi], eax
mov dword [edi + 4], esi
call fcn.100040c0
lea ecx, [ebp - 0x825c]
call fcn.100040c0
mov eax, edi
jmp 0x10010d91
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.1005c76e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8