Function at 0x5afc40
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x5afed3
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x70], rcx
mov rsi, qword [rax + 0x48]
test rsi, rsi
jle 0x5afd8a
cmp rsi, 0x10
ja 0x5afec5
mov qword [rsp + 0x68], rbx
lea rdx, [rsi - 0x10]
mov r8, rdx
neg rdx
sar r8, 0x3f
and r8, rsi
lea rsi, [r8 + rax]
lea rsi, [rsi + 0x38]
cmp rcx, rdx
cmovl rdx, rcx
mov qword [rsp + 0x28], rdx
cmp rbx, rsi
je 0x5afcd0
mov qword [rsp + 0x78], rdi
mov rax, rsi
mov rcx, rdx
call fcn.0046d4a0
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x28]
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x78]
mov rsi, qword [rax + 0x48]
add rsi, rdx
nop word [rax + rax]
cmp rsi, 0x10
jl 0x5afd79
cmp rcx, rdx
jb 0x5afeb8
mov qword [rax + 0x48], 0
mov qword [rsp], rax
sub rdi, rdx
mov qword [rsp + 0x40], rdi
neg rdi
sar rdi, 0x3f
and rdi, rdx
mov qword [rsp + 0x38], rdi
lea rbx, [rax + 0x38]
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], 0x10
mov qword [rsp + 0x18], 0x10
call fcn.005b0060
xorps xmm15, xmm15
mov r14, qword [0x0099fb20]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x28]
mov rdx, rcx
sub rdx, rax
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x68]
add rbx, rax
mov rax, qword [rsp + 0x60]
mov rcx, rdx
mov rdi, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x70]
jmp 0x5afd8d
mov qword [rax + 0x48], rsi
mov rax, rcx
xor ebx, ebx
xor ecx, ecx
add rsp, 0x50
pop rbp
ret
mov rdx, rcx
mov rsi, rcx
and esi, 0xf
mov r8, rcx
sub r8, rsi
nop dword [rax]
test r8, r8
jle 0x5afe31
cmp rdi, r8
jb 0x5afead
mov qword [rsp + 0x20], r8
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x40], rdi
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], r8
mov qword [rsp + 0x18], rdi
call fcn.005b0060
xorps xmm15, xmm15
mov r14, qword [0x0099fb20]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x20]
nop word [rax + rax]
cmp rcx, rax
jb 0x5afea8
mov rdx, qword [rsp + 0x40]
mov rsi, rax
sub rax, rdx
sar rax, 0x3f
and rax, rsi
sub rcx, rsi
mov rdx, qword [rsp + 0x48]
lea rbx, [rdx + rax]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
test rcx, rcx
je 0x5afe8e
mov rsi, qword [rax + 0x48]
nop word [rax + rax]
cmp rsi, 0x10
ja 0x5afe9b
lea rdi, [rsi - 0x10]
mov r8, rdi
neg rdi
sar r8, 0x3f
and r8, rsi
lea rsi, [r8 + rax]
lea rsi, [rsi + 0x38]
cmp rcx, rdi
cmovl rdi, rcx
cmp rbx, rsi
je 0x5afe8a
mov qword [rsp + 0x40], rdi
mov rax, rsi
mov rcx, rdi
call fcn.0046d4a0
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x40]
add qword [rax + 0x48], rdi
mov rax, rdx
xor ebx, ebx
xor ecx, ecx
add rsp, 0x50
pop rbp
ret
mov rax, rsi
mov ecx, 0x10
call fcn.0046cba0
call fcn.0046cba0
mov rcx, r8
mov rdx, rdi
call fcn.0046cb60
mov rax, rdx
nop dword [rax + rax]
call fcn.0046cba0
mov rax, rsi
mov ecx, 0x10
call fcn.0046cba0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.0046a800
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.005afc40