Function at 0x14014f080
Capabilities:
Access peb ldr_data

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov rsi, rdx
mov rax, qword [0x1403a8f38]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov rax, qword [rcx + 8]
cmp rax, qword [0x1403a6cd0]
je 0x14014f4ca
test qword [rax - 1], 2
jne 0x14014f4ca
mov r14, qword [rax + 0xf]
cmp r14, 1
ja 0x14014f0e1
mov rax, qword [0x1403abdb8]
mov rax, qword [rax + 8]
jmp 0x14014f4ca
mov r15, r8
mov rbx, rcx
sar r14, 1
xor edx, edx
mov r8, r14
call fcn.140157a30
test al, al
je 0x14014f104
mov rax, qword [0x1403a6cd0]
jmp 0x14014f4ca
mov r12, qword [r15 + 0x18]
mov rdi, qword [r15 + 0x698]
mov rbp, qword [rdi + 0x20]
mov rcx, r12
call fcn.1400f8d90
mov r13, rax
add rdi, 0x400
mov eax, dword [0x1403b0260]
mov rcx, qword gs:[0x58]
mov rax, qword [rcx + rax*8]
mov qword [rsp + 0x28], rax
mov rdx, qword [rax + 8]
lea rcx, [rsp + 0x88]
mov qword [rsp + 0x48], rdi
mov r8, rdi
call fcn.1401326f0
mov rdi, qword [rbp + 0x330]
mov rdx, qword [0x1403a6cd0]
mov r8d, 4
mov rcx, r12
call fcn.1400efd10
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x38], r12
mov rcx, r12
call fcn.1400f9e60
mov qword [rsp + 0xb8], rax
mov rcx, rdi
call fcn.1400f0780
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0x60], rbx
lea rcx, [rsp + 0xb0]
lea rdx, [rsp + 0x60]
call fcn.1401800e0
cmp rax, 0xffffffffffffffff
je 0x14014f1e5
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rcx + 8]
mov rdx, qword [rdx + rax*8 + 0x27]
mov rax, qword [0x1403a6cd0]
jmp 0x14014f1f7
mov rax, qword [0x1403a6cd0]
mov rcx, qword [rsp + 0xc0]
mov rdx, rax
mov qword [r13 + 8], rdx
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xc0], 0
mov rdx, qword [rcx + 8]
mov qword [rbp + 0x330], rdx
mov qword [rcx + 8], rax
lea rax, [0x140306130]
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0xa0]
call fcn.14009cff0
lea rcx, [rsp + 0x88]
call fcn.140111480
mov rax, qword [r13 + 8]
cmp rax, qword [0x1403a6cd0]
jne 0x14014f4ca
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x30], r13
mov rax, qword [rsp + 0x28]
lea rax, [rax + 8]
mov qword [rsp + 0x28], rax
mov rdi, qword [rsp + 0x38]
mov rcx, rdi
call fcn.1400f8fe0
mov rbp, rax
mov qword [rsp + 0x88], rdi
lea rcx, [rsp + 0x90]
mov rdx, r14
mov r8, rdi
call fcn.140180350
test r14, r14
jle 0x14014f33d
xor edi, edi
lea r13, [rsp + 0x80]
nop word cs:[rax + rax]
mov rax, qword [rbx + 8]
mov rdx, qword [rax + rdi*8 + 0x27]
mov rcx, rbp
call fcn.1400f9000
mov rax, qword [rbp]
mov rcx, rbp
mov rdx, r13
mov r8, r15
call qword [rax + 0x360]
mov rdx, qword [rsp + 0x80]
mov rcx, rbp
call fcn.1400f9000
mov rdx, qword [rbp + 8]
mov rcx, qword [rsp + 0x88]
call fcn.140159780
mov r12, rax
mov rdx, qword [rsp + 0x90]
inc rdx
lea rcx, [rsp + 0x90]
call fcn.1400fb350
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa0]
mov qword [rcx + rax*8 - 8], r12
inc rdi
cmp r14, rdi
jne 0x14014f2c0
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax]
lea rcx, [rsp + 0xb0]
mov r8, qword [rsp + 0x48]
call fcn.1401326f0
mov r12, qword [rsp + 0x40]
mov rdi, qword [r12 + 0x330]
mov rdx, qword [0x1403a6cd0]
mov r8d, 4
mov r15, qword [rsp + 0x38]
mov rcx, r15
call fcn.1400efd10
mov qword [rsp + 0x60], rax
mov rcx, r15
call fcn.1400f9e60
mov qword [rsp + 0x68], rax
mov rcx, rdi
call fcn.1400f0780
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x58], rbx
lea rcx, [rsp + 0x60]
lea rdx, [rsp + 0x58]
call fcn.1401800e0
cmp rax, 0xffffffffffffffff
je 0x14014f3e8
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx + rax*8 + 0x27]
mov rax, qword [0x1403a6cd0]
mov r15, qword [rsp + 0x30]
mov qword [r15 + 8], rcx
cmp rcx, rax
je 0x14014f3f8
jmp 0x14014f47a
mov rax, qword [0x1403a6cd0]
mov r15, qword [rsp + 0x30]
mov qword [r15 + 8], rax
test r14, r14
jle 0x14014f42d
xor edi, edi
nop
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + rdi]
mov rcx, qword [rbx + 8]
mov r8, qword [rax + 8]
lea rdx, [rcx + rdi]
add rdx, 0x27
dec rcx
call fcn.1400f0620
add rdi, 8
dec r14
jne 0x14014f400
mov rax, qword [rbx + 8]
test al, 8
je 0x14014f450
lea rcx, [rsp + 0x50]
mov rdx, rbx
mov r8d, 1
xor r9d, r9d
call fcn.14014d230
mov rax, qword [rsp + 0x50]
mov qword [r15 + 8], rax
mov rcx, r15
call fcn.140157850
mov rax, qword [r15 + 8]
lock or qword [rax - 1], 2
lea rcx, [rsp + 0x60]
mov rdx, r15
call fcn.140158e80
mov rax, qword [0x1403a6cd0]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x70], 0
mov rdx, qword [rcx + 8]
mov qword [r12 + 0x330], rdx
mov qword [rcx + 8], rax
lea rax, [0x140306130]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsp + 0xc8]
call fcn.14009cff0
lea rcx, [rsp + 0xb0]
call fcn.140111480
mov rax, qword [r15 + 8]
mov qword [rsi], rax
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.140265fa0
mov rax, rsi
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret