Function at 0x1400235e0
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov r13, r8
mov r12, rdx
mov r15, rcx
mov dword [rbp + 0x90], 0
mov rax, qword gs:[0x30]
mov r10, qword [rax + 0x60]
mov rax, qword [r10 + 0x30]
mov qword [rsp + 0x30], rax
xorps xmm0, xmm0
movups xmmword [r8], xmm0
xorps xmm1, xmm1
movups xmmword [r9], xmm1
test rcx, rcx
je 0x1400238bb
cmp word [rcx], 0
je 0x1400238bb
mov rdi, 0xffffffffffffffff
mov rbx, rdi
nop dword [rax + rax]
inc rbx
cmp word [rcx + rbx*2], 0
jne 0x140023660
cmp rbx, 4
jbe 0x140023717
mov edx, 0x20f
lea rcx, [rbp - 0x20]
call fcn.1400111e0
mov rsi, rax
mov r14, qword [rax + 0x10]
mov rcx, rax
call fcn.140042b10
test al, al
je 0x140023699
xor ecx, ecx
jmp 0x1400236ab
mov rax, qword [rsi + 8]
lea rcx, [0x14025ad40]
test rax, rax
cmovne rcx, rax
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rcx
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x80]
call fcn.14008d7e0
nop
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x1400236e2
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400236e2
mov rcx, qword [rbp - 0x20]
call fcn.1402275a0
nop
mov r14d, 0xc1
mov dword [rbp + 0x90], r14d
lea rcx, [rbp - 0x80]
call fcn.140094620
mov rdx, rax
lea rcx, [r15 - 8]
lea rcx, [rcx + rbx*2]
mov r8d, 4
call fcn.14022ff20
test eax, eax
jne 0x14002371e
xor r13b, r13b
jmp 0x140023721
mov r14d, dword [rbp + 0x90]
mov r13b, 1
test r14b, 1
je 0x140023756
and r14d, 0xfffffffe
mov dword [rbp + 0x90], r14d
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x140023756
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x14002374f
mov rcx, qword [rbp - 0x80]
call fcn.1402275a0
mov r14d, dword [rbp + 0x90]
lea r12, [rbx + 4]
test r13b, r13b
cmove r12, rbx
inc r12
cmp r12, 0xffff
jb 0x140023782
mov ebx, 0xc0000033
mov r13, qword [rbp + 0xa0]
lea rsi, [r13 + 8]
jmp 0x140023af3
movzx eax, r12w
add ax, ax
movzx r8d, ax
mov rsi, qword [rbp + 0xa0]
mov word [rsi + 2], r8w
lea eax, [r8 - 2]
mov word [rsi], ax
xor edx, edx
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
add rsi, 8
mov qword [rsi], rax
test rax, rax
jne 0x1400237c5
mov r13, qword [rbp + 0xa0]
jmp 0x140023aee
test r13b, r13b
je 0x140023865
mov edx, 0x210
lea rcx, [rbp - 8]
call fcn.1400111e0
mov rbx, rax
mov r13, qword [rax + 0x10]
mov rcx, rax
call fcn.140042b10
test al, al
je 0x1400237f3
xor ecx, ecx
jmp 0x140023805
mov rax, qword [rbx + 8]
lea rcx, [0x14025ad40]
test rax, rax
cmovne rcx, rax
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x58], rcx
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x68]
call fcn.14008d7e0
or r14d, 0x300
mov dword [rbp + 0x90], r14d
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x14002384f
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140023848
mov rcx, qword [rbp - 8]
call fcn.1402275a0
mov r14d, dword [rbp + 0x90]
or r14d, 2
mov dword [rbp + 0x90], r14d
lea rcx, [rbp - 0x68]
call fcn.140094620
jmp 0x14002386c
lea rax, [0x14034d74c]
mov r9, r15
mov r8, rax
mov rdx, r12
mov rcx, qword [rsi]
call fcn.140023580
nop
test r14b, 2
je 0x1400238a1
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1400238a1
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400238a1
mov rcx, qword [rbp - 0x68]
call fcn.1402275a0
lea r14, [0x14025ad40]
mov r12, qword [rbp + 0x98]
mov r13, qword [rbp + 0xa0]
jmp 0x1400239af
mov r8d, 0x2a
mov dword [r13], 0x2a0028
xor edx, edx
mov rcx, rax
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
lea rsi, [r13 + 8]
mov qword [rsi], rax
test rax, rax
je 0x140023aee
call fcn.14021eb08
mov ebx, eax
call fcn.14021eb08
mov r15d, eax
shl rbx, 0x20
or r15, rbx
mov edx, 0x211
lea rcx, [rbp + 0x10]
call fcn.1400111e0
mov rbx, rax
mov rdi, qword [rax + 0x10]
mov rcx, rax
call fcn.140042b10
lea r14, [0x14025ad40]
test al, al
je 0x140023926
xor ecx, ecx
jmp 0x140023934
mov rax, qword [rbx + 8]
mov rcx, r14
test rax, rax
cmovne rcx, rax
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x68], rcx
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x50]
call fcn.14008d7e0
nop
mov rdi, 0xffffffffffffffff
mov rcx, qword [rbp + 0x10]
test rcx, rcx
je 0x140023972
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140023972
mov rcx, qword [rbp + 0x10]
call fcn.1402275a0
nop
lea rcx, [rbp - 0x50]
call fcn.140094620
movzx edx, word [r13 + 2]
shr rdx, 1
mov r9, r15
mov r8, rax
mov rcx, qword [rsi]
call fcn.140023580
nop
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x1400239af
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x1400239af
mov rcx, qword [rbp - 0x50]
call fcn.1402275a0
test r12, r12
je 0x140023ab8
cmp word [r12], 0
je 0x140023ab8
xor r14b, r14b
xor r15b, r15b
movzx edx, word [r13]
shr edx, 1
inc rdi
cmp word [r12 + rdi*2], 0
jne 0x1400239d1
lea ecx, [rdx + 1]
cmp rdi, rcx
jbe 0x140023a06
mov eax, edx
mov rcx, rdi
sub rcx, rax
lea rbx, [r12 + rcx*2]
mov rdx, qword [rsi]
mov rcx, rbx
call fcn.14022d8c8
test eax, eax
jne 0x140023a06
cmp word [rbx - 2], 0x5c
je 0x140023a2e
mov r14b, 1
movzx edx, word [r12 + rdi*2 - 2]
lea rcx, [rdi + 1]
cmp dx, 0x5c
cmove rcx, rdi
movzx edi, word [r13]
shr rdi, 1
add rdi, rcx
cmp dx, 0x5c
setne r15b
inc rdi
cmp rdi, 0xffff
jb 0x140023a44
mov ebx, 0xc0000033
jmp 0x140023af3
movzx eax, di
add ax, ax
movzx r8d, ax
mov rbx, qword [rbp + 0xa8]
mov word [rbx + 2], r8w
lea eax, [r8 - 2]
mov word [rbx], ax
xor edx, edx
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov qword [rbx + 8], rax
test rax, rax
je 0x140023aee
mov rcx, qword [rsi]
test r14b, r14b
je 0x140023a96
lea r8, [0x14034f4a0]
lea rdx, str._s_s
test r15b, r15b
cmovne rdx, r8
jmp 0x140023a9d
lea rdx, [0x14034d74c]
mov qword [rsp + 0x20], rcx
mov r9, r12
mov r8, rdx
mov rdx, rdi
mov rcx, rax
call fcn.140023580
jmp 0x140023bf9
movzx eax, word [r13]
add ax, 0x24
movzx r8d, ax
mov rbx, qword [rbp + 0xa8]
mov word [rbx + 2], r8w
lea eax, [r8 - 2]
mov word [rbx], ax
xor edx, edx
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov qword [rbx + 8], rax
test rax, rax
jne 0x140023b31
mov ebx, 0xc0000017
mov r8, qword [rsi]
xor edx, edx
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov r14, qword [rbp + 0xa8]
mov r8, qword [r14 + 8]
xor edx, edx
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
xorps xmm0, xmm0
movups xmmword [r13], xmm0
xorps xmm1, xmm1
movups xmmword [r14], xmm1
mov eax, ebx
jmp 0x140023bfb
mov r12, qword [rsi]
call fcn.14021eb08
mov ebx, eax
call fcn.14021eb08
mov esi, eax
shl rbx, 0x20
or rsi, rbx
mov edx, 0x212
lea rcx, [rbp + 0x28]
call fcn.1400111e0
mov rbx, rax
mov r15, qword [rax + 0x10]
mov rcx, rax
call fcn.140042b10
test al, al
je 0x140023b6f
xor r14d, r14d
jmp 0x140023b7a
mov rax, qword [rbx + 8]
test rax, rax
cmovne r14, rax
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], r14
lea rdx, [rsp + 0x70]
lea rcx, [rbp - 0x38]
call fcn.14008d7e0
nop
mov rcx, qword [rbp + 0x28]
test rcx, rcx
je 0x140023bb1
mov eax, edi
lock xadd dword [rcx], eax
cmp eax, 1
jne 0x140023bb1
mov rcx, qword [rbp + 0x28]
call fcn.1402275a0
nop
lea rcx, [rbp - 0x38]
call fcn.140094620
mov r14, qword [rbp + 0xa8]
movzx edx, word [r14 + 2]
shr rdx, 1
mov qword [rsp + 0x20], r12
mov r9, rsi
mov r8, rax
mov rcx, qword [r14 + 8]
call fcn.140023580
nop
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x140023bf9
lock xadd dword [rax], edi
cmp edi, 1
jne 0x140023bf9
mov rcx, qword [rbp - 0x38]
call fcn.1402275a0
xor eax, eax
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret