Function at 0x140136090
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 [0x14039ce38]
xor rax, rsp
mov qword [rsp + 0xd0], rax
mov rax, qword [rcx + 8]
cmp rax, qword [0x14039ab20]
je 0x1401364da
test qword [rax - 1], 2
jne 0x1401364da
mov r14, qword [rax + 0xf]
cmp r14, 1
ja 0x1401360f1
mov rax, qword [0x14039ff68]
mov rax, qword [rax + 8]
jmp 0x1401364da
mov r15, r8
mov rbx, rcx
sar r14, 1
xor edx, edx
mov r8, r14
call fcn.14013e0c0
test al, al
je 0x140136114
mov rax, qword [0x14039ab20]
jmp 0x1401364da
mov r12, qword [r15 + 0x18]
mov rdi, qword [r15 + 0x6a8]
mov rbp, qword [rdi + 0x20]
mov rcx, r12
call fcn.1400e6e60
mov r13, rax
add rdi, 0x400
mov eax, dword [0x1403a44f8]
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.14011a1b0
mov rdi, qword [rbp + 0x320]
mov rdx, qword [0x14039ab20]
mov r8d, 4
mov rcx, r12
call fcn.1400e0c10
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x38], r12
mov rcx, r12
call fcn.1400e7cc0
mov qword [rsp + 0xb8], rax
mov rcx, rdi
call fcn.1400e1410
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.140166950
cmp rax, 0xffffffffffffffff
je 0x1401361f5
mov rcx, qword [rsp + 0xc0]
mov rdx, qword [rcx + 8]
mov rdx, qword [rdx + rax*8 + 0x27]
mov rax, qword [0x14039ab20]
jmp 0x140136207
mov rax, qword [0x14039ab20]
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, [0x1402c4bf0]
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0xa0]
call fcn.140095ca0
lea rcx, [rsp + 0x88]
call fcn.1400f7920
mov rax, qword [r13 + 8]
cmp rax, qword [0x14039ab20]
jne 0x1401364da
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.1400e70b0
mov rbp, rax
mov qword [rsp + 0x88], rdi
lea rcx, [rsp + 0x90]
mov rdx, r14
mov r8, rdi
call fcn.140166bc0
test r14, r14
jle 0x14013634d
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.1400e70d0
mov rax, qword [rbp]
mov rcx, rbp
mov rdx, r13
mov r8, r15
call qword [rax + 0x358]
mov rdx, qword [rsp + 0x80]
mov rcx, rbp
call fcn.1400e70d0
mov rdx, qword [rbp + 8]
mov rcx, qword [rsp + 0x88]
call fcn.140140180
mov r12, rax
mov rdx, qword [rsp + 0x90]
inc rdx
lea rcx, [rsp + 0x90]
call fcn.1400e9110
mov rax, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa0]
mov qword [rcx + rax*8 - 8], r12
inc rdi
cmp r14, rdi
jne 0x1401362d0
mov rax, qword [rsp + 0x28]
mov rdx, qword [rax]
lea rcx, [rsp + 0xb0]
mov r8, qword [rsp + 0x48]
call fcn.14011a1b0
mov r12, qword [rsp + 0x40]
mov rdi, qword [r12 + 0x320]
mov rdx, qword [0x14039ab20]
mov r8d, 4
mov r15, qword [rsp + 0x38]
mov rcx, r15
call fcn.1400e0c10
mov qword [rsp + 0x60], rax
mov rcx, r15
call fcn.1400e7cc0
mov qword [rsp + 0x68], rax
mov rcx, rdi
call fcn.1400e1410
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.140166950
cmp rax, 0xffffffffffffffff
je 0x1401363f8
mov rcx, qword [rsp + 0x70]
mov rcx, qword [rcx + 8]
mov rcx, qword [rcx + rax*8 + 0x27]
mov rax, qword [0x14039ab20]
mov r15, qword [rsp + 0x30]
mov qword [r15 + 8], rcx
cmp rcx, rax
je 0x140136408
jmp 0x14013648a
mov rax, qword [0x14039ab20]
mov r15, qword [rsp + 0x30]
mov qword [r15 + 8], rax
test r14, r14
jle 0x14013643d
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.1400e1280
add rdi, 8
dec r14
jne 0x140136410
mov rax, qword [rbx + 8]
test al, 8
je 0x140136460
lea rcx, [rsp + 0x50]
mov rdx, rbx
mov r8d, 1
xor r9d, r9d
call fcn.140134380
mov rax, qword [rsp + 0x50]
mov qword [r15 + 8], rax
mov rcx, r15
call fcn.14013dee0
mov rax, qword [r15 + 8]
lock or qword [rax - 1], 2
lea rcx, [rsp + 0x60]
mov rdx, r15
call fcn.14013fa60
mov rax, qword [0x14039ab20]
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, [0x1402c4bf0]
mov qword [rsp + 0xb0], rax
mov rcx, qword [rsp + 0xc8]
call fcn.140095ca0
lea rcx, [rsp + 0xb0]
call fcn.1400f7920
mov rax, qword [r15 + 8]
mov qword [rsi], rax
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.140258ea0
mov rax, rsi
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret