Function at 0x509e20
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0xd0]
cmp r12, qword [r14 + 0x10]
jbe 0x50a247
sub rsp, 0x150
mov qword [rsp + 0x148], rbp
lea rbp, [rsp + 0x148]
mov qword [rsp + 0x160], rbx
mov qword [rsp + 0x158], rax
movups xmmword [rsp + 0xa8], xmm15
movups xmmword [rsp + 0xb8], xmm15
movups xmmword [rsp + 0xc8], xmm15
movups xmmword [rsp + 0xd8], xmm15
mov rcx, qword [0x008ad128]
test byte [rcx], al
mov rdx, qword [rbx]
nop
lea rsi, [rsp + 0xa8]
mov qword [rsp], rsi
mov qword [rsp + 8], rcx
shl rdx, 1
mov rcx, rdx
and edx, 0x7f
mov rdi, rdx
shr rdx, 6
neg rdx
mov qword [rsp + 0x40], rdx
add rdi, 0xffffffffffffff81
neg rdi
and rdi, rdx
not rdx
and rcx, rdx
and ecx, 0x7f
or rcx, rdi
mov rdx, rcx
shr rcx, 1
and edx, 1
add rcx, rdx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x10], rcx
nop
call fcn.005146a0
xorps xmm15, xmm15
mov r14, qword [0x00902580]
mov r14, qword gs:[r14]
mov r14, qword [r14]
movups xmm0, xmmword [rsp + 0xc8]
movups xmmword [rsp + 0x88], xmm0
movups xmm0, xmmword [rsp + 0xd8]
movups xmmword [rsp + 0x98], xmm0
movups xmm0, xmmword [0x0086e2a0]
movups xmmword [rsp + 0x68], xmm0
movups xmm0, xmmword [0x0086e2b0]
movups xmmword [rsp + 0x78], xmm0
movups xmm0, xmmword [rsp + 0xa8]
mov rax, qword [rsp + 0x158]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rsp + 0xb8]
movups xmmword [rax + 0x10], xmm0
movups xmm0, xmmword [rsp + 0x88]
movups xmmword [rax + 0x20], xmm0
movups xmm0, xmmword [rsp + 0x98]
movups xmmword [rax + 0x30], xmm0
movups xmm0, xmmword [rsp + 0x68]
movups xmmword [rax + 0x40], xmm0
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rax + 0x50], xmm0
lea rcx, [rax + 0x20]
mov qword [rsp], rcx
mov rcx, qword [rsp + 0x40]
and ecx, 1
mov qword [rsp + 8], rcx
call fcn.00514000
xorps xmm15, xmm15
mov r14, qword [0x00902580]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x160]
mov rcx, qword [rsp + 0x58]
mov edx, 1
mov ebx, 5
nop dword [rax + rax]
jmp 0x50a0c0
mov qword [rsp + 0x50], rdx
mov rax, qword [0x008ad128]
test byte [rax], al
nop
lea rcx, [rsp + 0xa8]
mov qword [rsp], rcx
shl rdx, 0xb
add rax, rdx
mov qword [rsp + 8], rax
mov rax, rbx
shr rbx, 6
neg rbx
mov qword [rsp + 0x38], rbx
lea rdx, [rax - 0x7f]
neg rdx
and rdx, rbx
not rbx
and rax, rbx
or rax, rdx
mov rdx, rax
shr rax, 1
and edx, 1
add rax, rdx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x10], rax
call fcn.005146a0
xorps xmm15, xmm15
mov r14, qword [0x00902580]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x158]
mov qword [rsp], rax
mov qword [rsp + 8], rax
lea rcx, [rsp + 0xa8]
mov qword [rsp + 0x10], rcx
mov rdx, qword [rsp + 0x38]
and edx, 1
mov qword [rsp + 0x18], rdx
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x20], rdx
mov rbx, qword [rsp + 0x30]
mov qword [rsp + 0x28], rbx
call fcn.00515280
xorps xmm15, xmm15
mov r14, qword [0x00902580]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rdx, qword [rsp + 0x50]
inc rdx
mov rbx, qword [rsp + 0x48]
add rbx, 6
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x60]
or rcx, rax
mov rax, qword [rsp + 0x160]
nop word [rax + rax]
cmp rdx, 0x2b
jge 0x50a15c
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x48], rbx
cmp rbx, 0xc0
jae 0x50a138
mov rsi, rbx
shr rbx, 6
cmp rbx, 4
jae 0x50a239
mov rdi, qword [rax + rbx*8]
mov rcx, rsi
shr rdi, cl
lea r9, [rbx + 1]
nop dword [rax]
cmp r9, 4
jae 0x50a22c
and ecx, 0x3f
lea r9, [rcx - 0x40]
neg r9
cmp r9, 0x40
sbb r9, r9
mov rbx, qword [rax + rbx*8 + 8]
mov rcx, rsi
neg rcx
shl rbx, cl
and r9, rbx
lea rbx, [rdi + r9]
and ebx, 0x7f
jmp 0x509fc5
mov rsi, rbx
shr rbx, 6
nop
cmp rbx, 4
jae 0x50a21f
mov rbx, qword [rax + rbx*8]
mov rcx, rsi
shr rbx, cl
and ebx, 0x7f
jmp 0x509fc5
lea rdi, [rsp + 0xe8]
lea rdi, [rdi - 0x20]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.00465c6b
mov rbp, qword [rbp]
movups xmm0, xmmword [0x0086e2a0]
movups xmmword [rsp + 0xe8], xmm0
movups xmm0, xmmword [0x0086e2b0]
movups xmmword [rsp + 0xf8], xmm0
movups xmm0, xmmword [0x0086e2a0]
movups xmmword [rsp + 0x108], xmm0
movups xmm0, xmmword [0x0086e2b0]
movups xmmword [rsp + 0x118], xmm0
movups xmm0, xmmword [0x009028a0]
movups xmmword [rsp + 0x128], xmm0
movups xmm0, xmmword [0x009028b0]
movups xmmword [rsp + 0x138], xmm0
mov rax, qword [rsp + 0x158]
mov qword [rsp], rax
mov qword [rsp + 8], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x10], rax
mov qword [rsp + 0x18], rcx
call fcn.00513f00
xorps xmm15, xmm15
mov r14, qword [0x00902580]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rbp, qword [rsp + 0x148]
add rsp, 0x150
ret
mov rax, rbx
mov ecx, 4
call fcn.004659a0
mov rax, r9
mov ecx, 4
call fcn.004659a0
mov rax, rbx
mov ecx, 4
call fcn.004659a0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00463320
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00509e20