Function at 0x1400298c0
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x308
movaps xmmword [rsp + 0x2f0], xmm6
mov rax, qword [0x140145040]
xor rax, rsp
mov qword [rsp + 0x2e8], rax
movabs rdi, 0x7ffffffffffffff7
lea r15, [rsp + 0xe0]
mov ecx, 0x210
call fcn.1400b4d4c
mov rsi, rax
mov qword [r15], rax
lea rax, [rdi + 0x111]
mov qword [r15 + 0x10], rax
mov qword [r15 + 8], 0x104
mov r8d, 0x20a
mov rcx, rsi
xor edx, edx
call fcn.1400eb280
xor ecx, ecx
mov rdx, rsi
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x14002a22c
mov edi, eax
mov ebx, eax
cmp eax, 0x105
jae 0x140029a0b
mov qword [rsp + 0xe8], rbx
mov word [rsi + rbx*2], 0
mov rax, qword [rsp + 0xf0]
mov qword [rsp + 0x50], rax
movups xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rsp + 0x40], xmm0
mov ecx, 0xc0
call fcn.1400b4d4c
mov rsi, rax
add rax, 0x70
mov qword [rsi + 8], rax
lea rax, [0x14011fd68]
mov qword [rsi], rax
lea r13, [rsi + 0x10]
mov r8d, 0xb0
mov rcx, r13
xor edx, edx
call fcn.1400eb280
mov qword [rsi + 0x70], 0x50
lea rax, [0x140123876]
mov qword [rsi + 0x78], rax
movzx eax, byte [rsp + 0x57]
mov rbp, rax
test al, al
jns 0x1400299d9
mov rbp, qword [rsp + 0x48]
cmp rbp, 0x12
jbe 0x140029b5f
mov qword [rsp + 0x38], r13
lea rdi, [rsp + 0x40]
mov rbx, rdi
test al, al
jns 0x1400299f9
mov rbx, qword [rsp + 0x40]
add rbp, rbp
mov r13, rbx
neg r13
lea r15, str.Application
jmp 0x140029a66
mov r14, rbx
add r14, 0xfffffffffffffefc
je 0x140029968
cmp r14, 4
jae 0x14002a057
lea rcx, [rsi + 0x208]
add r14, r14
xor edx, edx
mov r8, r14
call fcn.1400eb280
cmp byte [rsp + 0xf7], 0
js 0x14002995a
jmp 0x14002a0ee
mov r14, qword [rsp + 0x40]
test eax, eax
je 0x140029a8d
add rbx, 0xfffffffffffffffe
add r13, 2
cmp r12, r14
je 0x140029b39
lea r12, [rbx + rbp]
add r12, 0xffffffffffffffe8
mov r8d, 0xc
mov rcx, r12
mov rdx, r15
call fcn.1400b5adc
movzx ecx, byte [rsp + 0x57]
mov r14, rdi
test cl, cl
jns 0x140029a51
jmp 0x140029a4c
lea rax, [rbx + rbp]
add rax, 0xffffffffffffffea
cmp rax, r14
je 0x140029b39
test cl, cl
jns 0x140029aa7
mov rcx, qword [rsp + 0x48]
lea rax, [rbx + rbp]
add rax, 0xffffffffffffffe6
lea rcx, [r14 + rcx*2]
mov rdx, rbp
sub rdx, rcx
cmp rdx, r13
movabs r12, 0x7ffffffffffffff7
je 0x140029ad9
cmp word [rbx + rbp], 0x5c
lea r15, [rsp + 0xe0]
je 0x140029ae1
jmp 0x140029b1b
lea r15, [rsp + 0xe0]
lea rcx, [rax + 2]
cmp rcx, r14
je 0x140029afe
lea rcx, [rax - 2]
cmp word [rax], 0x5c
mov rax, rcx
jne 0x140029ae1
add rcx, 4
mov r14, rcx
lea rdx, [0x140129660]
mov r8d, 7
mov rcx, r14
call fcn.1400b5adc
test eax, eax
je 0x140029fa0
xorps xmm0, xmm0
movaps xmmword [rsp + 0xe0], xmm0
mov qword [rsp + 0xf0], 0
mov r13, qword [rsp + 0x38]
jmp 0x140029b76
xorps xmm0, xmm0
movaps xmmword [rsp + 0xe0], xmm0
mov qword [rsp + 0xf0], 0
mov r13, qword [rsp + 0x38]
lea r15, [rsp + 0xe0]
jmp 0x140029b76
xorps xmm0, xmm0
movaps xmmword [rsp + 0xe0], xmm0
mov qword [rsp + 0xf0], 0
cmp byte [rsp + 0xf7], 0
js 0x140029b8a
lea rcx, [rsp + 0xe0]
jmp 0x140029b92
mov rcx, qword [rsp + 0xe0]
lea rdx, [0x140135f06]
call fcn.1400b5b24
cmp byte [rsp + 0xf7], 0
jns 0x140029bb5
mov rcx, qword [rsp + 0xe0]
call fcn.1400b4d44
lea r14, [rsp + 0xe0]
mov r8d, 0x208
mov rcx, r14
mov dl, 0xaa
call fcn.1400eb280
mov word [r14], 0
lea rcx, str.PROGRAMFILES
mov rdx, r14
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea ecx, [rax - 1]
cmp ecx, 0x102
ja 0x140029c2d
mov r14d, eax
cmp word [rsp + r14*2 + 0xde], 0x5c
je 0x14002a1ed
cmp byte [rsp + 0x57], 0
js 0x140029c15
lea rcx, [rsp + 0x40]
jmp 0x140029c1a
mov rcx, qword [rsp + 0x40]
mov rdx, r15
mov r8, r14
call fcn.1400b5adc
test eax, eax
je 0x14002a124
lea rdx, [rsp + 0xe0]
mov word [rdx], 0
lea rcx, str.PROGRAMFILES_X86_
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea ecx, [rax - 1]
cmp ecx, 0x102
ja 0x140029c91
mov r14d, eax
cmp word [rsp + r14*2 + 0xde], 0x5c
je 0x14002a1fb
cmp byte [rsp + 0x57], 0
js 0x140029c79
lea rcx, [rsp + 0x40]
jmp 0x140029c7e
mov rcx, qword [rsp + 0x40]
mov rdx, r15
mov r8, r14
call fcn.1400b5adc
test eax, eax
je 0x14002a167
lea rdx, [rsp + 0xe0]
mov word [rdx], 0
lea rcx, str.PROGRAMW6432
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea ecx, [rax - 1]
cmp ecx, 0x102
ja 0x140029d11
mov r14d, eax
cmp word [rsp + r14*2 + 0xde], 0x5c
je 0x14002a209
cmp byte [rsp + 0x57], 0
jns 0x140029cf9
mov rcx, qword [rsp + 0x40]
jmp 0x140029cfe
mov rax, qword [rsp + 0xb0]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [rsp + 0xa0]
movups xmmword [rdi], xmm0
jmp 0x140029e5b
lea rcx, [rsp + 0x40]
mov rdx, r15
mov r8, r14
call fcn.1400b5adc
test eax, eax
je 0x14002a1aa
xor ebx, ebx
lea rax, [0x140129670]
mov qword [rsi + 0x80], rax
mov byte [rsi + 0xb8], bl
movabs rdi, 0xaaaaaaaaaaaaaaaa
lea r14, [rsp + 0xc0]
mov qword [r14 + 0x10], rdi
movaps xmm0, xmmword [0x1401213c0]
movaps xmmword [r14], xmm0
lea rdx, [0x140135f06]
mov rcx, r14
call fcn.140023610
xor r15d, r15d
mov qword [rsp + 0xb0], r15
xorps xmm6, xmm6
movaps xmmword [rsp + 0xa0], xmm6
cmp byte [r14 + 0x17], 0
jns 0x140029d7c
mov r14, qword [rsp + 0xc0]
movzx eax, bl
mov ecx, 2
sub ecx, eax
lea rbx, [rsp + 0xa0]
mov qword [rsp + 0x20], rbx
lea r9, [0x1401237a0]
mov edx, 0x200
mov r8, r14
call fcn.1400334b0
mov qword [rsp + 0x90], r15
movaps xmmword [rsp + 0x80], xmm6
mov qword [rsp + 0x70], r15
movaps xmmword [rsp + 0x60], xmm6
mov qword [rsp + 0xf8], rdi
movaps xmmword [rsp + 0xe0], xmm6
movups xmmword [rsp + 0xed], xmm6
cmp byte [rsi + 0x27], 0
js 0x14002a0a9
xorps xmm0, xmm0
movups xmmword [r13], xmm0
mov qword [r13 + 0x10], 0
movzx eax, byte [rsi + 0x27]
test al, al
jns 0x140029e03
mov r13, qword [rsi + 0x10]
mov rax, qword [rsi + 0x18]
mov qword [rsi + 0x88], r13
mov qword [rsi + 0x90], rax
mov eax, dword [rsp + 0xf8]
mov dword [rsi + 0x98], eax
cmp eax, 1
jne 0x140029e6b
lea rdi, [rsi + 0x28]
cmp byte [rsi + 0x3f], 0
movzx r8d, byte [rsp + 0xb7]
js 0x14002a0ff
test r8b, r8b
jns 0x140029cdd
mov rdx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xa8]
mov rcx, rdi
call fcn.14000f2e0
cmp byte [rsi + 0x3f], 0
jns 0x140029e64
mov rdi, qword [rdi]
mov qword [rsi + 0xa0], rdi
mov al, byte [rsp + 0xfc]
mov byte [rsi + 0xb9], al
lea rdi, [rsi + 0x40]
cmp byte [rsi + 0x57], 0
js 0x14002a0c1
mov rax, qword [rsp + 0x90]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x80]
movups xmmword [rdi], xmm0
cmp byte [rsi + 0x57], 0
jns 0x140029ea6
mov rdi, qword [rdi]
mov qword [rsi + 0xa8], rdi
mov rdi, rsi
add rdi, 0x58
cmp byte [rsi + 0x6f], 0
js 0x14002a0d9
mov rax, qword [rsp + 0x70]
mov qword [rdi + 0x10], rax
movaps xmm0, xmmword [rsp + 0x60]
movups xmmword [rdi], xmm0
cmp byte [rsi + 0x6f], 0
jns 0x140029ed8
mov rdi, qword [rdi]
mov qword [rsi + 0xb0], rdi
cmp byte [rsp + 0xf7], 0
jns 0x140029ef6
mov rcx, qword [rsp + 0xe0]
call fcn.1400b4d44
cmp byte [rsp + 0x77], 0
jns 0x140029f07
mov rcx, qword [rsp + 0x60]
call fcn.1400b4d44
cmp byte [rsp + 0x97], 0
jns 0x140029f1e
mov rcx, qword [rsp + 0x80]
call fcn.1400b4d44
cmp byte [rsp + 0xb7], 0
jns 0x140029f35
mov rcx, qword [rsp + 0xa0]
call fcn.1400b4d44
cmp byte [rsp + 0xd7], 0
jns 0x140029f4c
mov rcx, qword [rsp + 0xc0]
call fcn.1400b4d44
mov rdi, qword [0x140157570]
test rdi, rdi
jne 0x14002a217
mov qword [0x140157570], rsi
cmp byte [rsp + 0x57], 0
jns 0x140029f74
mov rcx, qword [rsp + 0x40]
call fcn.1400b4d44
mov rcx, qword [rsp + 0x2e8]
xor rcx, rsp
call fcn.1400b7310
movaps xmm6, xmmword [rsp + 0x2f0]
add rsp, 0x308
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
sub rbp, r14
mov rbx, rbp
sub rbx, r13
add rbx, 0xffffffffffffffe8
sar rbx, 1
lea r15, [rbx - 7]
cmp r15, r12
ja 0x14002a24a
cmp r15, 0xb
jae 0x140029fe0
add rbp, 0xffffffffffffffda
lea r12, [rsp + 0xe0]
mov byte [r12 + 0x17], r15b
cmp rbp, r13
mov r13, qword [rsp + 0x38]
jne 0x14002a035
jmp 0x14002a04a
mov rax, r15
or rax, 3
lea rdi, [r12 + 5]
and rdi, r15
add rdi, 4
cmp rax, 0xb
cmovne rdi, rax
lea rcx, [rdi*2 + 2]
inc rdi
call fcn.1400b4d4c
mov rcx, r12
mov r12, rax
mov qword [rsp + 0xe0], rax
add rcx, 9
or rcx, rdi
mov qword [rsp + 0xf0], rcx
mov qword [rsp + 0xe8], r15
mov r13, qword [rsp + 0x38]
add r14, 0xe
add r15, r15
mov rcx, r12
mov rdx, r14
mov r8, r15
call fcn.1400eabe0
mov word [r12 + rbx*2 - 0xe], 0
jmp 0x140029b55
lea r8, [rbx - 0x107]
xorps xmm0, xmm0
movups xmmword [rsp + 0x28], xmm0
mov esi, 0x104
mov qword [rsp + 0x20], rsi
mov edx, 0x107
mov r9d, 0x104
mov rcx, r15
call fcn.140017900
mov qword [rsp + 0xe8], rsi
cmp byte [rsp + 0xf7], 0
mov rsi, r15
jns 0x140029a25
mov rsi, qword [rsp + 0xe0]
jmp 0x140029a25
lea rdx, [rsp + 0xe0]
mov rcx, r13
xor r8d, r8d
call fcn.14000f3a0
jmp 0x140029df3
lea rdx, [rsp + 0x80]
mov rcx, rdi
xor r8d, r8d
call fcn.14000f3a0
jmp 0x140029e9d
lea rdx, [rsp + 0x60]
mov rcx, rdi
xor r8d, r8d
call fcn.14000f3a0
jmp 0x140029ecf
and dil, 0x7f
mov byte [rsp + 0xf7], dil
jmp 0x140029962
test r8b, r8b
cmovs r8, qword [rsp + 0xa8]
cmovs rbx, qword [rsp + 0xa0]
mov rcx, rdi
mov rdx, rbx
call fcn.14000f3a0
jmp 0x140029e5b
movzx eax, byte [rsp + 0x57]
mov rcx, rax
test al, al
jns 0x14002a135
mov rcx, qword [rsp + 0x48]
mov bl, 1
cmp rcx, r14
je 0x140029d13
jb 0x14002a24d
test al, al
js 0x14002a151
lea rax, [rsp + 0x40]
jmp 0x14002a156
mov rax, qword [rsp + 0x40]
cmp word [rax + r14*2], 0x5c
jne 0x140029c2d
jmp 0x140029d13
movzx eax, byte [rsp + 0x57]
mov rcx, rax
test al, al
jns 0x14002a178
mov rcx, qword [rsp + 0x48]
mov bl, 1
cmp rcx, r14
je 0x140029d13
jb 0x14002a24d
test al, al
js 0x14002a194
lea rax, [rsp + 0x40]
jmp 0x14002a199
mov rax, qword [rsp + 0x40]
cmp word [rax + r14*2], 0x5c
jne 0x140029c91
jmp 0x140029d13
movzx eax, byte [rsp + 0x57]
mov rcx, rax
test al, al
jns 0x14002a1bb
mov rcx, qword [rsp + 0x48]
mov bl, 1
cmp rcx, r14
je 0x140029d13
jb 0x14002a24d
test al, al
js 0x14002a1d7
lea rax, [rsp + 0x40]
jmp 0x14002a1dc
mov rax, qword [rsp + 0x40]
cmp word [rax + r14*2], 0x5c
jne 0x140029d11
jmp 0x140029d13
dec r14
jne 0x140029bf7
jmp 0x140029c2d
dec r14
jne 0x140029c5b
jmp 0x140029c91
dec r14
jne 0x140029cbf
jmp 0x140029d11
mov rcx, rdi
call fcn.140106840
mov rcx, rdi
call fcn.1400b4d44
jmp 0x140029f5c
xorps xmm0, xmm0
movaps xmmword [rsp + 0x40], xmm0
mov qword [rsp + 0x50], 0
mov rcx, rsi
call fcn.1400b4d44
jmp 0x140029982
int3
int3