Function at 0x140045910
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x500]
sub rsp, 0x600
mov rax, qword [0x140091088]
xor rax, rsp
mov qword [rbp + 0x4f0], rax
mov r8d, 0x104
lea rdx, [rbp + 0xd0]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor r12d, r12d
mov qword [rsp + 0x78], r12
mov qword [rbp - 0x78], r12
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r12w
lea rax, [rbp + 0xd0]
mov rsi, 0xffffffffffffffff
mov r8, rsi
nop dword [rax]
inc r8
cmp word [rax + r8*2], r12w
jne 0x140045990
lea rdx, [rbp + 0xd0]
lea rcx, [rsp + 0x78]
call fcn.14004e600
nop
mov r9d, 0x104
lea r8, [rbp + 0xd0]
mov edx, 0x69
mov rcx, qword [0x140095900]
call qword [sym.imp.USER32.dll_LoadStringW]
test eax, eax
je 0x140045e27
mov r8d, 0x103
lea rdx, [rbp + 0x2e0]
lea rcx, [rbp + 0xd0]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r12w
lea rax, [rbp + 0x2e0]
mov r8, rsi
inc r8
cmp word [rax + r8*2], 0
jne 0x140045a10
lea rdx, [rbp + 0x2e0]
lea rcx, [rsp + 0x58]
call fcn.14004e600
nop
lea rdx, [rsp + 0x78]
mov r9, qword [rsp + 0x78]
mov r10, qword [rbp - 0x70]
cmp r10, 8
cmovae rdx, r9
mov r8, qword [rbp - 0x78]
test r8, r8
je 0x140045a7b
lea rcx, [r8 - 1]
mov rax, rsi
cmp rcx, rax
cmovb rax, rcx
lea rcx, [rdx + rax*2]
cmp word [rcx], 0x5c
je 0x140045a73
cmp rcx, rdx
je 0x140045a7b
sub rcx, 2
cmp word [rcx], 0x5c
jne 0x140045a64
sub rcx, rdx
sar rcx, 1
jmp 0x140045a7e
mov rcx, rsi
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], 7
mov word [rsp + 0x38], r12w
cmp r8, rcx
jb 0x140045e9f
sub r8, rcx
mov rbx, rsi
cmp r8, rbx
cmovb rbx, r8
lea rax, [rsp + 0x78]
cmp r10, 8
cmovae rax, r9
lea r15, [rax + rcx*2]
cmp rbx, 7
ja 0x140045aec
mov qword [rsp + 0x48], rbx
add rbx, rbx
mov r8, rbx
mov rdx, r15
lea rcx, [rsp + 0x38]
call fcn.140054a90
mov word [rsp + rbx + 0x38], r12w
mov rdi, qword [rsp + 0x38]
jmp 0x140045ba9
movabs r14, 0x7ffffffffffffffe
cmp rbx, r14
ja 0x140045ea5
mov rax, rbx
or rax, 7
cmp rax, r14
jbe 0x140045b14
mov rcx, 0xfffffffffffffffe
jmp 0x140045b46
mov r14, rax
mov ecx, 0xa
cmp rax, rcx
cmovb r14, rcx
lea rcx, [r14 + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x140045ebd
add rcx, rcx
cmp rcx, 0x1000
jb 0x140045b72
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140045ebd
mov rcx, rax
call fcn.140052828
test rax, rax
je 0x140045eb1
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140045b84
test rcx, rcx
je 0x140045b81
call fcn.140052828
mov rdi, rax
jmp 0x140045b84
mov rdi, r12
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], r14
add rbx, rbx
mov r8, rbx
mov rdx, r15
mov rcx, rdi
call fcn.140054a90
mov word [rbx + rdi], r12w
mov qword [rsp + 0x38], rdi
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x50]
mov rax, r8
sub rax, rdx
cmp rax, 4
jb 0x140045bef
lea rcx, [rdx + 4]
mov qword [rsp + 0x48], rcx
lea rax, [rsp + 0x38]
cmp r8, 8
cmovae rax, rdi
movabs r8, 0x6b0064006a002e
mov qword [rax + rdx*2], r8
mov word [rax + rcx*2], r12w
lea rax, [rsp + 0x38]
jmp 0x140045c0e
mov qword [rsp + 0x20], 4
lea r9, str..jdk
mov edx, 4
lea rcx, [rsp + 0x38]
call fcn.140050080
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x58], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
lea r9, [rbp - 0x68]
movq r14, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq r15, xmm0
cmp r15, 8
cmovae r9, r14
mov rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov rax, r8
sub rax, rcx
movq rdx, xmm1
cmp rdx, rax
ja 0x140045c95
lea rdi, [rdx + rcx]
mov qword [rsp + 0x68], rdi
lea rbx, [rsp + 0x58]
cmp r8, 8
cmovae rbx, qword [rsp + 0x58]
lea rcx, [rbx + rcx*2]
lea r8, [rdx + rdx]
mov rdx, r9
call fcn.140054a90
mov word [rbx + rdi*2], r12w
jmp 0x140045cac
mov qword [rsp + 0x20], rdx
lea rcx, [rsp + 0x58]
call fcn.140050080
mov r15, qword [rbp - 0x50]
mov r14, qword [rbp - 0x68]
cmp r15, 8
jb 0x140045ce8
lea rdx, [r15*2 + 2]
mov rax, r14
cmp rdx, 0x1000
jb 0x140045cdf
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045eab
mov rcx, r14
call fcn.140052820
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 8
jb 0x140045d2a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045d25
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045eb1
call fcn.140052820
lea rdx, [rsp + 0x58]
cmp qword [rsp + 0x70], 8
cmovae rdx, qword [rsp + 0x58]
lea r8, [0x140087d4c]
lea rcx, [rsp + 0x30]
call fcn.140058bb8
test eax, eax
jne 0x140045d72
mov r8, qword [rsp + 0x30]
mov edx, 0x104
lea rcx, [rbp - 0x40]
call fcn.14005cb78
test rax, rax
jne 0x140045dbc
mov rcx, qword [rsp + 0x30]
call fcn.140058cec
xor bl, bl
mov rdx, qword [rsp + 0x70]
cmp rdx, 8
jb 0x140045e29
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045db5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045eb7
call fcn.140052820
jmp 0x140045e29
lea rax, [rbp - 0x40]
lea rsi, [rsi + 1]
cmp byte [rax + rsi], 0
jne 0x140045dc0
lea rax, [rbp + rsi - 0x41]
lea rcx, [rbp - 0x40]
cmp rax, rcx
jb 0x140045e0c
cmp byte [rax], 0xa
jne 0x140045df0
mov byte [rax], 0
dec rax
lea rcx, [rbp - 0x40]
cmp rax, rcx
jb 0x140045e0c
nop dword [rax]
movzx ecx, byte [rax]
cmp cl, 0x20
je 0x140045dfd
cmp cl, 9
jne 0x140045e0c
mov byte [rax], 0
dec rax
lea rcx, [rbp - 0x40]
cmp rax, rcx
jae 0x140045df0
mov rcx, qword [rsp + 0x30]
call fcn.140058cec
lea rcx, [rbp - 0x40]
call fcn.140045710
movzx ebx, al
jmp 0x140045d74
xor bl, bl
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x140045e66
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140045e61
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140045e99
call fcn.140052820
movzx eax, bl
mov rcx, qword [rbp + 0x4f0]
xor rcx, rsp
call fcn.140052800
lea r11, [rsp + 0x600]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
call fcn.14005cf1c
nop
call fcn.14004efa0
nop
call fcn.1400441d0
nop
call fcn.14005cf1c
nop
call fcn.14005cf1c
nop
call fcn.14005cf1c
nop
call fcn.140044130
int3