Function at 0x100487a60
Capabilities:
Get file attributes

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x118
mov rbp, rcx
mov ecx, dword [0x100507678]
mov rbx, rdx
mov r13d, r8d
mov rsi, r9
test ecx, ecx
je 0x100487c48
mov dword [rsi], 0
test rbx, rbx
je 0x100487c6d
cmp byte [rbx], 0x2f
je 0x100487e18
mov edx, 0x2f
mov rcx, rbx
call sub.msys_2.0.dll_strchr
test rax, rax
je 0x100487da8
mov rcx, rbx
xor edx, edx
call fcn.10049eb90
mov rbx, rax
mov rcx, qword [0x100507688]
lea r12, [rsp + 0x90]
call sub.msys_gcrypt_20.dll_gcry_free
mov rdx, r12
mov rcx, rbx
mov qword [0x100507688], rbx
call fcn.1004a5920
test eax, eax
jne 0x100487afd
cmp qword [rsp + 0xb8], 0
jg 0x100487c30
test r13d, r13d
je 0x100487c90
mov edx, 0x2f
mov rcx, rbx
call sub.msys_2.0.dll_strrchr
mov rsi, rax
test rax, rax
je 0x100487e53
movzx r13d, byte [rax]
mov byte [rax], 0
xor edx, edx
mov rcx, rbx
call fcn.1004a5910
test eax, eax
je 0x100487b4e
mov rcx, rbx
call fcn.1004314e0
xor edx, edx
mov rcx, rbx
call fcn.1004a5910
test eax, eax
jne 0x100487edc
mov byte [rsi], r13b
call fcn.100485a70
mov edx, 4
mov rcx, rbx
call fcn.1004a5910
test eax, eax
jne 0x100487b7a
mov rdx, r12
mov rcx, rbx
call fcn.1004a5920
test eax, eax
je 0x100487dc8
call sub.msys_2.0.dll___errno
mov edx, dword [rax]
test edx, edx
je 0x100487b93
call sub.msys_2.0.dll___errno
cmp dword [rax], 2
jne 0x100487ec1
mov ecx, 0x3f
call sub.msys_2.0.dll_umask
mov rcx, rbx
mov esi, eax
call fcn.10042d050
test eax, eax
je 0x100487ca0
mov ecx, 1
call sub.msys_gpg_error_0.dll_gpg_err_set_errno
mov ecx, esi
call sub.msys_2.0.dll_umask
call sub.msys_2.0.dll___errno
mov ecx, dword [rax]
call sub.msys_2.0.dll_strerror
lea rcx, [0x1004e92c1]
mov rsi, rax
nop word cs:[rax + rax]
call sub.msys_intl_8.dll_libintl_gettext
mov r8, rsi
mov rdx, rbx
mov rcx, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_fatal
nop dword [rax + rax]
call fcn.100486520
mov rdx, r12
mov rcx, rbp
call fcn.1004878d0
xor ecx, ecx
mov r8d, 1
mov rdx, r12
call fcn.100486020
test eax, eax
jne 0x100487ea3
mov eax, dword [rsi + 4]
test eax, eax
je 0x100487e30
call fcn.100485b90
xor eax, eax
add rsp, 0x118
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
lea rcx, [0x100485bf0]
call fcn.1004bd510
mov dword [rsi], 0
mov dword [0x100507678], 1
test rbx, rbx
jne 0x100487a98
call fcn.1004a6a90
xor r8d, r8d
lea rdx, str.trustdb.gpg
mov rcx, rax
call fcn.10049eb90
mov rbx, rax
jmp 0x100487ac4
mov dword [rsi], 1
jmp 0x100487c30
mov rcx, rbx
lea rdx, [0x1004e92be]
call sub.msys_gpg_error_0.dll_gpgrt_fopen
mov ecx, esi
mov r12, rax
call sub.msys_2.0.dll_umask
test r12, r12
je 0x100487bc0
mov rcx, r12
call sub.msys_gpg_error_0.dll_gpgrt_fclose
mov rcx, qword [0x100507688]
xor r8d, r8d
mov edx, 0x10002
call fcn.1004a5930
mov dword [0x1004c8584], eax
cmp eax, 0xffffffff
je 0x100487e73
mov rsi, qword [0x1004f7480]
lea r12, [rsp + 0x20]
mov ecx, 0xd
mov rdi, r12
mov r13d, dword [rsi + 0x180]
lea eax, [r13 - 6]
cmp eax, 1
mov eax, 0
rep stosq qword [rdi], rax
mov byte [rsp + 0x40], 3
jbe 0x100487de0
call fcn.1004a82c0
cmp r13d, 1
mov edx, 1
mov eax, eax
cmova r13d, edx
mov qword [rsp + 0x48], rax
mov eax, dword [rsi + 0x128]
mov byte [rsp + 0x41], al
mov eax, dword [rsi + 0x12c]
mov byte [rsp + 0x42], al
movzx eax, byte [rsi + 0x130]
mov byte [rsp + 0x43], al
mov eax, dword [rsi + 0x11c]
mov rcx, rbp
mov rdx, r12
mov byte [rsp + 0x44], r13b
mov byte [rsp + 0x45], al
mov dword [rsp + 0x20], 1
mov qword [rsp + 0x38], 0
call fcn.100486cb0
mov ecx, eax
test eax, eax
je 0x100487bf8
call sub.msys_gpg_error_0.dll_gpg_strerror
lea rcx, str._s:_failed_to_create_version_record:__s
mov rsi, rax
jmp 0x100487be0
call fcn.1004a6a90
mov rdx, rbx
xor r8d, r8d
mov rcx, rax
call fcn.10049eb90
mov rbx, rax
jmp 0x100487ac4
cmp qword [rsp + 0xb8], 0
je 0x100487b7a
jmp 0x100487c2b
call fcn.1004a82c0
mov r13d, 1
mov eax, eax
mov qword [rsp + 0x48], rax
mov eax, dword [rsi + 0x128]
mov byte [rsp + 0x41], al
mov eax, dword [rsi + 0x12c]
mov byte [rsp + 0x42], al
movzx eax, byte [rsi + 0x130]
jmp 0x100487d56
mov rcx, rbx
call sub.msys_gcrypt_20.dll_gcry_xstrdup
mov rbx, rax
jmp 0x100487ac4
mov rbx, qword [0x100507688]
lea rcx, str._s:_trustdb_created_n
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
mov rdx, rbx
call sub.msys_gpg_error_0.dll_gpgrt_log_info
jmp 0x100487c2b
lea r9, str.tdbio_set_dbname
mov r8d, 0x2c0
lea rdx, str.tdbio.c
lea rcx, [0x1004e9283]
call sub.msys_gpg_error_0.dll__gpgrt_log_assert
call sub.msys_2.0.dll___errno
mov ecx, dword [rax]
call sub.msys_2.0.dll_strerror
mov rsi, qword [0x100507688]
lea rcx, [0x1004e8df8]
mov rbx, rax
call sub.msys_intl_8.dll_libintl_gettext
mov r8, rbx
mov rdx, rsi
mov rcx, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_fatal
mov rbx, qword [0x100507688]
lea rcx, str._s:_invalid_trustdb_created_n
call sub.msys_intl_8.dll_libintl_gettext
mov rcx, rax
mov rdx, rbx
call sub.msys_gpg_error_0.dll_gpgrt_log_fatal
call sub.msys_2.0.dll___errno
mov ecx, dword [rax]
call sub.msys_2.0.dll_strerror
lea rcx, str.cant_access__s:__s_n
mov rsi, rax
jmp 0x100487be0
lea rcx, str._s:_directory_does_not_exist__n
call sub.msys_intl_8.dll_libintl_gettext
mov rdx, rbx
mov rcx, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_fatal
nop
nop word cs:[rax + rax]
nop