Function at 0x14003b6d0
Capabilities:
Query environment variable

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xe0
mov qword [rbp - 0x31], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1400cfdf0]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r12, rdx
mov qword [rbp - 0x39], rdx
mov qword [rbp - 0x29], rdx
xor esi, esi
mov dword [rbp - 0x79], esi
call fcn.140015220
mov rdi, rax
test rax, rax
je 0x14003bbd2
mov rax, qword [rax]
mov rbx, qword [rax + 0x18]
mov rcx, rbx
call qword [fcn.14000dba0]
mov rcx, rdi
call rbx
lea rbx, [rax + 0x18]
mov qword [rbp - 0x71], rbx
lea rcx, [rbx - 0x18]
mov rdi, qword [rcx]
cmp dword [rcx + 8], esi
je 0x14003b78b
cmp dword [rcx + 0x10], esi
jge 0x14003b769
cmp dword [rbx - 0xc], esi
jl 0x14003bbdd
mov dword [rbx - 0x10], esi
mov word [rbx], si
jmp 0x14003b78b
call fcn.14001a8a0
mov rax, qword [rdi]
mov rbx, qword [rax + 0x18]
mov rcx, rbx
call qword [fcn.14000dba0]
mov rcx, rdi
call rbx
lea rbx, [rax + 0x18]
mov qword [rbp - 0x71], rbx
mov ecx, 0x400
call fcn.14004e500
mov r14, rax
mov qword [rbp - 0x41], rax
lea rdi, [fcn.14000fbd0]
mov qword [rsp + 0x20], rdi
lea r9, [0x14001f360]
mov edx, 8
mov r8d, edx
lea rcx, [rbp - 0x19]
call fcn.14004df5c
nop
mov r13, 0xffffffffffffffff
test r14, r14
je 0x14003bb49
mov r8d, 0x200
mov rdx, r14
lea rcx, str._USERPROFILE_
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov rax, r13
nop word [rax + rax]
inc rax
cmp word [r14 + rax*2], 0
jne 0x14003b7f0
mov r8d, eax
mov rdx, r14
lea rcx, [rbp - 0x71]
call fcn.14001b050
mov rbx, qword [rbp - 0x71]
lea r15, [rbx - 0x10]
mov qword [rbp - 0x51], r15
cmp dword [r15], 0
jle 0x14003bb41
mov dword [rbp - 0x75], esi
xor eax, eax
mov qword [rbp - 0x69], rax
lea r9, [rbp - 0x75]
lea r8, [0x14009a8f8]
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 0x71]
call fcn.140024010
nop
lea rdx, [rbp - 0x19]
nop word [rax + rax]
mov r12d, dword [rbp - 0x79]
mov rax, qword [rbp - 0x69]
movzx ecx, word [rax]
cmp cx, word [0x140097a34]
je 0x14003bb02
mov r14, rdx
add rdx, 8
mov qword [rbp - 0x49], rdx
lea rcx, [rax - 0x18]
mov rsi, qword [r14]
sub rsi, 0x18
cmp rcx, rsi
je 0x14003b8b9
cmp dword [rsi + 0x10], 0
jl 0x14003b8aa
mov rdx, qword [rsi]
cmp qword [rcx], rdx
jne 0x14003b8aa
call fcn.14001e050
mov rdi, rax
mov rcx, rsi
call fcn.14001a8a0
lea rax, [rdi + 0x18]
mov qword [r14], rax
jmp 0x14003b8b9
mov r8d, dword [rax - 0x10]
mov rdx, rax
mov rcx, r14
call fcn.14001b050
movsxd rsi, dword [rbp - 0x75]
test esi, esi
js 0x14003bbfb
lea rdi, [rbx + rsi*2]
movsxd rax, dword [r15]
lea r14, [rbx + rax*2]
cmp rdi, r14
jae 0x14003b9fa
lea rdx, [0x14009a8f8]
mov rcx, rdi
call fcn.140068790
mov r15, rax
cdqe
lea rcx, [rdi + rax*2]
cmp rcx, r14
jae 0x14003b9fa
lea rdx, [0x14009a8f8]
call fcn.140068428
mov rdx, rax
lea ecx, [r15 + rsi]
lea eax, [rcx + 1]
add eax, edx
mov dword [rbp - 0x75], eax
xor r9d, r9d
mov r15d, r9d
test ecx, ecx
cmovns r15d, ecx
mov r8d, r9d
test edx, edx
cmovns r8d, edx
mov ecx, 0x7fffffff
sub ecx, r15d
lea eax, [r15 + r8]
mov edx, dword [rbp - 0x61]
cmp ecx, r8d
cmovge edx, eax
mov dword [rbp - 0x61], edx
mov eax, 0x80070216
cmovge eax, r9d
jl 0x14003bbe8
mov rax, qword [rbp - 0x51]
mov eax, dword [rax]
cmp edx, eax
jle 0x14003b961
mov r8d, eax
sub r8d, r15d
mov r14d, r9d
cmp r15d, eax
cmovle r14d, r8d
test r15d, r15d
jne 0x14003b993
cmp r14d, eax
jne 0x14003b993
lea rcx, [rbx - 0x18]
call fcn.14001e050
lea rdx, [rax + 0x18]
mov qword [rbp - 0x59], rdx
or r12d, 6
mov dword [rbp - 0x79], r12d
jmp 0x14003ba6e
mov rsi, qword [rbx - 0x18]
test rsi, rsi
je 0x14003b9b9
mov rax, qword [rsi]
mov rdi, qword [rax + 0x20]
mov rcx, rdi
call qword [fcn.14000dba0]
mov rcx, rsi
call rdi
mov r9, rax
test rax, rax
jne 0x14003b9d9
call fcn.140015220
mov rsi, rax
mov rax, qword [rax]
mov rdi, qword [rax + 0x20]
mov rcx, rdi
call qword [fcn.14000dba0]
mov rcx, rsi
call rdi
mov r9, rax
movsxd rax, r15d
lea rdx, [rbx + rax*2]
mov r8d, r14d
lea rcx, [rbp - 0x59]
call fcn.140025d80
mov rdx, qword [rbp - 0x59]
or r12d, 6
mov dword [rbp - 0x79], r12d
jmp 0x14003ba6e
mov dword [rbp - 0x75], r13d
mov rdi, qword [rbx - 0x18]
test rdi, rdi
je 0x14003ba24
mov rax, qword [rdi]
mov rbx, qword [rax + 0x20]
mov rcx, rbx
call qword [fcn.14000dba0]
mov rcx, rdi
call rbx
mov rdi, rax
test rax, rax
jne 0x14003ba44
call fcn.140015220
mov rdi, rax
mov rax, qword [rax]
mov rbx, qword [rax + 0x20]
mov rcx, rbx
call qword [fcn.14000dba0]
mov rcx, rdi
call rbx
mov rdi, rax
test rdi, rdi
je 0x14003bbf0
mov rax, qword [rdi]
mov rbx, qword [rax + 0x18]
mov rcx, rbx
call qword [fcn.14000dba0]
mov rcx, rdi
call rbx
lea rdx, [rax + 0x18]
mov qword [rbp - 0x59], rdx
or dword [rbp - 0x79], 2
lea rsi, [rdx - 0x18]
mov rdi, qword [rbp - 0x69]
add rdi, 0xffffffffffffffe8
cmp rsi, rdi
je 0x14003bab8
cmp dword [rdi + 0x10], 0
jl 0x14003baaa
mov rax, qword [rdi]
cmp qword [rsi], rax
jne 0x14003baaa
mov rcx, rsi
call fcn.14001e050
mov rbx, rax
mov rcx, rdi
call fcn.14001a8a0
lea rax, [rbx + 0x18]
mov qword [rbp - 0x69], rax
jmp 0x14003bab8
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x69]
call fcn.14001b050
nop
mov eax, r13d
lock xadd dword [rsi + 0x10], eax
sub eax, 1
jle 0x14003bad6
mov rbx, qword [rbp - 0x71]
mov rdx, qword [rbp - 0x49]
mov r15, qword [rbp - 0x51]
jmp 0x14003b850
mov rdi, qword [rsi]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
mov rcx, rbx
call qword [fcn.14000dba0]
mov rdx, rsi
mov rcx, rdi
call rbx
mov rbx, qword [rbp - 0x71]
mov rdx, qword [rbp - 0x49]
mov r15, qword [rbp - 0x51]
jmp 0x14003b850
lea rsi, [rax - 0x18]
mov eax, r13d
lock xadd dword [rsi + 0x10], eax
sub eax, 1
jg 0x14003bb2e
mov rdi, qword [rsi]
mov rax, qword [rdi]
mov rbx, qword [rax + 8]
mov rcx, rbx
call qword [fcn.14000dba0]
mov rdx, rsi
mov rcx, rdi
call rbx
lea rdi, [fcn.14000fbd0]
mov r12, qword [rbp - 0x39]
mov r14, qword [rbp - 0x41]
mov rbx, qword [rbp - 0x71]
mov rcx, r14
call fcn.14004d92c
mov rcx, qword [rbp - 9]
add rcx, 0xffffffffffffffe8
call fcn.14001e050
add rax, 0x18
mov qword [r12], rax
or dword [rbp - 0x79], 1
mov r9, rdi
mov edx, 8
mov r8d, edx
lea rcx, [rbp - 0x19]
call fcn.14004d85c
nop
lea rsi, [rbx - 0x18]
lock xadd dword [rsi + 0x10], r13d
sub r13d, 1
jg 0x14003bba2
mov rdi, qword [rsi]
mov r8, qword [rdi]
mov rbx, qword [r8 + 8]
mov rcx, rbx
call qword [fcn.14000dba0]
mov rdx, rsi
mov rcx, rdi
call rbx
mov rax, r12
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14004e4a0
lea r11, [rsp + 0xe0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x80004005
call fcn.140012af0
nop
mov ecx, 0x80070057
call fcn.140012af0
nop
mov ecx, eax
call fcn.140012af0
int3
mov ecx, 0x80004005
call fcn.140012af0
int3
mov ecx, 0x80070057
call fcn.140012af0
int3