Function at 0x1400043d0
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rax, qword gs:[0x30]
xorps xmm0, xmm0
lea r12, [0x140073624]
xorps xmm1, xmm1
mov r15, r9
mov rsi, r8
mov r14, rdx
mov rbp, rcx
mov r10, qword [rax + 0x60]
mov rdi, 0xffffffffffffffff
movups xmmword [r9], xmm1
mov rax, qword [r10 + 0x30]
mov qword [rsp + 0x60], rax
movups xmmword [r8], xmm0
test rcx, rcx
je 0x1400044da
cmp word [rcx], 0
je 0x1400044da
xor r13b, r13b
mov rbx, rdi
inc rbx
cmp word [rcx + rbx*2], 0
jne 0x140004443
cmp rbx, 4
jbe 0x140004471
add rcx, 0xfffffffffffffff8
lea rdx, str..dll
mov r8d, 4
lea rcx, [rcx + rbx*2]
call fcn.14004f6b0
test eax, eax
je 0x140004478
add rbx, 4
mov r13b, 1
inc rbx
cmp rbx, 0xffff
jb 0x14000448e
mov ebx, 0xc0000033
jmp 0x14000464d
mov rcx, qword [rsp + 0x60]
movzx eax, bx
add ax, ax
xor edx, edx
movzx r8d, ax
mov word [rsi + 2], r8w
lea eax, [r8 - 2]
mov word [rsi], ax
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov qword [rsi + 8], rax
test rax, rax
je 0x140004648
lea rcx, str._s.dll
test r13b, r13b
mov r8, r12
mov r9, rbp
cmovne r8, rcx
mov rdx, rbx
mov rcx, rax
jmp 0x140004528
mov r8d, 0x2a
mov dword [rsi], 0x2a0028
xor edx, edx
mov rcx, rax
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov qword [rsi + 8], rax
test rax, rax
je 0x140004648
call fcn.140042da4
mov ebx, eax
call fcn.140042da4
movzx edx, word [rsi + 2]
lea r8, str._016llX.DLL
mov rcx, qword [rsi + 8]
mov r9d, ebx
shl r9, 0x20
mov eax, eax
or r9, rax
shr rdx, 1
call fcn.140004370
test r14, r14
je 0x14000461a
cmp word [r14], 0
je 0x14000461a
movzx edx, word [rsi]
xor bpl, bpl
xor r13b, r13b
shr edx, 1
nop dword [rax]
inc rdi
cmp word [r14 + rdi*2], 0
jne 0x140004550
lea ecx, [rdx + 1]
cmp rdi, rcx
jbe 0x140004586
mov eax, edx
mov rcx, rdi
mov rdx, qword [rsi + 8]
sub rcx, rax
lea rbx, [r14 + rcx*2]
mov rcx, rbx
call fcn.14004f88c
test eax, eax
jne 0x140004586
cmp word [rbx - 2], 0x5c
je 0x1400045a9
movzx ecx, word [r14 + rdi*2 - 2]
mov bpl, 1
cmp cx, 0x5c
je 0x140004598
inc rdi
movzx eax, word [rsi]
shr rax, 1
add rdi, rax
cmp cx, 0x5c
setne r13b
inc rdi
cmp rdi, 0xffff
jae 0x140004484
mov rcx, qword [rsp + 0x60]
movzx eax, di
add ax, ax
xor edx, edx
movzx r8d, ax
mov word [r15 + 2], r8w
lea eax, [r8 - 2]
mov word [r15], ax
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov qword [r15 + 8], rax
test rax, rax
je 0x140004648
test bpl, bpl
je 0x140004600
test r13b, r13b
lea rcx, [0x140079398]
lea r12, str._s_s
cmovne r12, rcx
mov rcx, qword [rsi + 8]
mov r9, r14
mov qword [rsp + 0x20], rcx
mov r8, r12
mov rcx, rax
mov rdx, rdi
jmp 0x1400046b4
movzx eax, word [rsi]
xor edx, edx
mov rcx, qword [rsp + 0x60]
add ax, 0x24
movzx r8d, ax
mov word [r15 + 2], r8w
lea eax, [r8 - 2]
mov word [r15], ax
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
mov qword [r15 + 8], rax
test rax, rax
jne 0x140004680
mov ebx, 0xc0000017
mov r8, qword [rsi + 8]
xor edx, edx
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
mov r8, qword [r15 + 8]
xor edx, edx
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
xorps xmm0, xmm0
xorps xmm1, xmm1
movups xmmword [rsi], xmm0
mov eax, ebx
movups xmmword [r15], xmm1
jmp 0x1400046bb
call fcn.140042da4
mov ebx, eax
call fcn.140042da4
movzx edx, word [r15 + 2]
lea r8, str._016llX_s
mov rcx, qword [r15 + 8]
mov r9d, ebx
shl r9, 0x20
mov eax, eax
or r9, rax
mov rax, qword [rsi + 8]
mov qword [rsp + 0x20], rax
shr rdx, 1
call fcn.140004370
xor eax, eax
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret