Function at 0x10048510
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x50
push ebx
mov ebx, dword [esp + 0x5c]
mov eax, ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x64]
sub eax, edi
cmp eax, 0x528
jl 0x100485c3
mov ebp, dword [esp + 0x6c]
push dword [esp + 0x70]
push ebx
push edi
test ebp, ebp
jle 0x10048654
lea eax, [esp + 0x1c]
push eax
call fcn.10048050
mov eax, ebp
mov ecx, ebx
sub ecx, dword [esp + 0x24]
add esp, 0x10
sar eax, 2
sar ebp, 1
add ebp, eax
mov eax, 0x66666667
imul ecx
mov ecx, dword [esp + 0x10]
mov eax, 0x66666667
push dword [esp + 0x70]
sar edx, 4
sub ecx, edi
mov esi, edx
shr esi, 0x1f
add esi, edx
imul ecx
push ebp
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jge 0x1004859e
mov eax, dword [esp + 0x18]
push eax
push edi
call fcn.10048510
mov edi, dword [esp + 0x24]
jmp 0x100485b1
mov eax, dword [esp + 0x1c]
push ebx
push eax
call fcn.10048510
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x78], ebx
mov eax, ebx
add esp, 0x10
sub eax, edi
cmp eax, 0x528
jge 0x10048532
cmp edi, ebx
je 0x10048763
lea ebp, [edi + 0x28]
cmp ebp, ebx
je 0x10048763
mov esi, edi
mov dword [esp + 0x64], edi
nop dword [eax]
movups xmm0, xmmword [ebp]
push edi
lea ecx, [esp + 0x3c]
mov ebx, ebp
movups xmmword [esp + 0x1c], xmm0
movups xmmword [esp + 0x3c], xmm0
movups xmm0, xmmword [ebp + 0x10]
movups xmmword [esp + 0x2c], xmm0
movups xmmword [esp + 0x4c], xmm0
movq xmm0, qword [ebp + 0x20]
movq qword [esp + 0x14], xmm0
movq qword [esp + 0x5c], xmm0
call fcn.10048d00
test eax, eax
jns 0x100486f3
mov eax, ebp
sub eax, edi
push eax
lea eax, [edi + 0x28]
push edi
push eax
call fcn.10069260
movups xmm0, xmmword [esp + 0x24]
add esp, 0xc
movups xmmword [edi], xmm0
movups xmm0, xmmword [esp + 0x28]
movups xmmword [edi + 0x10], xmm0
movq xmm0, qword [esp + 0x10]
movq qword [edi + 0x20], xmm0
jmp 0x1004874f
call fcn.10047db0
mov ecx, ebx
add esp, 0xc
sub ecx, edi
cmp ecx, 0x50
jl 0x10048763
lea esi, [ebx - 0x28]
nop dword [eax]
mov eax, 0xcccccccd
mov ebx, esi
mul ecx
shr edx, 5
cmp edx, 2
jl 0x100486df
movups xmm0, xmmword [esi]
lea eax, [esp + 0x38]
mov ecx, esi
sub ecx, edi
movups xmmword [esp + 0x38], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [esp + 0x48], xmm0
movq xmm0, qword [esi + 0x20]
movq qword [esp + 0x58], xmm0
movups xmm0, xmmword [edi]
movups xmmword [esi], xmm0
movups xmm0, xmmword [edi + 0x10]
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [edi + 0x20]
movq qword [esi + 0x20], xmm0
push dword [esp + 0x70]
push eax
mov eax, 0x66666667
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push 0
push edi
call fcn.100483d0
add esp, 0x14
mov ecx, ebx
sub esi, 0x28
sub ecx, edi
cmp ecx, 0x50
jge 0x10048670
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
push dword [esp + 0x64]
lea ecx, [esp + 0x3c]
call fcn.10048d00
test eax, eax
jns 0x1004872f
movups xmm0, xmmword [esi]
lea ecx, [esp + 0x38]
movups xmmword [ebx], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [ebx + 0x10], xmm0
movq xmm0, qword [esi + 0x20]
movq qword [ebx + 0x20], xmm0
mov ebx, esi
sub esi, 0x28
push esi
call fcn.10048d00
test eax, eax
js 0x10048704
movups xmm0, xmmword [esp + 0x18]
mov esi, dword [esp + 0x64]
movups xmmword [ebx], xmm0
movups xmm0, xmmword [esp + 0x28]
movups xmmword [ebx + 0x10], xmm0
movq xmm0, qword [esp + 0x10]
movq qword [ebx + 0x20], xmm0
add ebp, 0x28
add esi, 0x28
mov dword [esp + 0x64], esi
cmp ebp, dword [esp + 0x68]
jne 0x100485e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret