Function at 0x14014b970
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 [0x1403a6f68]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov rax, qword [rcx + 8]
cmp rax, qword [0x1403a4da0]
je 0x14014bdba
test qword [rax - 1], 2
jne 0x14014bdba
mov r14, qword [rax + 0xf]
cmp r14, 1
ja 0x14014b9d1
mov rax, qword [0x1403aa578]
mov rax, qword [rax + 8]
jmp 0x14014bdba
mov r15, r8
mov rbx, rcx
sar r14, 1
xor edx, edx
mov r8, r14
call fcn.1401543f0
test al, al
je 0x14014b9f4
mov rax, qword [0x1403a4da0]
jmp 0x14014bdba
mov r12, qword [r15 + 0x18]
mov rdi, qword [r15 + 0x698]
mov rbp, qword [rdi + 0x20]
mov rcx, r12
call fcn.1400f75d0
mov r13, rax
add rdi, 0x400
mov eax, dword [0x1403aea80]
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.14012f140
mov rdi, qword [rbp + 0x330]
mov rdx, qword [0x1403a4da0]
mov r8d, 4
mov rcx, r12
call fcn.1400eea40
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x38], r12
mov rcx, r12
call fcn.1400f86a0
mov qword [rsp + 0xb8], rax
mov rcx, rdi
call fcn.1400ef500
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.14017ca50
cmp rax, 0xffffffffffffffff
je 0x14014bad5
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rcx + 8]
mov rdx, qword [rdx + rax*8 + 0x27]
mov rax, qword [0x1403a4da0]
jmp 0x14014bae7
mov rax, qword [0x1403a4da0]
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, [0x140303b90]
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0xa0]
call fcn.14009cef0
lea rcx, [rsp + 0x88]
call fcn.14010c790
mov rax, qword [r13 + 8]
cmp rax, qword [0x1403a4da0]
jne 0x14014bdba
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.1400f7820
mov rbp, rax
mov qword [rsp + 0x88], rdi
lea rcx, [rsp + 0x90]
mov rdx, r14
mov r8, rdi
call fcn.14017ccc0
test r14, r14
jle 0x14014bc2d
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.1400f7840
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.1400f7840
mov rdx, qword [rbp + 8]
mov rcx, qword [rsp + 0x88]
call fcn.1401564d0
mov r12, rax
mov rdx, qword [rsp + 0x90]
inc rdx
lea rcx, [rsp + 0x90]
call fcn.1400f9b60
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa0]
mov qword [rcx + rax*8 - 8], r12
inc rdi
cmp r14, rdi
jne 0x14014bbb0
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax]
lea rcx, [rsp + 0xb0]
mov r8, qword [rsp + 0x48]
call fcn.14012f140
mov r12, qword [rsp + 0x40]
mov rdi, qword [r12 + 0x330]
mov rdx, qword [0x1403a4da0]
mov r8d, 4
mov r15, qword [rsp + 0x38]
mov rcx, r15
call fcn.1400eea40
mov qword [rsp + 0x60], rax
mov rcx, r15
call fcn.1400f86a0
mov qword [rsp + 0x68], rax
mov rcx, rdi
call fcn.1400ef500
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.14017ca50
cmp rax, 0xffffffffffffffff
je 0x14014bcd8
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx + rax*8 + 0x27]
mov rax, qword [0x1403a4da0]
mov r15, qword [rsp + 0x30]
mov qword [r15 + 8], rcx
cmp rcx, rax
je 0x14014bce8
jmp 0x14014bd6a
mov rax, qword [0x1403a4da0]
mov r15, qword [rsp + 0x30]
mov qword [r15 + 8], rax
test r14, r14
jle 0x14014bd1d
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.1400ef370
add rdi, 8
dec r14
jne 0x14014bcf0
mov rax, qword [rbx + 8]
test al, 8
je 0x14014bd40
lea rcx, [rsp + 0x50]
mov rdx, rbx
mov r8d, 1
xor r9d, r9d
call fcn.140149c10
mov rax, qword [rsp + 0x50]
mov qword [r15 + 8], rax
mov rcx, r15
call fcn.140154200
mov rax, qword [r15 + 8]
lock or qword [rax - 1], 2
lea rcx, [rsp + 0x60]
mov rdx, r15
call fcn.140155da0
mov rax, qword [0x1403a4da0]
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, [0x140303b90]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsp + 0xc8]
call fcn.14009cef0
lea rcx, [rsp + 0xb0]
call fcn.14010c790
mov rax, qword [r15 + 8]
mov qword [rsi], rax
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.140262cb0
mov rax, rsi
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret