Function at 0x140001500
Capabilities:
Query environment variable
Write file on windows

Disassembly:
push r14
mov eax, 0xa99b0
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.140002b00
sub rsp, rax
lea rax, [0x140009020]
mov r8d, 0xa9520
mov rsi, rcx
mov rcx, qword [str.7_v_]
mov qword [rsp + 0x30], rax
mov rdi, rdx
mov qword [rsp + 0x40], 0xa9520
lea rax, [0x140009010]
mov qword [rsp + 0x28], rax
lea r14, [rsp + 0x490]
lea rax, [rsp + 0x40]
mov r9, r14
mov qword [rsp + 0x20], rax
lea rdx, [0x14000a1e0]
call sym.sya_decrypt
cmp eax, 1
jne 0x14000184e
mov r8, qword [rsp + 0x40]
lea rax, [rsp + 0x48]
mov rdx, r14
mov qword [rsp + 0x48], 0x40
mov rcx, qword [section..data]
lea rbx, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9, rbx
call sym.sya_hash
cmp eax, 1
jne 0x14000188a
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x20
jne 0x14000189b
movabs rax, 0x5c2d703c342a19b1
cmp qword [rsp + 0x50], rax
je 0x140001688
lea rcx, str.hash_error_r_n
call sym.printf
mov rsi, qword [rsp + 0x48]
lea rdi, str._s:_n
lea rdx, str.current
mov rcx, rdi
call sym.printf
lea rbp, str._02X
lea r12, [rbx + rsi]
test rsi, rsi
je 0x140001620
movzx edx, byte [rbx]
mov rcx, rbp
add rbx, 1
call sym.printf
cmp r12, rbx
jne 0x140001608
nop dword [rax]
lea r12, [0x14000a078]
lea rbx, [0x1400b3700]
mov rcx, r12
call sym.printf
lea rdx, str.expected
mov rcx, rdi
call sym.printf
lea rsi, [rbx + 0x20]
movzx edx, byte [rbx]
mov rcx, rbp
add rbx, 1
call sym.printf
cmp rbx, rsi
jne 0x140001649
mov rcx, r12
call sym.printf
nop dword [rax]
mov r12d, 0xffffffff
mov eax, r12d
add rsp, 0xa99b0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
movabs rax, 0x5ef2678c12db47f2
cmp qword [rsp + 0x58], rax
jne 0x1400015d1
movabs rax, 0x39c58e7aba4028cf
cmp qword [rsp + 0x60], rax
jne 0x1400015d1
movabs rax, 0xeb0029633e43c06e
cmp qword [rsp + 0x68], rax
jne 0x1400015d1
lea rcx, str.TEMP
xor r12d, r12d
call sym.getenv
test rax, rax
mov r13, rax
jne 0x1400016ea
lea rcx, str.Error:_variable_not_found_n
call sym.printf
mov r9, r13
mov edx, 0x400
mov rcx, rsi
lea r8, str._s_syhex.hex
call sym.snprintf
lea rbp, [0x14000a096]
mov rcx, rsi
mov rdx, rbp
call sym.fopen
mov r8, qword [rsp + 0x40]
mov rcx, r14
mov edx, 1
mov rbx, rax
mov r9, rax
call sym.fwrite
mov rcx, rbx
mov r14, rax
call sym.fclose
mov r8, qword [rsp + 0x40]
cmp r8, r14
jne 0x140001876
mov rcx, rsi
xor ebx, ebx
call sym.strlen
test rax, rax
je 0x14000176b
nop dword [rax + rax]
cmp byte [rsi + rbx], 0x2f
je 0x140001830
add rbx, 1
cmp rbx, rax
jb 0x140001758
mov r9, r13
mov edx, 0x400
mov rcx, rdi
lea r8, str._s_syhex_config
call sym.snprintf
lea rbx, [rsp + 0x90]
mov rdx, rbp
mov rcx, rdi
call sym.fopen
mov r9, rsi
mov edx, 0x400
mov rcx, rbx
lea r8, str.reset_r_nerase_r_nloadfile__s_r_nr__r_nqc__r_n
mov rbp, rax
call sym.snprintf
mov rcx, rbx
call sym.strlen
mov r9, rbp
mov edx, 1
mov rcx, rbx
mov r8, rax
call sym.fwrite
mov rcx, rbp
mov rsi, rax
call sym.fclose
mov rcx, rbx
call sym.strlen
cmp rax, rsi
jne 0x14000185f
mov rcx, rdi
xor ebx, ebx
call sym.strlen
test rax, rax
je 0x14000166e
cmp byte [rdi + rbx], 0x2f
je 0x14000180e
add rbx, 1
cmp rbx, rax
jae 0x14000166e
cmp byte [rdi + rbx], 0x2f
jne 0x1400017fb
mov byte [rdi + rbx], 0x5c
mov rcx, rdi
add rbx, 1
call sym.strlen
cmp rbx, rax
jb 0x1400017f5
jmp 0x14000166e
mov byte [rsi + rbx], 0x5c
mov rcx, rsi
add rbx, 1
call sym.strlen
cmp rbx, rax
jb 0x140001758
jmp 0x14000176b
lea rcx, str.decrypt_error_r_n
call sym.printf
jmp 0x140001668
lea rcx, str.config_file_error:_w_zu__t_zu_r_n
mov r8, rax
mov rdx, rsi
call sym.printf
jmp 0x140001668
lea rcx, str.decoding_file_error:_w_zu__t_zu_r_n
mov rdx, r14
call sym.printf
jmp 0x140001668
lea rcx, str.cal_digest_error_r_n
call sym.printf
jmp 0x140001668
lea rcx, str.hash_len_error:__zu___zu_r_n
mov r8d, 0x20
call sym.printf
jmp 0x140001668