Function at 0x140142a90
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 [0x14039de68]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov rax, qword [rcx + 8]
cmp rax, qword [0x14039bc70]
je 0x140142eda
test qword [rax - 1], 2
jne 0x140142eda
mov r14, qword [rax + 0xf]
cmp r14, 1
ja 0x140142af1
mov rax, qword [0x1403a0fd8]
mov rax, qword [rax + 8]
jmp 0x140142eda
mov r15, r8
mov rbx, rcx
sar r14, 1
xor edx, edx
mov r8, r14
call fcn.14014ac80
test al, al
je 0x140142b14
mov rax, qword [0x14039bc70]
jmp 0x140142eda
mov r12, qword [r15 + 0x18]
mov rdi, qword [r15 + 0x6a8]
mov rbp, qword [rdi + 0x20]
mov rcx, r12
call fcn.1400f3780
mov r13, rax
add rdi, 0x400
mov eax, dword [0x1403a5518]
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.140126bb0
mov rdi, qword [rbp + 0x320]
mov rdx, qword [0x14039bc70]
mov r8d, 4
mov rcx, r12
call fcn.1400ed2d0
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x38], r12
mov rcx, r12
call fcn.1400f4580
mov qword [rsp + 0xb8], rax
mov rcx, rdi
call fcn.1400edb90
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.140173b00
cmp rax, 0xffffffffffffffff
je 0x140142bf5
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rcx + 8]
mov rdx, qword [rdx + rax*8 + 0x27]
mov rax, qword [0x14039bc70]
jmp 0x140142c07
mov rax, qword [0x14039bc70]
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 + 0x320], rdx
mov qword [rcx + 8], rax
lea rax, [0x1402fba70]
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0xa0]
call fcn.14009cb90
lea rcx, [rsp + 0x88]
call fcn.1401041e0
mov rax, qword [r13 + 8]
cmp rax, qword [0x14039bc70]
jne 0x140142eda
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.1400f39d0
mov rbp, rax
mov qword [rsp + 0x88], rdi
lea rcx, [rsp + 0x90]
mov rdx, r14
mov r8, rdi
call fcn.140173d70
test r14, r14
jle 0x140142d4d
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.1400f39f0
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.1400f39f0
mov rdx, qword [rbp + 8]
mov rcx, qword [rsp + 0x88]
call fcn.14014cd40
mov r12, rax
mov rdx, qword [rsp + 0x90]
inc rdx
lea rcx, [rsp + 0x90]
call fcn.1400f59d0
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa0]
mov qword [rcx + rax*8 - 8], r12
inc rdi
cmp r14, rdi
jne 0x140142cd0
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax]
lea rcx, [rsp + 0xb0]
mov r8, qword [rsp + 0x48]
call fcn.140126bb0
mov r12, qword [rsp + 0x40]
mov rdi, qword [r12 + 0x320]
mov rdx, qword [0x14039bc70]
mov r8d, 4
mov r15, qword [rsp + 0x38]
mov rcx, r15
call fcn.1400ed2d0
mov qword [rsp + 0x60], rax
mov rcx, r15
call fcn.1400f4580
mov qword [rsp + 0x68], rax
mov rcx, rdi
call fcn.1400edb90
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.140173b00
cmp rax, 0xffffffffffffffff
je 0x140142df8
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx + rax*8 + 0x27]
mov rax, qword [0x14039bc70]
mov r15, qword [rsp + 0x30]
mov qword [r15 + 8], rcx
cmp rcx, rax
je 0x140142e08
jmp 0x140142e8a
mov rax, qword [0x14039bc70]
mov r15, qword [rsp + 0x30]
mov qword [r15 + 8], rax
test r14, r14
jle 0x140142e3d
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.1400eda00
add rdi, 8
dec r14
jne 0x140142e10
mov rax, qword [rbx + 8]
test al, 8
je 0x140142e60
lea rcx, [rsp + 0x50]
mov rdx, rbx
mov r8d, 1
xor r9d, r9d
call fcn.140140d80
mov rax, qword [rsp + 0x50]
mov qword [r15 + 8], rax
mov rcx, r15
call fcn.14014aaa0
mov rax, qword [r15 + 8]
lock or qword [rax - 1], 2
lea rcx, [rsp + 0x60]
mov rdx, r15
call fcn.14014c620
mov rax, qword [0x14039bc70]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x70], 0
mov rdx, qword [rcx + 8]
mov qword [r12 + 0x320], rdx
mov qword [rcx + 8], rax
lea rax, [0x1402fba70]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsp + 0xc8]
call fcn.14009cb90
lea rcx, [rsp + 0xb0]
call fcn.1401041e0
mov rax, qword [r15 + 8]
mov qword [rsi], rax
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.140259980
mov rax, rsi
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret