Function at 0x1400742a0
Capabilities:
Query environment variable

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov dword [rax + 0x20], r9d
mov qword [rax + 0x18], r8
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x250
mov r14, rcx
lea rbx, [0x14012e0b8]
mov rbp, r8
mov rcx, rbx
mov r13, rdx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov al, byte [r14 + 0xd]
mov sil, byte [rsp + 0x2b0]
xor edi, edi
cmp dword [rsp + 0x2a8], edi
setl r12b
and al, 0x11
mov byte [rsp + 0x41], al
mov byte [rsp + 0x40], r12b
cmp r12b, dil
jne 0x14007430d
test sil, 0x40
je 0x140074312
mov byte [rsp + 0x41], dil
mov eax, 0x50
lea rcx, [rsp + 0x80]
and sil, 1
mov rdx, rax
mov byte [rsp + 0x2b0], sil
mov qword [rsp + 0x90], rax
call fcn.14005fa8c
lea rax, [rsp + 0xa8]
lea r9, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x88]
lea r8, [rsp + 0x2a8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x98]
lea rcx, [rsp + 0xb0]
or r15d, 0xffffffff
mov rdx, rbp
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0x88], rdi
mov dword [rsp + 0x50], r15d
mov qword [rsp + 0xa8], rdi
call fcn.140068ee8
mov rdi, qword [rsp + 0x80]
mov bl, byte [rsp + 0x41]
xor r9d, r9d
mov rdx, qword [rsp + 0x48]
cmp rdx, qword [rsp + 0x98]
jae 0x140074de7
cmp word [r13], r9w
je 0x140074de7
lea rcx, [rsp + 0xb0]
call fcn.14006902c
mov r8d, 0x25
xor r9d, r9d
cmp word [r13], r8w
je 0x140074426
mov rdx, qword [rsp + 0x48]
mov ecx, 0x3dd
movzx eax, word [r13]
cmp ax, r9w
je 0x1400743b9
cmp r8w, ax
je 0x1400743b9
mov word [rdx], ax
mov rdx, qword [rsp + 0x48]
add r13, 2
add rdx, 2
sub ecx, 1
mov qword [rsp + 0x48], rdx
jns 0x1400743f9
jmp 0x1400743b9
mov rbp, r13
cmp sil, r9b
je 0x140074637
cmp word [r13 + 2], r8w
jne 0x140074459
mov rax, qword [rsp + 0x48]
mov word [rax], r8w
mov rdx, qword [rsp + 0x48]
add rdx, 2
add r13, 4
mov qword [rsp + 0x48], rdx
jmp 0x1400743b9
cmp word [r13 + 2], 0x23
jne 0x1400744b0
mov rcx, qword [r14 + 0x68]
add r13, 4
cmp rcx, r9
je 0x140074d6e
movsxd rax, dword [r14 + 0x60]
mov rcx, qword [rcx + rax*8 + 0x10]
movzx eax, word [rcx]
cmp ax, r9w
je 0x140074d6e
mov rdx, qword [rsp + 0x48]
mov word [rdx], ax
mov rdx, qword [rsp + 0x48]
add rcx, 2
add rdx, 2
mov qword [rsp + 0x48], rdx
mov ax, word [rcx]
cmp ax, r9w
jne 0x14007448d
jmp 0x1400743b9
cmp word [r13 + 2], 0x2a
jne 0x1400744cf
mov rbp, qword [r14 + 0x68]
add r13, 4
cmp rbp, r9
je 0x140074d6e
mov r15d, dword [r14 + 0x60]
jmp 0x1400744ef
cmp word [r13 + 2], 0x40
jne 0x14007450d
mov rbp, qword [r14 + 0x68]
add r13, 4
cmp rbp, r9
je 0x140074d6e
mov r15d, dword [r14 + 0x60]
inc r15d
movsxd rax, r15d
mov dword [rsp + 0x50], r15d
mov rbp, qword [rbp + rax*8]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd rsi, eax
jmp 0x1400745d0
movzx eax, word [r13 + 2]
mov r10d, 9
sub ax, 0x30
cmp ax, r10w
jbe 0x140074544
lea eax, [r10 + 0x75]
cmp word [r13 + 2], ax
jb 0x140074637
movzx eax, word [r13 + 4]
sub ax, 0x30
cmp ax, r10w
ja 0x140074637
mov eax, 0x7e
mov r12d, r9d
cmp word [r13 + 2], ax
jb 0x14007455a
mov r12d, r8d
add r13, 2
mov rbp, r9
add r13, 2
movzx eax, word [r13]
sub ax, 0x30
cmp ax, r10w
ja 0x140074581
movzx eax, word [r13]
lea rcx, [rbp + rbp*4]
lea rbp, [rax + rcx*2 - 0x30]
jmp 0x14007455d
movsxd rax, dword [r14 + 0x60]
cmp rbp, rax
jae 0x140074d69
mov rax, qword [r14 + 0x68]
cmp rax, r9
je 0x140074d69
mov rbp, qword [rax + rbp*8]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_lstrlenW]
xor ecx, ecx
movsxd rsi, eax
cmp r12d, ecx
je 0x1400745cb
cmp word [rbp], 0x22
jne 0x1400745cb
cmp word [rbp + rsi*2 - 2], 0x22
jne 0x1400745c4
dec rsi
dec rsi
add rbp, 2
mov r12b, byte [rsp + 0x40]
lea edx, [rsi + 2]
lea rcx, [rsp + 0xb0]
call fcn.140068f80
xor r9d, r9d
cmp r15d, r9d
jl 0x1400745fc
mov rax, qword [r14 + 0x68]
movsxd rcx, r15d
or r15d, 0xffffffff
mov rbp, qword [rax + rcx*8]
mov dword [rsp + 0x50], r15d
sub rsi, 1
js 0x140074d80
mov rdx, qword [rsp + 0x48]
movzx eax, word [rbp]
add rbp, 2
mov word [rdx], ax
mov rdx, qword [rsp + 0x48]
add rdx, 2
sub rsi, 1
mov qword [rsp + 0x48], rdx
jns 0x14007460b
mov sil, byte [rsp + 0x2b0]
jmp 0x1400743b9
add r13, 2
mov eax, 0x26
mov r15, r13
mov rsi, r13
cmp ax, word [r13]
jne 0x140074656
add rsi, 2
cmp ax, word [rsi]
je 0x14007464d
lea rdx, str.RANDOM_
mov r8d, 7
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
xor ecx, ecx
cmp eax, ecx
jne 0x140074689
call fcn.14005a4e4
movabs rcx, 0x7fffffffffffffff
and rax, rcx
xor r9d, r9d
jmp 0x1400746ae
lea rdx, str.__THIS_
mov r8d, 7
mov rcx, rsi
call qword [sym.imp.SHLWAPI.dll_StrCmpNIW]
xor r9d, r9d
cmp eax, r9d
jne 0x140074700
lea rax, [r14 + 0x75bd036]
lea rcx, [rsp + 0xe0]
mov rdx, rax
lea r13, [rsi + 0xe]
mov word [rsp + 0xe0], r9w
call fcn.1400d9370
lea rcx, [rsp + 0xe0]
xor ebp, ebp
mov word [rsp + 0x182], bp
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r15d, dword [rsp + 0x50]
movsxd rsi, eax
cmp rsi, 1
cmovl rsi, rbp
lea rbp, [rsp + 0xe0]
jmp 0x1400745d0
movzx eax, word [r13]
mov r8d, 0x25
cmp ax, r9w
je 0x14007474d
lea edi, [r8 - 0x1c]
cmp ax, r8w
je 0x140074745
cmp ax, 0x3d
je 0x140074745
cmp di, ax
ja 0x14007472c
cmp ax, 0xd
jbe 0x140074745
mov ecx, 0x20
cmp cx, ax
je 0x140074745
add r13, 2
mov ax, word [r13]
cmp ax, r9w
jne 0x140074715
mov rdi, qword [rsp + 0x80]
mov rsi, r13
mov rdx, r13
movsx eax, bl
sub rsi, rbp
mov qword [rsp + 0x68], rdx
mov byte [rsp + 0x41], r9b
sar rsi, 1
mov dword [rsp + 0x78], eax
mov qword [rsp + 0x58], rsi
cmp word [r13], r8w
je 0x1400747b9
lea edx, [rsi + 2]
lea rcx, [rsp + 0xb0]
call fcn.140068f80
sub rsi, 1
js 0x140074d94
mov rdx, qword [rsp + 0x48]
movzx eax, word [rbp]
add rbp, 2
mov word [rdx], ax
mov rdx, qword [rsp + 0x48]
add rdx, 2
sub rsi, 1
mov qword [rsp + 0x48], rdx
jns 0x140074795
jmp 0x140074dd2
cmp r12b, r9b
jne 0x140074801
mov eax, 0x26
cmp word [r15], ax
je 0x1400747d7
cmp bl, r9b
je 0x140074801
lea ecx, [rax + 0x38]
cmp cx, word [r15]
je 0x140074801
add r13, 2
mov r10, r15
mov qword [rsp + 0xa0], r15
cmp word [r15], ax
jne 0x140074993
add r15, 2
mov dword [rsp + 0x78], 1
jmp 0x140074993
mov eax, 0x5e
add r13, 2
cmp ax, word [r15]
jne 0x140074819
add r15, 2
mov byte [rsp + 0x41], 8
mov qword [rsp + 0xa0], r15
movabs rcx, 0x7fffffffffffffff
mov word [rdi], r9w
mov rax, r15
mov r14, r9
mov rbp, r9
mov qword [rsp + 0x60], r9
mov r12, rcx
mov qword [rsp + 0x70], rcx
cmp r15, rdx
jae 0x1400748e2
mov esi, 0x3a
cmp word [rax], r9w
je 0x1400748e2
cmp si, word [rax]
jne 0x14007486d
mov ecx, 0x7e
cmp cx, word [rax + 2]
je 0x140074878
add rax, 2
cmp rax, rdx
jae 0x1400748e2
jmp 0x140074853
mov r14, rax
mov word [rax], r9w
add rax, 4
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x58], rax
call fcn.140064048
mov r11, qword [rsp + 0x58]
mov eax, 0x2c
cmp ax, word [r11]
je 0x1400748b8
mov eax, 0x3b
cmp ax, word [r11]
je 0x1400748b8
cmp si, word [r11]
jne 0x1400748d5
add r11, 2
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x58], r11
call fcn.140064048
mov r12, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x60]
xor r9d, r9d
mov r8d, dword [rsp + 0x90]
mov word [rdx], r9w
mov rcx, r15
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
xor r9d, r9d
mov esi, eax
cmp rsi, r9
mov qword [rsp + 0x58], rsi
jle 0x14007494b
cmp word [rdi], r9w
jne 0x14007494b
lea edi, [rsi + 0x64]
lea rcx, [rsp + 0x80]
movsxd rdx, edi
mov qword [rsp + 0x90], rdi
call fcn.14005fb18
mov r8d, edi
mov rdi, qword [rsp + 0x80]
mov rdx, rdi
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
xor r9d, r9d
mov esi, eax
mov qword [rsp + 0x58], rsi
mov rdx, qword [rsp + 0x68]
mov r8d, 0x25
mov word [rdx], r8w
cmp r14, r9
jne 0x140074ce9
cmp word [rdi], r9w
jne 0x140074ce4
mov r12b, byte [rsp + 0x40]
cmp byte [rsp + 0x41], r9b
jne 0x140074d78
mov byte [rsp + 0x41], 1
cmp r12b, r9b
jne 0x140074d78
mov r10, qword [rsp + 0xa0]
movabs rax, 0x7fffffffffffffff
mov rbp, r10
mov r12, r9
mov r14, r9
mov qword [rsp + 0x60], r9
mov rsi, rax
mov qword [rsp + 0x70], rax
cmp r10, rdx
jae 0x140074b36
mov ecx, 0x3a
lea r11d, [rcx + 5]
movzx eax, word [rbp]
cmp ax, r9w
je 0x140074b36
cmp cx, ax
jne 0x1400749eb
mov r11d, 0x7e
cmp r11w, word [rbp + 2]
je 0x140074a04
mov r11d, 0x3f
add rbp, 2
cmp r11w, ax
je 0x140074ad2
cmp rbp, rdx
jae 0x140074b36
jmp 0x1400749c5
mov r14, qword [rsp + 0x290]
mov word [rbp], r9w
mov qword [rsp + 0x20], r9
or r9d, 0xffffffff
xor r8d, r8d
mov rdx, r10
mov rcx, r14
call fcn.140017c8c
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x58]
mov r12, rax
mov eax, 0x3a
mov word [rbp], ax
add rbp, 4
mov qword [rsp + 0x58], rbp
call fcn.140064048
mov r11, qword [rsp + 0x58]
mov eax, 0x2c
cmp ax, word [r11]
je 0x140074a72
mov eax, 0x3b
cmp ax, word [r11]
je 0x140074a72
mov eax, 0x3a
cmp ax, word [r11]
jne 0x140074a94
add r11, 2
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x58], r11
call fcn.140064048
mov r11, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x70]
movzx eax, word [r11]
xor r9d, r9d
cmp ax, r9w
je 0x140074abf
lea r8d, [r9 + 0x25]
cmp r8w, ax
je 0x140074abb
add r11, 2
mov ax, word [r11]
cmp ax, r9w
jne 0x140074aa5
jmp 0x140074abf
lea r13, [r11 + 2]
cmp r12, r9
jne 0x140074ba9
mov rdx, qword [rsp + 0x68]
jmp 0x140074b89
lea r12, [rbp - 2]
mov r14, r12
mov word [r12], r9w
jmp 0x140074ae9
add rbp, 2
cmp cx, ax
je 0x140074af5
movzx eax, word [rbp]
cmp ax, r9w
jne 0x140074ae0
jmp 0x140074af8
mov r14, rbp
cmp word [rdx], r9w
je 0x140074b36
cmp r8w, word [rdx + 2]
jne 0x140074b36
lea rax, [rdx + 4]
mov ecx, 0x64
cmp cx, word [rax]
jne 0x140074b36
jmp 0x140074b1f
cmp r8w, cx
je 0x140074b2a
add rax, 2
movzx ecx, word [rax]
cmp cx, r9w
jne 0x140074b15
jmp 0x140074b36
mov rdx, rax
mov qword [rsp + 0x68], rax
lea r13, [rax + 2]
mov rcx, qword [rsp + 0x290]
mov word [rdx], r9w
mov qword [rsp + 0x20], r9
or r9d, 0xffffffff
xor r8d, r8d
mov rdx, r10
call fcn.140017c8c
mov rdx, qword [rsp + 0x68]
xor r9d, r9d
mov ecx, 0x25
mov word [rdx], cx
cmp r12, r9
je 0x140074b78
lea ecx, [r9 + 0x3f]
mov word [r12], cx
add r12, 2
cmp rax, r9
jne 0x140074c4e
mov r14, qword [rsp + 0x290]
cmp dword [rsp + 0x78], r9d
jne 0x140074d8a
cmp byte [rsp + 0x41], r9b
jne 0x140074d8a
mov byte [rsp + 0x41], 1
jmp 0x140074821
mov rbp, qword [r12 + 8]
mov rax, qword [r12 + 0x18]
movabs rcx, 0x3fffffffffffffff
and rax, rcx
mov rcx, qword [rsp + 0x60]
mov rdx, rbp
cmp rcx, rax
lea r8, [rbp + rax*2]
cmovg rcx, rax
cmp rcx, r9
jl 0x140074c10
cmp rsi, r9
jl 0x140074c10
cmp rcx, r9
jle 0x140074c7b
lea rax, [rbp + rcx*2]
cmp rbp, rax
jae 0x140074c47
cmp word [rdx], r9w
je 0x140074c02
add rdx, 2
cmp rdx, rax
jb 0x140074bf1
jmp 0x140074c47
mov rcx, rdx
mov rsi, r9
sub rcx, rbp
sar rcx, 1
jmp 0x140074c47
cmp word [rbp], r9w
je 0x140074c26
cmp rdx, r8
jae 0x140074c26
add rdx, 2
cmp word [rdx], r9w
jne 0x140074c17
sub rdx, rbp
sar rdx, 1
cmp rcx, r9
jge 0x140074c38
add rcx, rdx
cmovs rcx, r9
cmp rsi, r9
jge 0x140074c47
sub rdx, rcx
add rsi, rdx
cmovs rsi, r9
lea rbp, [rbp + rcx*2]
jmp 0x140074c7b
lea r9, [rsp + 0x190]
lea rdx, [rsp + 0x58]
mov r8, r12
mov rcx, rax
mov qword [rsp + 0x20], r14
call fcn.140073fa8
mov rsi, qword [rsp + 0x58]
mov r14, qword [rsp + 0x290]
mov rbp, rax
lea edx, [rsi + 2]
lea rcx, [rsp + 0xb0]
call fcn.140068f80
xor r9d, r9d
sub rsi, 1
js 0x140074d8a
mov rdx, qword [rsp + 0x48]
movzx ecx, word [rbp]
add rbp, 2
mov word [rdx], cx
mov rdx, qword [rsp + 0x48]
add rdx, 2
mov qword [rsp + 0x48], rdx
cmp cx, r9w
je 0x140074cc4
sub rsi, 1
jns 0x140074c9d
jmp 0x140074ccd
sub rdx, 2
mov qword [rsp + 0x48], rdx
mov r15d, dword [rsp + 0x50]
mov sil, byte [rsp + 0x2b0]
mov r12b, byte [rsp + 0x40]
jmp 0x1400743b9
mov rbp, rdi
jmp 0x140074d40
cmp rbp, rsi
mov eax, 0x3a
cmovg rbp, rsi
cmp r12, rsi
mov word [r14], ax
cmovg r12, rsi
cmp rbp, r9
jge 0x140074d15
mov rax, rsi
neg rax
cmp rbp, rax
cmovl rbp, rax
add rbp, rsi
mov rax, rsi
sub rax, rbp
cmp r12, r9
jge 0x140074d2e
lea rsi, [rax + r12]
cmp rsi, r9
jge 0x140074d3c
mov rsi, r9
jmp 0x140074d3c
cmp rsi, rax
cmovg rsi, rax
cmp rsi, r12
cmovg rsi, r12
lea rbp, [rdi + rbp*2]
lea edx, [rsi + 2]
lea rcx, [rsp + 0xb0]
call fcn.140068f80
sub rsi, 1
jns 0x140074da1
mov r14, qword [rsp + 0x290]
mov sil, byte [rsp + 0x2b0]
xor r9d, r9d
mov r12b, byte [rsp + 0x40]
mov r15d, dword [rsp + 0x50]
jmp 0x1400743b4
mov r14, qword [rsp + 0x290]
mov sil, byte [rsp + 0x2b0]
jmp 0x140074d6e
mov sil, byte [rsp + 0x2b0]
jmp 0x140074d69
mov sil, byte [rsp + 0x2b0]
xor r9d, r9d
jmp 0x140074d6e
mov rdx, qword [rsp + 0x48]
movzx eax, word [rbp]
add rbp, 2
mov word [rdx], ax
mov rdx, qword [rsp + 0x48]
add rdx, 2
sub rsi, 1
mov qword [rsp + 0x48], rdx
jns 0x140074da6
mov r14, qword [rsp + 0x290]
mov r12b, byte [rsp + 0x40]
mov sil, byte [rsp + 0x2b0]
mov r15d, dword [rsp + 0x50]
xor r9d, r9d
jmp 0x1400743b9
mov rcx, qword [rsp + 0x2a0]
mov word [rdx], r9w
mov rdx, qword [rsp + 0x48]
sub rdx, qword [rsp + 0x88]
sar rdx, 1
add rdx, 2
call fcn.14005fb18
mov rdi, qword [rsp + 0x48]
lea rcx, [rsp + 0x80]
sub rdi, qword [rsp + 0x88]
sar rdi, 1
call fcn.140057768
lea rbx, [0x14012e0b8]
xor ecx, ecx
cmp rbx, rcx
je 0x140074e40
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, rdi
mov rbx, qword [rsp + 0x298]
add rsp, 0x250
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret