Function at 0x140007a9d
Capabilities:
Access peb ldr_data

Disassembly:
test rcx, rcx
je 0x14000836e
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x168]
sub rsp, 0x240
mov rax, qword [0x1400277a0]
xor rax, rsp
mov qword [rbp + 0x130], rax
mov rax, qword gs:[0x60]
mov rbx, rcx
mov edx, 0x1000
xorps xmm0, xmm0
xorps xmm1, xmm1
mov qword [rbp + 0x108], rdx
xor r13d, r13d
mov esi, 0x800
mov rcx, qword [rax + 0x30]
mov r8d, esi
mov rax, qword gs:[0x60]
mov r12d, r13d
mov qword [rbp + 0xf0], rcx
mov r14d, r13d
mov qword [rbp + 0xd8], rdx
lea edi, [r13 + 8]
movdqu xmmword [rbp + 0xf8], xmm0
mov rcx, qword [rax + 0x30]
mov rax, qword gs:[0x60]
mov qword [rbp + 0xc0], rcx
mov qword [rbp + 0xa8], rdx
movdqu xmmword [rbp + 0x110], xmm1
mov rcx, qword [rax + 0x30]
mov rax, qword gs:[0x60]
mov qword [rbp + 0x90], rcx
mov qword [rbp + 0x78], rdx
movdqu xmmword [rbp + 0xc8], xmm0
mov rcx, qword [rax + 0x30]
mov rax, qword gs:[0x60]
mov qword [rbp + 0x60], rcx
mov qword [rbp + 0x48], rdx
movdqu xmmword [rbp + 0xe0], xmm1
mov rcx, qword [rax + 0x30]
mov rax, qword gs:[0x60]
mov qword [rbp + 0x30], rcx
mov qword [rbp + 0x18], rdx
movdqu xmmword [rbp + 0x98], xmm0
mov rcx, qword [rax + 0x30]
mov rax, qword gs:[0x60]
mov qword [rbp], rcx
mov qword [rbp - 0x18], rdx
mov edx, edi
movdqu xmmword [rbp + 0xb0], xmm1
mov rcx, qword [rax + 0x30]
mov rax, qword gs:[0x60]
mov qword [rbp - 0x30], rcx
movdqu xmmword [rbp + 0x68], xmm0
mov qword [rbp - 0x78], r13
mov rcx, qword [rax + 0x30]
movdqu xmmword [rbp + 0x80], xmm1
mov dword [rbp - 0x70], r13d
movdqu xmmword [rbp + 0x38], xmm0
movdqu xmmword [rbp + 0x50], xmm1
movdqu xmmword [rbp + 8], xmm0
movdqu xmmword [rbp + 0x20], xmm1
movdqu xmmword [rbp - 0x28], xmm0
movdqu xmmword [rbp - 0x10], xmm1
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov r15, rax
test rax, rax
je 0x14000810e
mov rax, qword gs:[0x60]
mov r8d, esi
mov edx, edi
mov rcx, qword [rax + 0x30]
call qword [sym.imp.ntdll.dll_RtlAllocateHeap]
nop dword [rax + rax]
mov r14, rax
test rax, rax
je 0x14000810e
lea rcx, [rbx + 0x58]
mov dword [rsp + 0x78], r13d
call qword [sym.imp.ntdll.dll_RtlEnterCriticalSection]
nop dword [rax + rax]
mov ecx, dword [0x140028178]
lea r12d, [r13 + 1]
mov edx, ecx
mov dword [rsp + 0x70], r12d
inc ecx
mov dword [0x140028178], ecx
test edx, edx
jne 0x14000810e
cmp qword [rbx + 0x90], r13
je 0x14000810e
lea rcx, [rbp - 0x78]
call fcn.140007794
test eax, eax
js 0x14000810e
mov rdx, qword [rbx + 0x90]
mov dword [rbp - 0x80], r13d
test rdx, rdx
je 0x140007fe9
mov r9, rdx
mov r8d, r13d
mov rdi, r13
cmp r8, rdx
jae 0x140007ce8
mov rax, r8
mul qword [rbx + 0x88]
test rdx, rdx
jne 0x140007ce5
mov rcx, qword [rbx + 0xa8]
lea rdi, [rcx + rax]
cmp rdi, rcx
jae 0x140007ce8
mov rdi, r13
lea rax, [r9 - 1]
cmp r8, rax
lea rcx, [0x14001def0]
lea rdx, [0x14001ebb8]
lea rax, str.Simple
lea rsi, [0x14001ebb4]
cmove rsi, rcx
lea rcx, [0x14001ebbc]
cmove rcx, rdx
mov r8, rsi
movsxd rdx, dword [rdi]
mov qword [rbp - 0x68], rcx
lea rcx, [rbp + 0xf0]
mov rdx, qword [rax + rdx*8]
call fcn.1400072a0
test eax, eax
js 0x140008109
lea r13, [rdi + 8]
movups xmm1, xmmword [r13]
movd eax, xmm1
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rcx, xmm0
movzx edx, ax
test edx, edx
je 0x140007d7f
mov r8d, edx
mov al, byte [rcx]
sub al, 0x20
cmp al, 0x5e
ja 0x140007d73
cmp byte [rcx], 0x3b
je 0x140007d73
cmp byte [rcx], 0x22
jne 0x140007d76
mov byte [rcx], 0x5f
inc rcx
sub r8, 1
jne 0x140007d61
mov rdx, qword [rdi + 0x10]
lea rcx, [rbp]
mov r8, rsi
call fcn.1400072a0
test eax, eax
js 0x140008106
lea r12, [rdi + 0x18]
movups xmm1, xmmword [r12]
movd eax, xmm1
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rcx, xmm0
movzx edx, ax
test edx, edx
je 0x140007dda
mov r8d, edx
mov al, byte [rcx]
sub al, 0x20
cmp al, 0x5e
ja 0x140007dce
cmp byte [rcx], 0x3b
je 0x140007dce
cmp byte [rcx], 0x22
jne 0x140007dd1
mov byte [rcx], 0x5f
inc rcx
sub r8, 1
jne 0x140007dbc
mov rdx, qword [rdi + 0x20]
lea rcx, [rbp + 0xc0]
mov r8, rsi
call fcn.1400072a0
test eax, eax
js 0x140008106
mov r9d, dword [rdi + 0x44]
lea r8, [0x14001ebc0]
mov edx, 0x10
lea rcx, [rbp + 0x120]
call fcn.14001abc4
cmp eax, 0xffffffff
je 0x140008106
mov r8, rsi
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x90]
call fcn.1400072a0
test eax, eax
js 0x140008106
mov r9d, dword [rdi + 0x28]
lea r8, [0x14001ebc0]
mov edx, 0x10
lea rcx, [rbp + 0x120]
call fcn.14001abc4
cmp eax, 0xffffffff
je 0x140008106
mov r8, rsi
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x60]
call fcn.1400072a0
xor r8d, r8d
test eax, eax
js 0x140008106
cmp qword [rdi + 0x38], r8
je 0x140007f3f
movups xmm1, xmmword [rdi + 0x30]
movd eax, xmm1
movdqa xmm0, xmm1
psrldq xmm0, 8
movq rcx, xmm0
movzx edx, ax
test edx, edx
je 0x140007ec3
mov r8d, edx
mov al, byte [rcx]
sub al, 0x20
cmp al, 0x5e
ja 0x140007eb7
cmp byte [rcx], 0x3b
je 0x140007eb7
cmp byte [rcx], 0x22
jne 0x140007eba
mov byte [rcx], 0x5f
inc rcx
sub r8, 1
jne 0x140007ea5
xor edx, edx
mov r8d, 0x800
mov rcx, r14
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
movzx eax, word [rdi + 0x30]
lea r8, [rsp + 0x78]
mov r9, qword [rdi + 0x38]
mov edx, 0x800
mov rcx, r14
mov dword [rsp + 0x20], eax
call qword [sym.imp.ntdll.dll_RtlMultiByteToUnicodeN]
nop dword [rax + rax]
xor ecx, ecx
test eax, eax
js 0x140007f39
cmp dword [rsp + 0x78], 0x800
jae 0x140007f39
cmp dword [rbp - 0x70], ecx
jne 0x140007f24
lea rcx, [rbp - 0x78]
call fcn.140007794
xor ecx, ecx
cmp dword [rbp - 0x70], ecx
jne 0x140007f24
mov eax, 0xc00000e5
jmp 0x140007f35
mov r8, qword [rbp - 0x78]
mov r9, r14
mov rcx, r15
call fcn.14000b3d4
xor ecx, ecx
test eax, eax
jns 0x140007f43
mov word [r15], cx
jmp 0x140007f43
mov word [r15], r8w
mov r8, qword [rbp - 0x68]
lea rcx, [rbp + 0x30]
mov rdx, r15
call fcn.14000750c
test eax, eax
js 0x140008106
mov r9d, dword [rdi + 0x40]
lea r8, [0x14001ebc0]
mov edx, 0x10
lea rcx, [rbp + 0x120]
call fcn.14001abc4
cmp eax, 0xffffffff
je 0x140008106
mov r8, rsi
lea rdx, [rbp + 0x120]
lea rcx, [rbp - 0x30]
call fcn.1400072a0
test eax, eax
js 0x140008106
test r13, r13
je 0x140007fa8
mov rcx, r13
call fcn.14000c0c8
xor r13d, r13d
test r12, r12
je 0x140007fb8
mov rcx, r12
call fcn.14000c0c8
lea rcx, [rdi + 0x30]
test rcx, rcx
je 0x140007fc6
call fcn.14000c0c8
mov eax, dword [rbp - 0x80]
mov rdx, qword [rbx + 0x90]
inc eax
mov r8d, eax
mov r9, rdx
mov dword [rbp - 0x80], eax
cmp r8, rdx
jb 0x140007cbe
mov r12d, dword [rsp + 0x70]
cmp dword [0x140027070], 5
jbe 0x1400080da
movabs r8, 0x200000000000
test qword [0x140027080], r8
je 0x1400080da
mov rax, qword [0x140027088]
and rax, r8
cmp rax, qword [0x140027088]
jne 0x1400080da
mov rax, qword [rbp - 8]
lea rdx, [0x140022661]
mov qword [rbp - 0x68], rax
mov rax, qword [rbp + 0x58]
mov qword [rbp - 0x80], rax
mov rax, qword [rbp + 0x88]
mov qword [rsp + 0x70], rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp - 0x60], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp - 0x58], rax
mov rax, qword [rbp + 0x118]
mov qword [rbp - 0x50], rax
mov rax, qword [rbp + 0x28]
mov qword [rbp - 0x48], rax
mov rax, qword [rbx + 0x40]
mov qword [rbp - 0x38], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x60], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x50], rax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x58]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x40], rbx
call fcn.140001238
mov rdx, qword [rbx + 0x90]
test rdx, rdx
je 0x14000810e
mov rax, qword [rbx + 0x88]
mul rdx
test rdx, rdx
jne 0x14000810e
mov rcx, qword [rbx + 0xa8]
mov r8, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov qword [rbx + 0x90], r13
jmp 0x14000810e
xor r13d, r13d
mov r12d, dword [rsp + 0x70]
mov rcx, qword [rbx + 0x90]
mov esi, r13d
test rcx, rcx
je 0x140008181
mov rax, r13
mov rdi, r13
cmp rax, rcx
jae 0x140008147
mul qword [rbx + 0x88]
test rdx, rdx
jne 0x140008144
mov rcx, qword [rbx + 0xa8]
lea rdi, [rcx + rax]
cmp rdi, rcx
jae 0x140008147
mov rdi, r13
lea rcx, [rdi + 8]
test rcx, rcx
je 0x140008155
call fcn.14000c0c8
lea rcx, [rdi + 0x18]
test rcx, rcx
je 0x140008163
call fcn.14000c0c8
lea rcx, [rdi + 0x30]
test rcx, rcx
je 0x140008171
call fcn.14000c0c8
mov rcx, qword [rbx + 0x90]
inc esi
mov eax, esi
cmp rax, rcx
jb 0x140008120
test r15, r15
je 0x1400081a4
mov rcx, qword gs:[0x60]
mov r8, r15
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
test r14, r14
je 0x1400081c7
mov rcx, qword gs:[0x60]
mov r8, r14
xor edx, edx
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
mov rcx, qword [rbx + 0x90]
test rcx, rcx
je 0x1400081f8
mov rax, qword [rbx + 0x88]
mul rcx
test rdx, rdx
jne 0x1400081f8
mov rcx, qword [rbx + 0xa8]
mov r8, rax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
mov qword [rbx + 0x90], r13
mov ecx, dword [0x7ffe0004]
mov eax, 0x7ffe0320
shl rcx, 0x20
mov rax, qword [rax]
shl rax, 8
mul rcx
mov qword [rbx + 0xe0], rdx
test r12d, r12d
je 0x140008234
dec dword [0x140028178]
lea rcx, [rbx + 0x58]
call qword [sym.imp.ntdll.dll_RtlLeaveCriticalSection]
nop dword [rax + rax]
mov rbx, qword [rbp - 0x78]
test rbx, rbx
je 0x14000826d
mov rcx, rbx
call fcn.14000ace0
lea rcx, [rbx + 0x30]
call fcn.14000ace0
mov rcx, qword gs:[0x60]
xor edx, edx
mov r8, qword [rbp - 0x78]
mov rcx, qword [rcx + 0x30]
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
mov r8, qword [rbp - 8]
test r8, r8
je 0x140008288
mov rcx, qword [rbp - 0x30]
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x28]
test r8, r8
je 0x1400082a3
mov rcx, qword [rbp]
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x58]
test r8, r8
je 0x1400082be
mov rcx, qword [rbp + 0x30]
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x88]
test r8, r8
je 0x1400082dc
mov rcx, qword [rbp + 0x60]
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0xb8]
test r8, r8
je 0x1400082fd
mov rcx, qword [rbp + 0x90]
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0xe8]
test r8, r8
je 0x14000831e
mov rcx, qword [rbp + 0xc0]
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
mov r8, qword [rbp + 0x118]
test r8, r8
je 0x14000833f
mov rcx, qword [rbp + 0xf0]
xor edx, edx
call qword [sym.imp.ntdll.dll_RtlFreeHeap]
nop dword [rax + rax]
mov rcx, qword [rbp + 0x130]
xor rcx, rsp
call fcn.1400199f0
lea r11, [rsp + 0x240]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret