Function at 0x1004b340
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 0x1004b3f3
mov ebp, dword [esp + 0x6c]
push dword [esp + 0x70]
push ebx
push edi
test ebp, ebp
jle 0x1004b484
lea eax, [esp + 0x1c]
push eax
call fcn.1004ae80
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 0x1004b3ce
mov eax, dword [esp + 0x18]
push eax
push edi
call fcn.1004b340
mov edi, dword [esp + 0x24]
jmp 0x1004b3e1
mov eax, dword [esp + 0x1c]
push ebx
push eax
call fcn.1004b340
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x78], ebx
mov eax, ebx
add esp, 0x10
sub eax, edi
cmp eax, 0x528
jge 0x1004b362
cmp edi, ebx
je 0x1004b593
lea ebp, [edi + 0x28]
cmp ebp, ebx
je 0x1004b593
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.1004bb30
test eax, eax
jns 0x1004b523
mov eax, ebp
sub eax, edi
push eax
lea eax, [edi + 0x28]
push edi
push eax
call fcn.1011e240
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 0x1004b57f
call fcn.1004abe0
mov ecx, ebx
add esp, 0xc
sub ecx, edi
cmp ecx, 0x50
jl 0x1004b593
lea esi, [ebx - 0x28]
nop dword [eax]
mov eax, 0xcccccccd
mov ebx, esi
mul ecx
shr edx, 5
cmp edx, 2
jl 0x1004b50f
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.1004b200
add esp, 0x14
mov ecx, ebx
sub esi, 0x28
sub ecx, edi
cmp ecx, 0x50
jge 0x1004b4a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret
push dword [esp + 0x64]
lea ecx, [esp + 0x3c]
call fcn.1004bb30
test eax, eax
jns 0x1004b55f
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.1004bb30
test eax, eax
js 0x1004b534
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 0x1004b410
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret