Function at 0x140144db0
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 [0x1403a1f58]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov rax, qword [rcx + 8]
cmp rax, qword [0x14039fd90]
je 0x1401451fa
test qword [rax - 1], 2
jne 0x1401451fa
mov r14, qword [rax + 0xf]
cmp r14, 1
ja 0x140144e11
mov rax, qword [0x1403a50b8]
mov rax, qword [rax + 8]
jmp 0x1401451fa
mov r15, r8
mov rbx, rcx
sar r14, 1
xor edx, edx
mov r8, r14
call fcn.14014d830
test al, al
je 0x140144e34
mov rax, qword [0x14039fd90]
jmp 0x1401451fa
mov r12, qword [r15 + 0x18]
mov rdi, qword [r15 + 0x698]
mov rbp, qword [rdi + 0x20]
mov rcx, r12
call fcn.1400f4fb0
mov r13, rax
add rdi, 0x400
mov eax, dword [0x1403a95e8]
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.1401285c0
mov rdi, qword [rbp + 0x330]
mov rdx, qword [0x14039fd90]
mov r8d, 4
mov rcx, r12
call fcn.1400eeaf0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x38], r12
mov rcx, r12
call fcn.1400f5db0
mov qword [rsp + 0xb8], rax
mov rcx, rdi
call fcn.1400ef3b0
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.140175e00
cmp rax, 0xffffffffffffffff
je 0x140144f15
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rcx + 8]
mov rdx, qword [rdx + rax*8 + 0x27]
mov rax, qword [0x14039fd90]
jmp 0x140144f27
mov rax, qword [0x14039fd90]
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, [0x1402feaf0]
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0xa0]
call fcn.14009cf50
lea rcx, [rsp + 0x88]
call fcn.140105bd0
mov rax, qword [r13 + 8]
cmp rax, qword [0x14039fd90]
jne 0x1401451fa
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.1400f5200
mov rbp, rax
mov qword [rsp + 0x88], rdi
lea rcx, [rsp + 0x90]
mov rdx, r14
mov r8, rdi
call fcn.140176070
test r14, r14
jle 0x14014506d
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.1400f5220
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.1400f5220
mov rdx, qword [rbp + 8]
mov rcx, qword [rsp + 0x88]
call fcn.14014f910
mov r12, rax
mov rdx, qword [rsp + 0x90]
inc rdx
lea rcx, [rsp + 0x90]
call fcn.1400f71f0
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa0]
mov qword [rcx + rax*8 - 8], r12
inc rdi
cmp r14, rdi
jne 0x140144ff0
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax]
lea rcx, [rsp + 0xb0]
mov r8, qword [rsp + 0x48]
call fcn.1401285c0
mov r12, qword [rsp + 0x40]
mov rdi, qword [r12 + 0x330]
mov rdx, qword [0x14039fd90]
mov r8d, 4
mov r15, qword [rsp + 0x38]
mov rcx, r15
call fcn.1400eeaf0
mov qword [rsp + 0x60], rax
mov rcx, r15
call fcn.1400f5db0
mov qword [rsp + 0x68], rax
mov rcx, rdi
call fcn.1400ef3b0
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.140175e00
cmp rax, 0xffffffffffffffff
je 0x140145118
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx + rax*8 + 0x27]
mov rax, qword [0x14039fd90]
mov r15, qword [rsp + 0x30]
mov qword [r15 + 8], rcx
cmp rcx, rax
je 0x140145128
jmp 0x1401451aa
mov rax, qword [0x14039fd90]
mov r15, qword [rsp + 0x30]
mov qword [r15 + 8], rax
test r14, r14
jle 0x14014515d
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.1400ef220
add rdi, 8
dec r14
jne 0x140145130
mov rax, qword [rbx + 8]
test al, 8
je 0x140145180
lea rcx, [rsp + 0x50]
mov rdx, rbx
mov r8d, 1
xor r9d, r9d
call fcn.140143050
mov rax, qword [rsp + 0x50]
mov qword [r15 + 8], rax
mov rcx, r15
call fcn.14014d640
mov rax, qword [r15 + 8]
lock or qword [rax - 1], 2
lea rcx, [rsp + 0x60]
mov rdx, r15
call fcn.14014f1e0
mov rax, qword [0x14039fd90]
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, [0x1402feaf0]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsp + 0xc8]
call fcn.14009cf50
lea rcx, [rsp + 0xb0]
call fcn.140105bd0
mov rax, qword [r15 + 8]
mov qword [rsi], rax
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.14025cd50
mov rax, rsi
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret