Function at 0x10152110
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
mov eax, dword [0x103390c8]
sub esp, 0x34
mov eax, dword [eax + 8]
push ebx
push esi
push edi
cmp byte [eax], 0
mov ebx, ecx
je 0x101522cf
mov eax, dword [0x103390d4]
mov edi, dword [eax + 0x10]
mov ecx, dword [eax + 0x1c]
mov edx, dword [edi]
mov eax, dword [ecx]
mov esi, dword [edx + 0xc]
call dword [eax + 0x30]
push eax
mov ecx, edi
call esi
mov ecx, dword fs:[0x2c]
mov esi, eax
mov edx, dword [0x1033a628]
mov edx, dword [ecx + edx*4]
mov ecx, dword [0x10347e98]
cmp ecx, dword [edx + 4]
jg 0x1015232e
mov edi, dword [0x10347e9c]
mov ecx, esi
mov dword [esp + 0x38], edi
call fcn.1003f390
cmp dword [eax], 9
je 0x101522cf
mov ecx, esi
call fcn.1003f390
cmp dword [eax], 8
je 0x101522cf
mov ecx, esi
call fcn.10026f10
test byte [eax], 1
jne 0x101521b4
mov dword [ebx + 4], 2
mov edx, 2
jmp 0x10152238
mov eax, dword [0x103390d4]
mov edi, dword [eax + 0x10]
mov ecx, dword [eax + 0x1c]
mov edx, dword [edi]
mov eax, dword [ecx]
mov esi, dword [edx + 0xc]
call dword [eax + 0x30]
push eax
mov ecx, edi
call esi
mov ecx, eax
call fcn.10023020
sub esp, 8
movss xmm1, dword [eax + 4]
movss xmm2, dword [eax]
movss xmm0, dword [eax + 8]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
addss xmm2, xmm0
cvtps2pd xmm0, xmm2
movsd qword [esp], xmm0
call fcn.100ef450
movss xmm0, dword [0x102dd9f0]
add esp, 8
mov edi, dword [esp + 0x38]
fstp dword [esp + 0x3c]
comiss xmm0, dword [esp + 0x3c]
jbe 0x1015222c
mov dword [ebx + 4], 0
xor edx, edx
jmp 0x10152238
mov dword [ebx + 4], 1
mov edx, 1
mov byte [ebx + 0x19], 0
mov eax, dword [0x103390c8]
mov ecx, dword [eax + 8]
cmp byte [ecx + edx + 0x2b], 0
jne 0x10152259
mov dword [ebx + 4], 0
xor edx, edx
mov eax, dword [0x103390c8]
test byte [edi + 0x24], 0x20
je 0x1015226f
test edx, edx
jne 0x101522cf
mov eax, dword [eax + 8]
cmp byte [eax + 4], dl
je 0x101522cf
mov byte [ebx + 0x19], 1
call fcn.101395e0
mov esi, eax
test esi, esi
je 0x101522d8
mov ecx, esi
call fcn.101c8130
cmp dword [eax + 0x658], 8
jne 0x101522d8
mov ecx, esi
call fcn.10023640
movss xmm0, dword [eax]
comiss xmm0, dword [0x102dd748]
mov eax, dword [0x103390d4]
mov eax, dword [eax]
movss xmm1, dword [eax + 0x1c]
mov eax, dword [0x103390dc]
mov eax, dword [eax + 0xc]
movd xmm2, dword [eax + 0x18]
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm1
jbe 0x101522e1
mulss xmm1, dword [0x102dd910]
subss xmm0, xmm1
comiss xmm2, xmm0
jb 0x101522e1
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.10139120
test al, al
jne 0x101522cf
mov eax, dword [0x103390c8]
movss xmm1, dword [0x102dd87c]
movss xmm0, dword [0x102ddbd0]
mov eax, dword [eax + 8]
cmp byte [eax + 1], 0
je 0x10152304
movaps xmm2, xmm0
jmp 0x10152307
movaps xmm2, xmm1
cmp byte [ebx + 0x18], 0
jne 0x10152310
movaps xmm0, xmm1
mulss xmm0, xmm2
movss dword [ebx + 0x1c], xmm0
mov eax, dword [edi + 0xc]
mov dword [ebx + 0xc], eax
mov eax, dword [edi + 0x10]
pop edi
mov dword [ebx + 0x10], eax
mov al, 1
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x10347e98
call fcn.100c3aa2
add esp, 4
cmp dword [0x10347e98], 0xffffffff
jne 0x1015216d
push 0x10347e98
mov dword [0x10347e9c], 0
call fcn.100c3a51
add esp, 4
jmp 0x1015216d