Function at 0x100405d70
Capabilities:
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
mov r15d, dword [0x1004191b0]
mov ebp, ecx
test r15d, r15d
jne 0x100406020
mov ebx, 0xff
lea rdi, str._proc_curproc_file
jmp 0x100405daf
mov rcx, rsi
add rbx, 0x100
call fcn.10040e3a0
lea rcx, [rbx + 1]
call sub.msys_gcrypt_20.dll_gcry_xmalloc
mov r8, rbx
mov rcx, rdi
mov rdx, rax
mov rsi, rax
call sub.msys_2.0.dll_readlink
test eax, eax
js 0x1004061b9
cdqe
cmp rax, rbx
jb 0x100406231
cmp rbx, 0xfff
jne 0x100405da0
mov byte [rsi], 0
lea r8, str.value_too_large
mov rdx, rdi
lea rcx, str.error_reading_symlink__s:__s_n
call sub.msys_gpg_error_0.dll_gpgrt_log_info
cmp byte [rsi], 0
je 0x10040623a
mov edx, 0x2f
mov rcx, rsi
call sub.msys_2.0.dll_strrchr
test rax, rax
je 0x10040623a
mov byte [rax], 0
mov edx, 0x2f
mov rcx, rsi
call sub.msys_2.0.dll_strrchr
test rax, rax
je 0x10040623a
mov byte [rax], 0
xor r8d, r8d
lea rdx, str._bin_gpgconf.ctl
mov rcx, rsi
call fcn.100403d90
mov rcx, rsi
mov rbx, rax
call fcn.10040e3a0
xor edx, edx
mov rcx, rbx
call fcn.100405620
test eax, eax
jne 0x100406272
lea rdx, [0x100413ee4]
mov rcx, rbx
call sub.msys_gpg_error_0.dll_gpgrt_fopen
mov rdi, rax
test rax, rax
je 0x100406253
lea rax, [rsp + 0x50]
mov qword [rsp + 0x48], rbx
lea r13, [rsp + 0x58]
mov qword [rsp + 0x50], 0
lea rsi, str._var_run
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0xb0], ebp
nop word [rax + rax]
mov rdx, qword [rsp + 0x28]
xor r9d, r9d
mov r8, r13
mov rcx, rdi
call sub.msys_gpg_error_0.dll_gpgrt_read_line
test rax, rax
jle 0x100405f78
sub rax, 1
jmp 0x100405f0d
mov byte [rdx], 0
sub rax, 1
jb 0x1004060e0
mov r8, qword [rsp + 0x50]
lea rdx, [r8 + rax]
movzx ecx, byte [rdx]
cmp cl, 0xa
je 0x100405f00
cmp cl, 0xd
je 0x100405f00
mov rcx, r8
lea rbp, str.rootdir
mov r12d, 7
call fcn.1004031d0
mov rbx, qword [rsp + 0x50]
mov r14, qword [rbp]
mov r8, r12
mov rcx, rbx
mov rdx, r14
call sub.msys_2.0.dll_strncmp
test eax, eax
je 0x100406054
add rbp, 8
cmp rsi, rbp
je 0x100405ed8
mov rcx, qword [rbp]
call sub.msys_2.0.dll_strlen
mov r12, rax
jmp 0x100405f3d
mov rcx, rdi
mov rbx, qword [rsp + 0x48]
mov ebp, dword [rsp + 0xb0]
call sub.msys_gpg_error_0.dll_gpgrt_ferror
test eax, eax
jne 0x10040627c
mov rcx, rdi
call sub.msys_gpg_error_0.dll_gpgrt_fclose
mov rcx, rbx
call fcn.10040e3a0
mov rcx, qword [rsp + 0x50]
call fcn.10040e3a0
test r15d, r15d
jne 0x100405fd7
mov rax, qword [rsp + 0x30]
test rax, rax
je 0x100405fc6
cmp byte [rax], 0x2f
je 0x1004062d8
mov rdx, qword [rsp + 0x30]
lea rcx, str.invalid_rootdir__s_specified_in_gpgconf.ctl_n
call sub.msys_gpg_error_0.dll_gpgrt_log_info
mov rcx, qword [rsp + 0x30]
call fcn.10040e3a0
mov rcx, qword [rsp + 0x38]
call fcn.10040e3a0
mov rcx, qword [rsp + 0x40]
call fcn.10040e3a0
mov qword [0x100419198], 0
mov qword [0x1004191a0], 0
mov qword [0x1004191a8], 0
mov dword [0x1004191b0], 1
cmp ebp, 1
je 0x100406160
mov rax, qword [0x1004191a8]
cmp ebp, 2
cmove rax, qword [0x100419198]
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
add r12, 1
movzx eax, byte [rbx + r12]
cmp al, 0x20
je 0x100406050
cmp al, 9
je 0x100406050
cmp al, 0x3d
jne 0x100405f57
lea r12, [rbx + r12 + 1]
mov rcx, r12
call fcn.1004031d0
mov rcx, r12
call fcn.100404550
mov r12, rax
test rax, rax
je 0x10040613c
lea rdx, str..enable
mov rcx, r14
call sub.msys_2.0.dll_strcmp
test eax, eax
je 0x1004060f0
lea rdx, str.sysconfdir
mov rcx, r14
call sub.msys_2.0.dll_strcmp
test eax, eax
je 0x100406128
lea rdx, str.socketdir
mov rcx, r14
call sub.msys_2.0.dll_strcmp
test eax, eax
jne 0x100406110
mov rcx, qword [rsp + 0x40]
call fcn.10040e3a0
mov qword [rsp + 0x40], r12
jmp 0x100405ed8
mov r8, qword [rsp + 0x50]
jmp 0x100405f23
mov rcx, r12
call sub.msys_2.0.dll_atoi
test eax, eax
je 0x10040616c
mov rcx, r12
call fcn.10040e3a0
jmp 0x100405ed8
mov rcx, qword [rsp + 0x30]
call fcn.10040e3a0
mov qword [rsp + 0x30], r12
jmp 0x100405ed8
mov rcx, qword [rsp + 0x38]
call fcn.10040e3a0
mov qword [rsp + 0x38], r12
jmp 0x100405ed8
call sub.msys_gpg_error_0.dll_gpg_err_code_from_syserror
movzx ecx, ax
call sub.msys_gpg_error_0.dll_gpg_strerror
mov rdx, r14
lea rcx, str.error_getting__s_from_gpgconf.ctl:__s_n
mov r8, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_info
jmp 0x100405ed8
mov rax, qword [0x1004191a0]
jmp 0x10040603b
lea rdx, [0x100413f2f]
mov rcx, r12
call fcn.100403900
test eax, eax
je 0x1004060fc
lea rdx, [0x100413f33]
mov rcx, r12
call fcn.100403900
test eax, eax
je 0x1004060fc
lea rdx, str.fact
mov rcx, r12
call fcn.100403900
test eax, eax
mov eax, 1
cmovne r15d, eax
jmp 0x1004060fc
call sub.msys_gpg_error_0.dll_gpg_err_code_from_syserror
mov byte [rsi], 0
lea rcx, str.GNUPG_BUILD_ROOT
mov r12d, eax
call sub.msys_2.0.dll_getenv
mov rbx, rax
test rax, rax
je 0x100405dfe
cmp byte [rax], 0x2f
jne 0x100405dfe
movzx ecx, r12w
call sub.msys_gpg_error_0.dll_gpg_strerror
mov rdx, rdi
lea rcx, str.error_reading_symlink__s:__s_n
mov r8, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_info
mov rcx, rsi
call fcn.10040e3a0
mov rcx, rbx
xor r8d, r8d
lea rdx, str._bin_gpgconf
call fcn.100403d90
lea rcx, str.trying_fallback__s_n
mov rdx, rax
mov rsi, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_info
jmp 0x100405dfe
mov byte [rsi + rax], 0
jmp 0x100405dfe
mov rcx, rsi
call fcn.10040e3a0
mov dword [0x1004191b0], 1
xor eax, eax
jmp 0x10040603b
call sub.msys_gpg_error_0.dll_gpg_err_code_from_syserror
movzx ecx, ax
call sub.msys_gpg_error_0.dll_gpg_strerror
mov rdx, rbx
lea rcx, str.error_opening__s:__s_n
mov r8, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_info
mov rcx, rbx
call fcn.10040e3a0
jmp 0x100406242
call sub.msys_gpg_error_0.dll_gpg_err_code_from_syserror
movzx ecx, ax
call sub.msys_gpg_error_0.dll_gpg_strerror
mov rdx, rbx
lea rcx, str.error_reading__s:__s_n
mov r8, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_info
mov rcx, rdi
call sub.msys_gpg_error_0.dll_gpgrt_fclose
mov rcx, rbx
call fcn.10040e3a0
mov rcx, qword [rsp + 0x50]
call fcn.10040e3a0
mov rcx, qword [rsp + 0x30]
call fcn.10040e3a0
mov rcx, qword [rsp + 0x38]
call fcn.10040e3a0
mov rcx, qword [rsp + 0x40]
call fcn.10040e3a0
jmp 0x100406242
mov rdx, qword [rsp + 0x38]
test rdx, rdx
je 0x1004062f8
cmp byte [rdx], 0x2f
je 0x1004062f8
lea rcx, str.invalid_sysconfdir__s_specified_in_gpgconf.ctl_n
call sub.msys_gpg_error_0.dll_gpgrt_log_info
jmp 0x100405fd7
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x100406318
cmp byte [rdx], 0x2f
je 0x100406318
lea rcx, str.invalid_socketdir__s_specified_in_gpgconf.ctl_n
call sub.msys_gpg_error_0.dll_gpgrt_log_info
jmp 0x100405fd7
mov rbx, qword [rsp + 0x30]
jmp 0x100406327
mov byte [rax], 0
cmp byte [rbx], 0
je 0x100406339
mov rcx, rbx
call sub.msys_2.0.dll_strlen
lea rax, [rbx + rax - 1]
cmp byte [rax], 0x2f
je 0x10040631f
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x38], 0
mov qword [0x1004191a8], rax
je 0x100406386
mov rax, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x38]
cmp byte [rax], 0
jne 0x100406368
jmp 0x10040637a
mov byte [rax], 0
cmp byte [rbx], 0
je 0x10040637a
mov rcx, rbx
call sub.msys_2.0.dll_strlen
lea rax, [rbx + rax - 1]
cmp byte [rax], 0x2f
je 0x100406360
mov rax, qword [rsp + 0x38]
mov qword [0x1004191a0], rax
mov rax, qword [rsp + 0x40]
test rax, rax
je 0x100406016
cmp byte [rax], 0
mov rbx, qword [rsp + 0x40]
jne 0x1004063a8
jmp 0x1004063ba
mov byte [rax], 0
cmp byte [rbx], 0
je 0x1004063ba
mov rcx, rbx
call sub.msys_2.0.dll_strlen
lea rax, [rbx + rax - 1]
cmp byte [rax], 0x2f
je 0x1004063a0
mov rax, qword [rsp + 0x40]
mov qword [0x100419198], rax
jmp 0x100406016