Function at 0x140012a30
Capabilities:
Check if file exists
Query or enumerate registry value

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x480
mov qword [rsp + 0xe8], 0xfffffffffffffffe
mov rax, qword [0x1400db348]
xor rax, rsp
mov qword [rsp + 0x470], rax
mov qword [rsp + 0xd8], r8
mov rbx, rdx
mov r12, rcx
mov qword [rsp + 0x50], rcx
mov r14, qword [rdx + 0xb0]
xor edi, edi
mov esi, edi
mov qword [rsp + 0xc8], rdi
lea rax, [rsp + 0x34]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x1400a5bf8]
mov rcx, r14
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
nop dword [rax + rax]
mov r15d, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140036dca
mov eax, dword [rsp + 0x34]
test eax, eax
je 0x140036de0
shr eax, 1
lea ecx, [rax + 1]
mov eax, 2
mul rcx
mov r13, 0xffffffffffffffff
cmovo rax, r13
mov rcx, rax
mov rax, qword [0x14009e360]
call qword [case.0x140024575.0]
mov rdi, rax
test rax, rax
je 0x140036deb
lea rax, [rsp + 0x34]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x1400a5bf8]
mov rcx, r14
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
nop dword [rax + rax]
mov r15d, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140036df6
mov eax, dword [rsp + 0x34]
shr rax, 1
xor r14d, r14d
mov word [rdi + rax*2], r14w
mov rsi, rdi
mov qword [rsp + 0xc8], rdi
xor edi, edi
mov dword [rsp + 0x30], edi
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
mov dword [rsp + 0xac], 4
mov rcx, qword [rbx + 0xb0]
test rcx, rcx
je 0x140036e30
lea rax, [rsp + 0xac]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xb0]
xor r8d, r8d
lea rdx, str.Include
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
nop dword [rax + rax]
test eax, eax
jne 0x14003730a
cmp dword [rsp + 0xb0], 4
jne 0x14003730a
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
mov dword [rsp + 0xb4], 4
mov rcx, qword [rbx + 0xb0]
test rcx, rcx
je 0x140036e3a
lea rax, [rsp + 0xb4]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x9c]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xb8]
xor r8d, r8d
lea rdx, str.Suppress
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
nop dword [rax + rax]
test eax, eax
jne 0x1400372e3
cmp dword [rsp + 0xb8], 4
jne 0x1400372e3
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
mov dword [rsp + 0xbc], 4
mov rcx, qword [rbx + 0xb0]
test rcx, rcx
je 0x140036e44
lea rax, [rsp + 0xbc]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x98]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0xc0]
xor r8d, r8d
lea rdx, str.Default
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
nop dword [rax + rax]
test eax, eax
jne 0x1400372e3
cmp dword [rsp + 0xc0], 4
jne 0x1400372e3
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
mov dword [rsp + 0x80], 4
mov rcx, qword [rbx + 0xb0]
test rcx, rcx
je 0x140036e4e
lea rax, [rsp + 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x84]
xor r8d, r8d
lea rdx, str.Policy
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
nop dword [rax + rax]
test eax, eax
jne 0x140036e55
cmp dword [rsp + 0x84], 4
jne 0x140036e55
mov edi, dword [rsp + 0x88]
mov dword [rsp + 0x58], edi
xor edi, edi
mov dword [rsp + 0x5c], edi
xor ecx, ecx
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
mov dword [rsp + 0x8c], 4
mov rcx, qword [rbx + 0xb0]
test rcx, rcx
je 0x140036e7d
lea rax, [rsp + 0x8c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x94]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x90]
xor r8d, r8d
lea rdx, str.NoContent
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
nop dword [rax + rax]
test eax, eax
jne 0x140036e84
cmp dword [rsp + 0x90], 4
jne 0x140036e84
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x5c], eax
mov rax, qword [0x1400dc610]
lea rcx, [0x1400dc610]
mov rax, qword [rax + 0x18]
call qword [case.0x140024575.0]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x40], rbx
test rsi, rsi
je 0x140036f06
cmp rsi, 0x10000
jb 0x140036eb9
mov rdi, r13
inc rdi
cmp word [rsi + rdi*2], 0
jne 0x140012e04
test edi, edi
je 0x140036f06
mov r12d, dword [rbx - 0x10]
mov r14, rsi
sub r14, rbx
sar r14, 1
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140012e45
mov edx, edi
lea rcx, [rsp + 0x40]
call fcn.140013aa0
mov rbx, qword [rsp + 0x40]
movsxd rax, edi
lea r15, [rax + rax]
mov r9, r15
mov rdx, r15
mov rcx, rbx
cmp r14, r12
jbe 0x140036ee6
mov r8, rsi
call qword [sym.imp.msvcrt.dll_memcpy_s]
nop dword [rax + rax]
test edi, edi
js 0x140036efc
cmp edi, dword [rbx - 0xc]
jg 0x140036efc
mov dword [rbx - 0x10], edi
xor r14d, r14d
mov word [r15 + rbx], r14w
mov r12, qword [rsp + 0x50]
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0xa8], eax
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0xa4], eax
lea r15, [r12 + 8]
lea rdi, [rbx - 0x18]
mov r14, qword [r15]
sub r14, 0x18
cmp rdi, r14
je 0x140012f26
cmp dword [r14 + 0x10], 0
jl 0x140036fc5
mov rcx, qword [rdi]
cmp rcx, qword [r14]
jne 0x140036fc5
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x140024575.0]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x140036f56
cmp rax, qword [rdi]
jne 0x140036f56
lock inc dword [rdi + 0x10]
mov eax, r13d
lock xadd dword [r14 + 0x10], eax
sub eax, 1
jle 0x140036fac
lea rax, [rdi + 0x18]
mov qword [r15], rax
mov rbx, qword [rsp + 0x40]
xor r12d, r12d
mov dword [rsp + 0xf8], r12d
lea rax, [rsp + 0x120]
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], 0xc1
mov word [rsp + 0x120], r12w
lea rax, [0x14009b770]
mov qword [rsp + 0x108], rax
lea rax, [0x14009b730]
mov qword [rsp + 0xf0], rax
mov rcx, qword [0x1400dbe80]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140024575.0]
nop
mov rax, qword [rsp + 0x108]
mov r9d, 0xffffffff
xor r8d, r8d
mov rdx, rbx
lea rcx, [rsp + 0x108]
mov rax, qword [rax + 0x20]
call qword [case.0x140024575.0]
mov r14d, r12d
mov dword [rsp + 0x60], r12d
mov edi, dword [rsp + 0x11c]
mov dword [rsp + 0x64], edi
lea r15, [rsp + 0x108]
mov qword [rsp + 0x68], r15
test edi, edi
je 0x140013018
mov ecx, r14d
mov rax, qword [r15 + 8]
movzx ecx, word [rax + rcx*2]
call qword [sym.imp.msvcrt.dll_iswspace]
nop dword [rax + rax]
test eax, eax
jne 0x140036fda
test edi, edi
je 0x140013018
lea ecx, [rdi - 1]
add ecx, r14d
mov rax, qword [r15 + 8]
movzx ecx, word [rax + rcx*2]
call qword [sym.imp.msvcrt.dll_iswspace]
nop dword [rax + rax]
test eax, eax
jne 0x140036ffc
cmp edi, dword [rsp + 0x11c]
jne 0x14003702d
mov qword [rsp + 0x2aa], 0
mov qword [rsp + 0x2b2], 0
mov dword [rsp + 0x2ba], 0
mov dword [rsp + 0x2c0], 0
mov eax, 0x7f
mov word [rsp + 0x2be], ax
lea rcx, [rsp + 0xf0]
call fcn.140013bd0
test byte [rsp + 0x2be], 2
je 0x14003707f
lea rcx, [rsp + 0xf0]
call fcn.140013bd0
movzx edi, word [rsp + 0x2ac]
movzx r8d, word [rsp + 0x2aa]
lea rdx, [r8 + rdi]
cmp rdx, r8
jb 0x14001347f
mov eax, dword [rsp + 0x11c]
cmp rdx, rax
ja 0x140037125
mov dword [rsp + 0x70], r8d
mov dword [rsp + 0x74], edi
lea rax, [rsp + 0x108]
mov qword [rsp + 0x78], rax
mov r12, qword [rsp + 0x78]
mov r15, qword [r12 + 8]
mov eax, dword [rsp + 0x70]
add rax, rax
mov qword [rsp + 0xd0], rax
add r15, rax
mov r14d, edi
cmp edi, 1
mov eax, 1
cmova r14d, eax
mov dword [rsp + 0x28], r14d
lea rcx, [0x1400a5c00]
mov qword [rsp + 0x20], rcx
mov r9d, edi
mov r8, r15
mov edx, eax
mov ecx, 0x800
call qword [sym.imp.api_ms_win_core_string_l1_1_0.dll_CompareStringW]
nop dword [rax + rax]
mov r8d, eax
cmp eax, 2
jne 0x140013466
movsxd rax, edi
cmp rax, 1
jae 0x14001313e
test edi, edi
jne 0x1400133db
lea rdx, str.LocalHost
mov rdi, r13
nop dword [rax + rax]
inc rdi
cmp word [rdx + rdi*2], 0
jne 0x140013150
mov r15, qword [rsp + 0x50]
mov rax, qword [r15 + 0x10]
test edi, edi
je 0x140037184
mov r12d, dword [rax - 0x10]
mov r14, rdx
sub r14, rax
sar r14, 1
mov ecx, 1
sub ecx, dword [rax - 8]
mov eax, dword [rax - 0xc]
sub eax, edi
or eax, ecx
jge 0x14001319b
mov edx, edi
lea rcx, [r15 + 0x10]
call fcn.140013aa0
lea rdx, str.LocalHost
mov rcx, qword [r15 + 0x10]
movsxd rax, edi
lea r15, [rax + rax]
mov r9, r15
cmp r14, r12
jbe 0x1400371d2
mov r8, rdx
mov rdx, r15
call qword [sym.imp.msvcrt.dll_memcpy_s]
nop dword [rax + rax]
test edi, edi
js 0x1400372c6
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx + 0x10]
cmp edi, dword [rax - 0xc]
jg 0x1400372c6
mov dword [rax - 0x10], edi
mov rax, qword [rcx + 0x10]
xor r14d, r14d
mov word [r15 + rax], r14w
lea rax, [0x14009b730]
mov qword [rsp + 0xf0], rax
mov dword [rsp + 0xf8], 0xc0000001
mov rcx, qword [0x1400dbe80]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x140024575.0]
lea rax, method.H.virtual_0
mov qword [rsp + 0xf0], rax
lea rax, [0x14009b770]
mov qword [rsp + 0x108], rax
mov rcx, qword [rsp + 0x110]
test rcx, rcx
je 0x140013257
lea rax, [rsp + 0x120]
cmp rcx, rax
jne 0x1400371eb
lea rax, method.H.virtual_0
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x50]
mov ecx, dword [rsp + 0xa4]
mov dword [rax + 0x18], ecx
mov ecx, dword [rsp + 0xa8]
mov dword [rax + 0x1c], ecx
mov r15d, 1
mov dword [rax + 0x20], r15d
mov ecx, dword [rsp + 0x38]
mov dword [rax + 0x24], ecx
mov qword [rax + 0x28], r15
mov ecx, dword [rsp + 0x58]
mov dword [rax + 0x30], ecx
mov ecx, dword [rsp + 0x5c]
mov dword [rax + 0x34], ecx
lea rdx, [rbx - 0x18]
mov eax, r13d
lock xadd dword [rdx + 0x10], eax
sub eax, r15d
jle 0x1400371fd
mov rax, qword [0x1400dc610]
lea rcx, [0x1400dc610]
mov rax, qword [rax + 0x18]
call qword [case.0x140024575.0]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x48], rbx
test rsi, rsi
je 0x140037260
cmp rsi, 0x10000
jb 0x140037213
mov rdi, r13
inc rdi
cmp word [rsi + rdi*2], 0
jne 0x1400132f1
test edi, edi
je 0x140037260
mov r12d, dword [rbx - 0x10]
mov r14, rsi
sub r14, rbx
sar r14, 1
sub r15d, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, r15d
jge 0x14001332f
mov edx, edi
lea rcx, [rsp + 0x48]
call fcn.140013aa0
mov rbx, qword [rsp + 0x48]
movsxd rax, edi
lea r15, [rax + rax]
mov r9, r15
mov rdx, r15
mov rcx, rbx
cmp r14, r12
jbe 0x140037240
mov r8, rsi
call qword [sym.imp.msvcrt.dll_memcpy_s]
nop dword [rax + rax]
test edi, edi
js 0x140037256
cmp edi, dword [rbx - 0xc]
jg 0x140037256
mov dword [rbx - 0x10], edi
xor eax, eax
mov word [r15 + rbx], ax
lea rdx, [rsp + 0x48]
mov rcx, qword [rsp + 0xd8]
call fcn.140013510
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], r13d
sub r13d, 1
jle 0x1400372b0
mov r15d, dword [rsp + 0x30]
test rsi, rsi
je 0x1400133b4
mov rcx, rsi
mov rax, qword [0x14009e368]
call qword [case.0x140024575.0]
nop
mov eax, r15d
mov rcx, qword [rsp + 0x470]
xor rcx, rsp
call fcn.14002a3c0
add rsp, 0x480
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
lea ecx, [rdi + 1]
mov eax, 2
mul rcx
cmovo rax, r13
mov rcx, rax
mov rax, qword [0x14009e360]
call qword [case.0x140024575.0]
mov r14, rax
test rax, rax
je 0x140037171
mov eax, edi
lea rdi, [rax + rax]
mov rdx, qword [rsp + 0xd0]
add rdx, qword [r12 + 8]
mov r8, rdi
mov rcx, r14
call sub.msvcrt.dll_memcpy
xor eax, eax
mov word [rdi + r14], ax
mov rax, r13
nop
inc rax
cmp word [r14 + rax*2], 0
jne 0x140013430
mov r8d, eax
mov rdx, r14
mov rcx, qword [rsp + 0x50]
add rcx, 0x10
call fcn.14001011c
nop
mov rcx, r14
mov rax, qword [0x14009e368]
call qword [case.0x140024575.0]
nop
jmp 0x1400131ed
sub r8d, 1
je 0x140013136
cmp r8d, 2
je 0x140013136
jmp 0x140037144
call fcn.14004c080
nop
int3
mov r13, 0xffffffffffffffff
jle 0x140036e22
movzx r15d, ax
or r15d, 0x80070000
jmp 0x140036e1d
mov r15d, 0x8000ffff
jmp 0x1400133b4
mov r15d, 0x8007000e
jmp 0x1400133b4
mov rcx, rdi
mov rax, qword [0x14009e368]
call qword [case.0x140024575.0]
nop
test r15d, r15d
jg 0x140036e10
xor edi, edi
jmp 0x140036e22
movzx r15d, r15w
or r15d, 0x80070000
xor edi, edi
mov dword [rsp + 0x30], r15d
test r15d, r15d
js 0x1400133b4
jmp 0x140012b5b
mov ecx, 6
jmp 0x14003730c
mov ecx, 6
jmp 0x1400372e5
mov ecx, 6
jmp 0x1400372e5
mov ecx, 6
jmp 0x140036e57
mov ecx, eax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
cmp eax, 2
jne 0x140036ea9
mov dword [rsp + 0x58], edi
jmp 0x140012d44
mov ecx, 6
jmp 0x140036e86
mov ecx, eax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
test eax, 0xfffffffd
je 0x140012dca
test eax, eax
jg 0x14003732f
mov r15d, eax
jmp 0x14001339e
movzx edi, si
mov ecx, edi
call fcn.1400500dc
test rax, rax
je 0x140012e8e
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.1400521e8
mov rbx, qword [rsp + 0x40]
jmp 0x140012e8e
lea r8, [rbx + r14*2]
call qword [sym.imp.msvcrt.dll_memmove_s]
nop dword [rax + rax]
nop
jmp 0x140012e6d
mov ecx, 0x80070057
call fcn.14004581c
lea rcx, [rbx - 0x18]
mov rdi, qword [rcx]
cmp dword [rcx + 8], 0
je 0x140012e8e
mov eax, dword [rcx + 0x10]
shr eax, 0x1f
test al, al
je 0x140036f33
xor edx, edx
lea rcx, [rsp + 0x40]
call fcn.140018f18
nop
jmp 0x140012e8e
call fcn.1400111b0
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x18]
call qword [case.0x140024575.0]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x40], rbx
jmp 0x140012e8e
lea r12, [rdi + 8]
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [r12]
mov rax, qword [rax]
call qword [case.0x140024575.0]
mov rdi, rax
test rax, rax
jne 0x140036f7d
call fcn.140054d5c
mov eax, dword [r12]
mov dword [rdi + 8], eax
mov eax, dword [r12]
inc eax
movsxd rdx, eax
add rdx, rdx
lea rcx, [rdi + 0x18]
mov r9, rdx
mov r8, rbx
call qword [sym.imp.msvcrt.dll_memcpy_s]
nop dword [rax + rax]
nop
jmp 0x140012f08
mov rcx, qword [r14]
mov rax, qword [rcx]
mov rdx, r14
mov rax, qword [rax + 8]
call qword [case.0x140024575.0]
nop
jmp 0x140012f1a
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
mov rcx, r15
call fcn.14001011c
nop
jmp 0x140012f26
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.140058a00
mov r15, qword [rsp + 0x68]
mov edi, dword [rsp + 0x64]
mov r14d, dword [rsp + 0x60]
jmp 0x140012fcf
lea eax, [rdi - 1]
cmp eax, edi
jbe 0x140037022
mov rcx, qword [rsp + 0x4b8]
mov r9d, 0xce
lea r8, [0x1400a8680]
mov edx, 0x3ca
call fcn.14004d254
mov edi, eax
mov dword [rsp + 0x64], eax
jmp 0x140012ff2
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x2d0]
call fcn.14000bfb8
nop
mov rax, qword [rsp + 0x108]
mov r9d, 0xffffffff
xor r8d, r8d
mov rdx, qword [rsp + 0x2d8]
lea rcx, [rsp + 0x108]
mov rax, qword [rax + 0x20]
call qword [case.0x140024575.0]
nop
lea rcx, [rsp + 0x2d0]
call fcn.1400146d8
nop
jmp 0x140013025
movzx ecx, word [rsp + 0x2aa]
movzx eax, word [rsp + 0x2ac]
add ecx, eax
movzx eax, word [rsp + 0x2b2]
cmp eax, ecx
jbe 0x14001307b
lea rcx, [rsp + 0xf0]
call fcn.140013dd0
cmp word [rsp + 0x2a8], 1
jne 0x1400370f5
lea rcx, [rsp + 0xf0]
call fcn.140013bd0
test byte [rsp + 0x2be], 2
jne 0x1400370f5
cmp dword [rsp + 0x2c4], 0x50
jne 0x1400370f5
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0xf0]
call fcn.140018a88
mov edi, dword [rsp + 0x74]
jmp 0x1400130cc
movzx r8d, word [rsp + 0x2aa]
movzx r9d, word [rsp + 0x2b2]
sub r9d, r8d
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x108]
call fcn.140015fd4
mov edi, dword [rsp + 0x74]
jmp 0x1400130cc
mov rcx, qword [rsp + 0x4b8]
mov r9d, 0xce
lea r8, [0x1400a8680]
mov edx, 0x44c
call fcn.14004d254
cmp edi, r14d
cmovl r14d, edi
movsxd r8, r14d
lea rdx, [0x1400a5c00]
mov rcx, r15
call qword [sym.imp.msvcrt.dll__wcsnicmp]
nop dword [rax + rax]
test eax, eax
jne 0x140013136
jmp 0x14001312d
lea rcx, [rsp + 0xf0]
call fcn.140018c54
nop
jmp 0x140013266
lea rcx, [rax - 0x18]
mov rdi, qword [rcx]
cmp dword [rcx + 8], 0
je 0x1400131ed
mov eax, dword [rcx + 0x10]
shr eax, 0x1f
test al, al
je 0x1400371b0
xor edx, edx
lea rcx, [r15 + 0x10]
call fcn.140018f18
nop
jmp 0x1400131ed
call fcn.1400111b0
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x18]
call qword [case.0x140024575.0]
add rax, 0x18
mov qword [r15 + 0x10], rax
jmp 0x1400131ed
lea r8, [rcx + r14*2]
mov rdx, r15
call qword [sym.imp.msvcrt.dll_memmove_s]
nop dword [rax + rax]
nop
jmp 0x1400131c4
call qword [sym.imp.msvcrt.dll_free]
nop dword [rax + rax]
nop
jmp 0x140013257
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140024575.0]
nop
jmp 0x1400132b7
movzx edi, si
mov ecx, edi
call fcn.1400500dc
test rax, rax
je 0x140013372
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x48]
call fcn.1400521e8
mov rbx, qword [rsp + 0x48]
jmp 0x140013372
lea r8, [rbx + r14*2]
call qword [sym.imp.msvcrt.dll_memmove_s]
nop dword [rax + rax]
nop
jmp 0x140013357
mov ecx, 0x80070057
call fcn.14004581c
lea rcx, [rbx - 0x18]
mov rdi, qword [rcx]
cmp dword [rcx + 8], 0
je 0x140013372
mov eax, dword [rcx + 0x10]
shr eax, 0x1f
test al, al
je 0x14003728d
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.140018f18
nop
jmp 0x140013372
call fcn.1400111b0
mov rax, qword [rdi]
mov rcx, rdi
mov rax, qword [rax + 0x18]
call qword [case.0x140024575.0]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x48], rbx
jmp 0x140013372
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x140024575.0]
nop
jmp 0x140013399
mov ecx, 0x80070057
call fcn.14004581c
nop
mov rsi, qword [rsp + 0xc8]
mov r15d, dword [rsp + 0x38]
jmp 0x14001339e
mov ecx, eax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov r15d, eax
test eax, eax
jle 0x14001339e
jmp 0x14003732f
mov ecx, eax
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
nop dword [rax + rax]
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
nop dword [rax + rax]
mov r15d, eax
test eax, eax
jle 0x14001339e
movzx r15d, ax
or r15d, 0x80070000
jmp 0x14001339e