Function at 0x407f10
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rax, qword [0x0059d2f8]
lea r12, [0x0059d2e0]
mov rdx, qword [0x0059d300]
sub rdx, rax
cmp rdx, 0x13
jbe 0x40854d
movabs rcx, 0x5f5443454c4c4f43
mov dword [rax + 0x10], 0x3d534e4f
mov r9d, dword [0x0059d164]
xor r14d, r14d
mov qword [rax], rcx
movabs rcx, 0x4954504f5f434347
mov qword [rax + 8], rcx
mov rax, qword [0x0059d2f8]
add rax, 0x14
test r9d, r9d
mov qword [0x0059d2f8], rax
jle 0x4085d4
nop dword [rax]
mov rcx, qword [0x0059d168]
lea rbp, [r14 + r14*2]
shl rbp, 3
add rcx, rbp
mov edx, dword [rcx + 0x10]
and edx, 0x14
cmp edx, 4
je 0x4080a0
mov rdx, qword [0x0059d300]
sub rdx, rax
cmp rdx, 1
jbe 0x4082fd
mov r8d, 0x2d27
mov word [rax], r8w
mov rax, qword [0x0059d2f8]
mov r13, qword [rcx]
lea rsi, [rax + 2]
mov qword [0x0059d2f8], rsi
jmp 0x408038
mov r8, rbx
mov rdx, r13
mov rcx, rsi
call sub.msvcrt.dll_memcpy
add rbx, qword [0x0059d2f8]
mov rax, qword [0x0059d300]
mov qword [0x0059d2f8], rbx
sub rax, rbx
cmp rax, 3
jbe 0x408080
mov dword [rbx], 0x27275c27
mov rax, qword [0x0059d2f8]
lea r13, [rdi + 1]
lea rsi, [rax + 4]
mov qword [0x0059d2f8], rsi
mov edx, 0x27
mov rcx, r13
call sub.msvcrt.dll_strchr
mov r15, qword [0x0059d300]
mov rdi, rax
sub r15, rsi
test rax, rax
je 0x4080e0
mov rbx, rdi
sub rbx, r13
cmp r15, rbx
jae 0x407ff0
mov rdx, rbx
mov rcx, r12
call fcn.0048a6a0
mov rsi, qword [0x0059d2f8]
jmp 0x407ff0
mov edx, 4
mov rcx, r12
call fcn.0048a6a0
mov rbx, qword [0x0059d2f8]
jmp 0x40801c
add r14, 1
cmp dword [0x0059d164], r14d
jle 0x408320
cmp rax, qword [0x0059d300]
je 0x40851b
mov byte [rax], 0x20
mov rax, qword [0x0059d2f8]
add rax, 1
mov qword [0x0059d2f8], rax
jmp 0x407f90
mov rcx, r13
call sub.msvcrt.dll_strlen
cmp r15, rax
mov rbx, rax
jb 0x4082e6
mov r8, rbx
mov rdx, r13
mov rcx, rsi
call sub.msvcrt.dll_memcpy
add rbx, qword [0x0059d2f8]
cmp rbx, qword [0x0059d300]
mov qword [0x0059d2f8], rbx
je 0x408502
mov rdx, qword [0x0059d168]
mov byte [rbx], 0x27
mov rax, qword [0x0059d2f8]
mov r13, qword [rdx + rbp + 8]
add rax, 1
mov qword [0x0059d2f8], rax
test r13, r13
je 0x4080a0
nop word [rax + rax]
cmp qword [r13], 0
mov rdx, qword [0x0059d300]
je 0x4080a0
sub rdx, rax
cmp rdx, 1
jbe 0x4082b0
mov edx, 0x2720
mov word [rax], dx
mov rax, qword [0x0059d2f8]
lea rsi, [rax + 2]
mov qword [0x0059d2f8], rsi
mov rbp, qword [r13]
jmp 0x4081d8
mov r8, rbx
mov rdx, rbp
mov rcx, rsi
call sub.msvcrt.dll_memcpy
add rbx, qword [0x0059d2f8]
mov rax, qword [0x0059d300]
mov qword [0x0059d2f8], rbx
sub rax, rbx
cmp rax, 3
jbe 0x408220
mov dword [rbx], 0x27275c27
mov rax, qword [0x0059d2f8]
lea rbp, [rdi + 1]
lea rsi, [rax + 4]
mov qword [0x0059d2f8], rsi
mov edx, 0x27
mov rcx, rbp
call sub.msvcrt.dll_strchr
mov r15, qword [0x0059d300]
mov rdi, rax
sub r15, rsi
test rax, rax
je 0x408240
mov rbx, rdi
sub rbx, rbp
cmp r15, rbx
jae 0x408190
mov rdx, rbx
mov rcx, r12
call fcn.0048a6a0
mov rsi, qword [0x0059d2f8]
jmp 0x408190
mov edx, 4
mov rcx, r12
call fcn.0048a6a0
mov rbx, qword [0x0059d2f8]
jmp 0x4081bc
mov rcx, rbp
call sub.msvcrt.dll_strlen
cmp r15, rax
mov rbx, rax
jb 0x408298
mov r8, rbx
mov rdx, rbp
mov rcx, rsi
call sub.msvcrt.dll_memcpy
add rbx, qword [0x0059d2f8]
cmp rbx, qword [0x0059d300]
mov qword [0x0059d2f8], rbx
je 0x4082d0
mov byte [rbx], 0x27
mov rax, qword [0x0059d2f8]
add r13, 8
add rax, 1
mov qword [0x0059d2f8], rax
jmp 0x408150
mov rdx, rax
mov rcx, r12
call fcn.0048a6a0
mov rsi, qword [0x0059d2f8]
jmp 0x408250
mov edx, 2
mov rcx, r12
call fcn.0048a6a0
mov rax, qword [0x0059d2f8]
jmp 0x40816f
mov edx, 1
mov rcx, r12
call fcn.0048a6a0
mov rbx, qword [0x0059d2f8]
jmp 0x408275
mov rdx, rax
mov rcx, r12
call fcn.0048a6a0
mov rsi, qword [0x0059d2f8]
jmp 0x4080f4
mov rcx, r12
mov edx, 2
call fcn.0048a6a0
mov rcx, qword [0x0059d168]
mov rax, qword [0x0059d2f8]
add rcx, rbp
jmp 0x407fc5
cmp qword [0x0059d3d8], 0
je 0x408477
cmp rax, qword [0x0059d300]
je 0x4085a2
mov byte [rax], 0x20
mov rax, qword [0x0059d2f8]
add rax, 1
mov qword [0x0059d2f8], rax
mov rdx, qword [0x0059d300]
sub rdx, rax
cmp rdx, 0xb
jbe 0x408572
mov dword [rax + 8], 0x27202772
mov r13, qword [0x0059d3d8]
movabs rcx, 0x6964706d75642d27
mov qword [rax], rcx
mov rax, qword [0x0059d2f8]
lea rsi, [rax + 0xc]
mov qword [0x0059d2f8], rsi
jmp 0x4083e4
mov r8, rbx
mov rdx, r13
mov rcx, rsi
call sub.msvcrt.dll_memcpy
add rbx, qword [0x0059d2f8]
mov rax, qword [0x0059d300]
mov qword [0x0059d2f8], rbx
sub rax, rbx
cmp rax, 3
jbe 0x408534
mov dword [rbx], 0x27275c27
mov rax, qword [0x0059d2f8]
lea r13, [rdi + 1]
lea rsi, [rax + 4]
mov qword [0x0059d2f8], rsi
mov edx, 0x27
mov rcx, r13
call sub.msvcrt.dll_strchr
mov rbp, qword [0x0059d300]
mov rdi, rax
sub rbp, rsi
test rax, rax
je 0x408425
mov rbx, rdi
sub rbx, r13
cmp rbp, rbx
jae 0x408398
mov rdx, rbx
mov rcx, r12
call fcn.0048a6a0
mov rsi, qword [0x0059d2f8]
jmp 0x408398
mov rcx, r13
call sub.msvcrt.dll_strlen
cmp rbp, rax
mov rbx, rax
jb 0x40858b
mov r8, rbx
mov rdx, r13
mov rcx, rsi
call sub.msvcrt.dll_memcpy
add rbx, qword [0x0059d2f8]
cmp rbx, qword [0x0059d300]
mov qword [0x0059d2f8], rbx
je 0x4085e7
mov byte [rbx], 0x27
mov rax, qword [0x0059d2f8]
add rax, 1
mov qword [0x0059d2f8], rax
cmp qword [0x0059d300], rax
je 0x4085bb
mov byte [rax], 0
mov rax, qword [0x0059d2f8]
mov rcx, qword [0x0059d2f0]
add rax, 1
cmp rax, rcx
je 0x408566
mov rdx, qword [0x0059d310]
mov r8, qword [0x0059d2e8]
add rax, rdx
not rdx
and rax, rdx
mov rdx, qword [0x0059d300]
mov r9, rax
sub r9, r8
mov r10, rdx
sub r10, r8
cmp r10, r9
cmovb rax, rdx
mov rdx, rcx
lea rcx, [0x0059d430]
movq xmm0, rax
punpcklqdq xmm0, xmm0
movaps xmmword [0x0059d2f0], xmm0
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.00407cb0
mov edx, 1
mov rcx, r12
call fcn.0048a6a0
mov rbx, qword [0x0059d2f8]
jmp 0x40811d
mov edx, 1
mov rcx, r12
call fcn.0048a6a0
mov rax, qword [0x0059d2f8]
jmp 0x4080be
mov edx, 4
mov rcx, r12
call fcn.0048a6a0
mov rbx, qword [0x0059d2f8]
jmp 0x4083c8
mov edx, 0x14
mov rcx, r12
call fcn.0048a6a0
mov rax, qword [0x0059d2f8]
jmp 0x407f42
or byte [0x0059d330], 2
jmp 0x4084a2
mov edx, 0xc
mov rcx, r12
call fcn.0048a6a0
mov rax, qword [0x0059d2f8]
jmp 0x408364
mov rdx, rax
mov rcx, r12
call fcn.0048a6a0
mov rsi, qword [0x0059d2f8]
jmp 0x408439
mov edx, 1
mov rcx, r12
call fcn.0048a6a0
mov rax, qword [0x0059d2f8]
jmp 0x40833b
mov edx, 1
mov rcx, r12
call fcn.0048a6a0
mov rax, qword [0x0059d2f8]
jmp 0x408484
cmp qword [0x0059d3d8], 0
jne 0x408350
jmp 0x408477
mov edx, 1
mov rcx, r12
call fcn.0048a6a0
mov rbx, qword [0x0059d2f8]
jmp 0x408462