Function at 0x140090704
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x158]
sub rsp, 0x258
mov rax, qword [0x1400ef0c8]
xor rax, rsp
mov qword [rbp + 0x140], rax
mov rsi, r9
mov r15, r8
mov qword [rbp - 0x40], r8
mov r13, rdx
mov r12, rcx
mov qword [rbp - 0x58], rcx
mov qword [rbp + 0x30], r8
xor edx, edx
mov dword [rsp + 0x60], edx
xorps xmm0, xmm0
movdqu xmmword [rbp], xmm0
mov qword [rbp + 0x10], rdx
mov qword [rsp + 0x70], rdx
test r13, r13
jne 0x140090a80
lea r8d, [rdx + 0x13]
mov rax, qword [r15]
cmp dword [rax - 8], r8d
cmovl r8d, dword [rax - 8]
mov rax, qword [0x1400ef018]
mov qword [rbp + 0x18], rax
mov dword [rsp + 0x60], 1
mov dword [rsp + 0x20], r13d
xor r9d, r9d
lea rdx, [rbp + 0x18]
mov rcx, r15
call fcn.14006cbf0
lea rdx, str.HKEY_LOCAL_MACHINE_
mov rbx, qword [rbp + 0x18]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
test eax, eax
sete dil
lea rcx, [rbx - 0xc]
or r14, 0xffffffffffffffff
cmp rcx, qword [0x1400ef010]
je 0x1400907de
mov eax, r14d
lock xadd dword [rcx], eax
add eax, r14d
test eax, eax
jg 0x1400907de
call fcn.1400b0a54
mov ebx, send
test dil, dil
je 0x1400907f4
mov rax, 0xffffffff80000002
jmp 0x140090877
mov rax, qword [r15]
cmp dword [rax - 8], ebx
cmovl ebx, dword [rax - 8]
mov rax, qword [0x1400ef018]
mov qword [rbp - 0x58], rax
mov dword [rsp + 0x60], 2
mov dword [rsp + 0x20], r13d
xor r9d, r9d
mov r8d, ebx
lea rdx, [rbp - 0x58]
mov rcx, r15
call fcn.14006cbf0
lea rdx, str.HKEY_CURRENT_USER_
mov rbx, qword [rbp - 0x58]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
test eax, eax
sete dil
lea rcx, [rbx - 0xc]
cmp rcx, qword [0x1400ef010]
je 0x140090862
mov eax, r14d
lock xadd dword [rcx], eax
add eax, r14d
test eax, eax
jg 0x140090862
call fcn.1400b0a54
test dil, dil
je 0x140090a42
mov ebx, send
mov rax, 0xffffffff80000001
mov qword [rsp + 0x70], rax
mov rax, qword [r15]
mov ecx, dword [rax - 8]
mov rax, qword [0x1400ef018]
mov qword [rbp - 0x38], rax
mov dword [rsp + 0x60], 4
mov eax, ecx
cmp ebx, ecx
cmovle eax, ebx
mov r8d, r13d
test ecx, ecx
cmovns r8d, eax
mov dword [rsp + 0x20], r13d
xor r9d, r9d
lea rdx, [rbp - 0x38]
mov rcx, r15
call fcn.14006cbf0
mov rdx, qword [rbp - 0x38]
lea rcx, [rbp]
call fcn.1400703ac
mov rdi, rax
lea r8d, [rbx + 1]
mov rcx, qword [r15]
mov r9d, dword [rcx - 8]
sub r9d, r8d
lea rdx, [rbp - 8]
mov rcx, r15
call fcn.14006eaa0
mov dword [rsp + 0x60], reloc.WS2_32.dll_inet_ntoa
lea rdx, [rbp - 8]
mov rcx, r15
call fcn.14006c8f4
nop
mov rcx, qword [rbp - 8]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x140090924
mov eax, r14d
lock xadd dword [rcx], eax
add eax, r14d
test eax, eax
jg 0x140090924
mov rcx, qword [rbp - 8]
add rcx, 0xfffffffffffffff4
call fcn.1400b0a54
mov rdx, rdi
mov rcx, rsi
call fcn.140025014
mov rbx, rax
test rax, rax
je 0x140090953
mov rax, qword [rax]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x140090953
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
jne 0x1400909bb
mov ecx, 0x90
call fcn.1400b0a08
mov qword [rbp - 0x60], rax
test rax, rax
je 0x14009097a
lea rdx, [0x1400ba8b8]
mov rcx, rax
call fcn.1400252a0
mov rbx, rax
jmp 0x14009097d
mov rbx, r13
mov rdx, rbx
mov rcx, rsi
call fcn.140024cf4
test rbx, rbx
je 0x1400909a6
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x1400909a6
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x1400909a9
mov rax, r13
mov r8, rdi
lea rdx, str.name
mov rcx, rax
call fcn.14002560c
lea rax, [rbp - 0x50]
mov qword [rbp - 0x60], rax
mov rdi, qword [r15]
cmp dword [rdi - 0xc], r13d
jl 0x1400909d6
mov qword [rbp - 0x50], rdi
lock inc dword [rdi - 0xc]
jmp 0x140090a03
mov rax, qword [0x1400ef018]
mov qword [rbp - 0x50], rax
test rdi, rdi
jne 0x1400909eb
mov eax, r13d
jmp 0x1400909f4
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rdi
mov edx, eax
lea rcx, [rbp - 0x50]
call fcn.14006b5e4
nop
test rbx, rbx
je 0x140090a21
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x140090a21
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x140090a24
mov rax, r13
mov r9, rax
lea r8, [rbp - 0x50]
mov rdx, qword [rsp + 0x70]
mov rcx, r12
call fcn.140090704
nop
mov rcx, qword [rbp - 0x38]
jmp 0x14009145e
lea rcx, [rbp]
call fcn.14006c87c
nop
mov rax, qword [r15]
add rax, 0xfffffffffffffff4
cmp rax, qword [0x1400ef010]
je 0x140090a76
mov ecx, r14d
lock xadd dword [rax], ecx
add ecx, r14d
test ecx, ecx
jg 0x140090a76
mov rcx, qword [r15]
sub rcx, 0xc
call fcn.1400b0a54
mov eax, 1
jmp 0x1400914b5
mov rcx, qword [r8]
or r14, 0xffffffffffffffff
cmp dword [rcx - 8], edx
jle 0x140090a9f
lea edx, [r14 + 0x5d]
call sub.VCRUNTIME140.dll_wcschr
mov rdi, rax
xor edx, edx
test rax, rax
jne 0x140090aa4
mov edi, r14d
jmp 0x140090aaa
sub rdi, qword [r15]
sar rdi, 1
mov rbx, qword [r15]
cmp dword [rbx - 0xc], edx
jl 0x140090abc
mov qword [rbp - 0x68], rbx
lock inc dword [rbx - 0xc]
jmp 0x140090ae9
mov rax, qword [0x1400ef018]
mov qword [rbp - 0x68], rax
test rbx, rbx
jne 0x140090ad0
mov eax, edx
jmp 0x140090ad9
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
lea rcx, [rbp - 0x68]
call fcn.14006b5e4
xor edx, edx
test edi, edi
jle 0x140090b5b
mov rax, qword [r15]
mov ecx, dword [rax - 8]
mov rax, qword [0x1400ef018]
mov qword [rbp - 0x30], rax
mov dword [rsp + 0x60], reloc.WS2_32.dll_recv
mov eax, ecx
cmp edi, ecx
cmovle eax, edi
mov r8d, edx
test ecx, ecx
cmovns r8d, eax
mov dword [rsp + 0x20], edx
xor r9d, r9d
lea rdx, [rbp - 0x30]
mov rcx, r15
call fcn.14006cbf0
lea rdx, [rbp - 0x30]
lea rcx, [rbp - 0x68]
call fcn.14006c8f4
nop
mov rcx, qword [rbp - 0x30]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x140090b5b
mov eax, r14d
lock xadd dword [rcx], eax
add eax, r14d
test eax, eax
jg 0x140090b5b
call fcn.1400b0a54
mov rdx, qword [rbp - 0x68]
lea rcx, [rbp]
call fcn.1400703ac
mov r12, rax
mov rdx, rax
mov rcx, rsi
call fcn.140025014
mov rbx, rax
test rax, rax
je 0x140090b9a
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x28]
test rax, rax
je 0x140090b9a
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
jne 0x140090c06
mov ecx, 0x90
call fcn.1400b0a08
mov qword [rbp - 0x60], rax
xor ecx, ecx
test rax, rax
je 0x140090bc3
lea rdx, [0x1400ba8b8]
mov rcx, rax
call fcn.1400252a0
mov rbx, rax
jmp 0x140090bc6
mov rbx, rcx
mov rdx, rbx
mov rcx, rsi
call fcn.140024cf4
xor esi, esi
test rbx, rbx
je 0x140090bf1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x140090bf1
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x140090bf4
mov rax, rsi
mov r8, r12
lea rdx, str.name
mov rcx, rax
call fcn.14002560c
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 0x80000000
xor r8d, r8d
mov rdx, qword [rbp - 0x68]
mov rcx, r13
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
xor r13d, r13d
test eax, eax
jne 0x1400913d7
test edi, edi
jle 0x140090d1b
lea r8d, [rdi + 1]
mov rax, qword [r15]
mov r9d, dword [rax - 8]
sub r9d, r8d
lea rdx, [rbp - 0x28]
mov rcx, r15
call fcn.14006eaa0
nop
lea rdx, [rbp - 0x28]
mov rcx, r15
call fcn.14006c8f4
nop
mov rcx, qword [rbp - 0x28]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x140090c8d
mov eax, r14d
lock xadd dword [rcx], eax
add eax, r14d
test eax, eax
jg 0x140090c8d
mov rcx, qword [rbp - 0x28]
add rcx, 0xfffffffffffffff4
call fcn.1400b0a54
lea rax, [rbp - 0x48]
mov qword [rbp - 0x60], rax
mov rdi, qword [r15]
cmp dword [rdi - 0xc], r13d
jl 0x140090ca8
mov qword [rbp - 0x48], rdi
lock inc dword [rdi - 0xc]
jmp 0x140090cd5
mov rax, qword [0x1400ef018]
mov qword [rbp - 0x48], rax
test rdi, rdi
jne 0x140090cbd
mov eax, r13d
jmp 0x140090cc6
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rdi
mov edx, eax
lea rcx, [rbp - 0x48]
call fcn.14006b5e4
nop
test rbx, rbx
je 0x140090cf3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x140090cf3
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x140090cf6
mov rax, r13
mov r9, rax
lea r8, [rbp - 0x48]
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rbp - 0x58]
call fcn.140090704
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x14009145a
mov dword [rsp + 0x7c], r13d
mov dword [rsp + 0x78], r13d
mov dword [rbp - 0x70], r13d
mov dword [rbp - 0x80], r13d
mov dword [rbp - 0x7c], r13d
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x50], r13
lea rax, [rbp - 0x7c]
mov qword [rsp + 0x48], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r13
lea rax, [rsp + 0x78]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x7c]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
jne 0x140090d0b
mov edi, r13d
cmp dword [rsp + 0x7c], r13d
jle 0x140090e59
mov r13, qword [rbp - 0x58]
xor r12d, r12d
mov ecx, dword [rsp + 0x78]
inc ecx
mov eax, 2
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.1400b0a4c
mov rsi, rax
mov ecx, dword [rsp + 0x78]
inc ecx
mov dword [rbp - 0x10], ecx
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rbp - 0x10]
mov r8, rax
mov edx, edi
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
test eax, eax
jne 0x140090e3e
lea rax, [rbp + 0x20]
mov qword [rbp - 0x60], rax
mov rdx, rsi
lea rcx, [rbp + 0x20]
call fcn.14006c728
mov r12, rax
xor r15d, r15d
test rbx, rbx
je 0x140090e25
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x28]
test rax, rax
je 0x140090e25
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x28]
jmp 0x140090e28
mov rax, r15
mov r9, rax
mov r8, r12
mov rdx, qword [rsp + 0x70]
mov rcx, r13
call fcn.140090704
xor r12d, r12d
mov rcx, rsi
call fcn.1400b0a54
inc edi
cmp edi, dword [rsp + 0x7c]
jl 0x140090d9b
mov r15, qword [rbp - 0x40]
xor r13d, r13d
mov r12d, r13d
mov dword [rbp - 0x74], r13d
cmp dword [rbp - 0x70], r13d
jle 0x140090d0b
xor esi, esi
mov ecx, dword [rbp - 0x80]
inc ecx
mov eax, 2
mul rcx
cmovo rax, r14
mov rcx, rax
call fcn.1400b0a4c
mov qword [rbp - 0x20], rax
mov ecx, dword [rbp - 0x7c]
call fcn.1400b0a4c
mov r13, rax
mov qword [rbp - 0x40], rax
mov ecx, dword [rbp - 0x80]
inc ecx
mov dword [rbp - 0xc], ecx
mov ecx, dword [rbp - 0x7c]
mov dword [rsp + 0x64], ecx
mov dword [rbp - 0x78], esi
lea rax, [rsp + 0x64]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r13
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0xc]
mov rsi, qword [rbp - 0x20]
mov r8, rsi
mov edx, r12d
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_RegEnumValueW]
xor edi, edi
test eax, eax
jne 0x1400911b1
test rbx, rbx
je 0x140090f09
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x140090f09
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
mov rdi, rax
mov rdx, rsi
lea rcx, [rbp]
call fcn.1400703ac
mov rdx, rax
mov rcx, rdi
call fcn.140025014
mov rdi, rax
xor esi, esi
test rax, rax
je 0x140090f46
mov rax, qword [rax]
mov rcx, rdi
call qword [rax + 0x28]
test rax, rax
je 0x140090f46
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
test rax, rax
jne 0x140090fa1
mov ecx, 0x90
call fcn.1400b0a08
mov qword [rbp + 0x38], rax
test rax, rax
je 0x140090f6d
lea rdx, [0x1400ba8bc]
mov rcx, rax
call fcn.1400252a0
mov rdi, rax
jmp 0x140090f70
mov rdi, rsi
test rbx, rbx
je 0x140090f8e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
test rax, rax
je 0x140090f8e
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
jmp 0x140090f91
mov rax, rsi
mov rdx, rdi
mov rcx, rax
call fcn.140024cf4
test rdi, rdi
je 0x140090fbb
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
test rax, rax
je 0x140090fbb
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
mov rsi, rax
mov rdx, qword [rbp - 0x20]
lea rcx, [rbp]
call fcn.1400703ac
mov r8, rax
lea rdx, str.name
mov rcx, rsi
call fcn.14002560c
mov esi, 0x80
mov r8d, esi
xor edx, edx
lea rcx, [rbp + 0xc0]
call sub.VCRUNTIME140.dll_memset
mov r9d, dword [rbp - 0x78]
cmp r9d, 3
jne 0x140091003
lea rsi, str.REG_BINARY
jmp 0x14009106b
cmp r9d, 4
jne 0x140091012
lea rsi, str.REG_DWORD
jmp 0x14009106b
cmp r9d, 2
jne 0x140091021
lea rsi, str.REG_EXPAND_SZ
jmp 0x14009106b
cmp r9d, 7
jne 0x140091030
lea rsi, str.REG_MULTI_SZ
jmp 0x14009106b
cmp r9d, 0xb
jne 0x14009103f
lea rsi, str.REG_QWORD
jmp 0x14009106b
cmp r9d, 1
jne 0x14009104e
lea rsi, str.REG_SZ
jmp 0x14009106b
lea r8, str.Unknown_type__0x_08x_
mov rdx, rsi
lea rcx, [rbp + 0xc0]
call fcn.140096fa4
lea rsi, [rbp + 0xc0]
xor eax, eax
test rdi, rdi
je 0x140091089
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
test rax, rax
je 0x140091089
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
mov r8, rsi
lea rdx, str.type
mov rcx, rax
call fcn.14002560c
mov ecx, dword [rbp - 0x78]
cmp ecx, 3
jne 0x1400911da
xor ecx, ecx
mov qword [rbp + 0x58], rcx
lea eax, [rcx + 0xf]
mov qword [rbp + 0x60], rax
mov byte [rbp + 0x48], cl
mov esi, ecx
cmp dword [rsp + 0x64], ecx
jle 0x140091133
mov r12, r13
movzx r9d, byte [r12]
lea r8, [0x1400ba938]
mov edx, 0xa
lea rcx, [rbp + 0x68]
call fcn.140096fa4
lea rcx, [rbp + 0x68]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r8, rax
lea rdx, [rbp + 0x68]
lea rcx, [rbp + 0x48]
call fcn.140070800
mov eax, dword [rsp + 0x64]
cmp esi, eax
jge 0x140091120
lea rcx, [0x1400d7508]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r8, rax
lea rdx, [0x1400d7508]
lea rcx, [rbp + 0x48]
call fcn.140070800
mov eax, dword [rsp + 0x64]
inc esi
inc r12
cmp esi, eax
jl 0x1400910c2
mov rax, qword [rbp + 0x60]
mov r12d, dword [rbp - 0x74]
xor ecx, ecx
lea rsi, [rbp + 0x48]
cmp rax, 0x10
cmovae rsi, qword [rbp + 0x48]
test rdi, rdi
je 0x140091160
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
xor ecx, ecx
test rax, rax
je 0x140091160
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
jmp 0x140091163
mov rax, rcx
mov r8, rsi
lea rdx, str.value
mov rcx, rax
call fcn.14002560c
nop
mov rdx, qword [rbp + 0x60]
cmp rdx, 0x10
jb 0x1400911b1
inc rdx
mov rcx, qword [rbp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400911ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400913d0
call fcn.1400b0a44
xor esi, esi
mov rcx, qword [rbp - 0x20]
call fcn.1400b0a54
mov rcx, r13
call fcn.1400b0a54
inc r12d
mov dword [rbp - 0x74], r12d
cmp r12d, dword [rbp - 0x70]
jge 0x140090d0b
jmp 0x140090e6c
cmp ecx, 4
jne 0x14009124f
lea esi, [rcx + 0x3c]
mov r8d, esi
xor edx, edx
lea rcx, [rbp + 0x80]
call sub.VCRUNTIME140.dll_memset
mov r9d, dword [r13]
mov dword [rsp + 0x20], r9d
lea r8, str.0x_08x___lu_
mov edx, esi
lea rcx, [rbp + 0x80]
call fcn.140096fa4
xor esi, esi
test rdi, rdi
je 0x140091231
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
test rax, rax
je 0x140091231
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
jmp 0x140091234
mov rax, rsi
lea r8, [rbp + 0x80]
lea rdx, str.value
mov rcx, rax
call fcn.14002560c
jmp 0x1400911b3
lea eax, [rcx - 1]
cmp eax, 1
jbe 0x14009137f
cmp ecx, 7
jne 0x1400911b1
xor esi, esi
mov r12d, esi
mov eax, esi
mov dword [rsp + 0x68], eax
cmp word [r13], si
jne 0x140091374
mov r8d, eax
sub r8d, r12d
movsxd rax, r12d
mov rcx, qword [rbp - 0x40]
lea rdx, [rcx + rax*2]
lea rcx, [rbp + 0x28]
call fcn.140073728
nop
mov rsi, qword [rbp + 0x28]
mov rdx, rsi
lea rcx, [rbp]
call fcn.1400703ac
mov qword [rbp - 0x60], rax
mov ecx, 0x90
call fcn.1400b0a08
mov qword [rbp + 0x40], rax
xor ecx, ecx
test rax, rax
je 0x1400912d4
lea rdx, [0x1400ba950]
mov rcx, rax
call fcn.1400252a0
mov r12, rax
xor ecx, ecx
jmp 0x1400912d7
mov r12, rcx
test rdi, rdi
je 0x1400912f7
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
xor ecx, ecx
test rax, rax
je 0x1400912f7
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x28]
jmp 0x1400912fa
mov rax, rcx
mov rdx, r12
mov rcx, rax
call fcn.140024cf4
xor eax, eax
test r12, r12
je 0x140091325
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x28]
test rax, rax
je 0x140091325
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x28]
mov r8, qword [rbp - 0x60]
lea rdx, str.value
mov rcx, rax
call fcn.14002560c
mov eax, dword [rsp + 0x68]
lea r12d, [rax + 1]
lea rcx, [rsi - 0xc]
xor esi, esi
cmp rcx, qword [0x1400ef010]
je 0x140091366
mov eax, r14d
lock xadd dword [rcx], eax
add eax, r14d
test eax, eax
jg 0x140091362
call fcn.1400b0a54
mov eax, dword [rsp + 0x68]
cmp word [r13], si
jne 0x140091374
cmp word [r13 + 2], si
je 0x1400913c3
inc eax
add r13, 2
jmp 0x14009126b
mov rdx, r13
lea rcx, [rbp]
call fcn.1400703ac
mov rsi, rax
xor eax, eax
test rdi, rdi
je 0x1400913ac
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x28]
test rax, rax
je 0x1400913ac
mov rdx, qword [rdi]
mov rcx, rdi
call qword [rdx + 0x28]
mov r8, rsi
lea rdx, str.value
mov rcx, rax
call fcn.14002560c
jmp 0x1400911b1
mov r13, qword [rbp - 0x40]
mov r12d, dword [rbp - 0x74]
jmp 0x1400911b3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, [rbp - 0x18]
call fcn.14006d500
nop
mov rdx, qword [rbp - 0x18]
lea rcx, [rbp]
call fcn.1400703ac
mov rdi, rax
test rbx, rbx
je 0x140091417
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x28]
test rax, rax
je 0x140091417
mov rdx, qword [rbx]
mov rcx, rbx
call qword [rdx + 0x28]
jmp 0x14009141a
mov rax, r13
mov r8, rdi
lea rdx, str.error
mov rcx, rax
call fcn.14002560c
nop
mov rcx, qword [rbp - 0x18]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x14009145a
mov eax, r14d
lock xadd dword [rcx], eax
add eax, r14d
test eax, eax
jg 0x14009145a
mov rcx, qword [rbp - 0x18]
add rcx, 0xfffffffffffffff4
call fcn.1400b0a54
nop
mov rcx, qword [rbp - 0x68]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x14009147f
mov eax, r14d
lock xadd dword [rcx], eax
add eax, r14d
test eax, eax
jg 0x14009147f
call fcn.1400b0a54
nop
lea rcx, [rbp]
call fcn.14006c87c
nop
mov rcx, qword [r15]
add rcx, 0xfffffffffffffff4
cmp rcx, qword [0x1400ef010]
je 0x1400914b3
mov eax, r14d
lock xadd dword [rcx], eax
add eax, r14d
test eax, eax
jg 0x1400914b3
mov rcx, qword [r15]
sub rcx, 0xc
call fcn.1400b0a54
xor eax, eax
mov rcx, qword [rbp + 0x140]
xor rcx, rsp
call fcn.1400b0f60
add rsp, 0x258
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret