Function at 0x100415c10
Capabilities:
Get file attributes
Get socket status

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
xor ebp, ebp
mov r14d, 0xffffffff
xor r12d, r12d
lea r13, [0x100430d06]
mov dword [rsp + 0x4c], 0
mov rbx, rcx
mov rdi, rdx
nop dword [rax + rax]
test byte [rbx + 0x10], 4
jne 0x100414de6
mov rdx, qword [rbx + 8]
mov rcx, qword [rbx + 0x28]
call sub.msys_2.0.dll_link
mov rcx, qword [rbx + 0x28]
lea rdx, [rsp + 0x60]
call fcn.100428750
test eax, eax
jne 0x100415181
cmp word [rsp + 0x74], 2
je 0x100415178
lea rdx, [rsp + 0x58]
lea r8, [rsp + 0x5c]
mov rcx, rbx
call fcn.1004148a0
mov esi, eax
cmp eax, 0xffffffff
je 0x100414f70
test byte [rbx + 0x10], 8
je 0x100414f90
call sub.msys_2.0.dll_getppid
mov edx, dword [rsp + 0x58]
cmp esi, eax
je 0x100414fa1
test edx, edx
je 0x100414c8e
xor edx, edx
mov ecx, esi
call sub.msys_2.0.dll_kill
test eax, eax
jne 0x1004150b0
mov ecx, dword [rsp + 0x5c]
call sub.msys_2.0.dll_close
cmp r14d, 0xffffffff
je 0x100414fe8
test rdi, rdi
je 0x1004151e3
mov r15d, 4
cmp r14d, esi
je 0x100414ff1
mov ebp, r15d
test rdi, rdi
jg 0x100415018
add r12d, r15d
cmp r12d, 0x5db
jle 0x100414d7d
mov rax, qword [0x10043b1d8]
mov r9, r13
test rax, rax
je 0x100414d02
nop dword [rax]
cmp rbx, rax
je 0x100414cf7
test byte [rax + 0x10], 1
jne 0x100415078
mov rax, qword [rax]
test rax, rax
jne 0x100414ce8
mov r9, r13
mov r8, r13
mov edx, esi
lea rcx, str.waiting_for_lock__held_by__d_s___s..._n
call sub.msys_gpg_error_0.dll_gpgrt_log_info
mov r11, qword [rbx + 0x18]
test r11, r11
je 0x100414d7a
mov rax, qword [0x10043b1d8]
test rax, rax
je 0x10041512f
nop dword [rax]
cmp rax, rbx
je 0x100414d3f
test byte [rax + 0x10], 1
jne 0x100415098
mov rax, qword [rax]
test rax, rax
jne 0x100414d30
mov rax, r13
mov rcx, r13
mov rdx, qword [rbx + 0x20]
mov r8d, 6
mov qword [rsp + 0x30], rcx
lea r9, str.waiting_for_lock__held_by__d_s___s..._n
mov qword [rsp + 0x28], rax
mov rcx, rbx
mov dword [rsp + 0x20], esi
call r11
test eax, eax
jne 0x100415239
xor r12d, r12d
movsxd rax, r15d
mov edx, r15d
xor r9d, r9d
xor r8d, r8d
imul rax, rax, 0x10624dd3
sar edx, 0x1f
xor ecx, ecx
sar rax, 0x26
sub eax, edx
movsxd rdx, eax
imul eax, eax, 0x3e8
mov qword [rsp + 0x60], rdx
xor edx, edx
sub r15d, eax
lea rax, [rsp + 0x60]
imul r10d, r15d, 0x3e8
mov qword [rsp + 0x20], rax
movsxd r10, r10d
mov qword [rsp + 0x68], r10
call sub.msys_2.0.dll_select
jmp 0x100414c08
call sub.msys_2.0.dll___errno
cmp dword [rax], 4
jne 0x100414f00
xor ecx, ecx
call sub.msys_gpg_error_0.dll_gpg_err_set_errno
mov rcx, qword [rbx + 8]
mov r8d, 0x1a4
mov edx, 0xa01
call sub.msys_2.0.dll_open
mov dword [rsp + 0x5c], eax
mov esi, eax
cmp eax, 0xffffffff
je 0x100414dd8
test byte [rbx + 0x10], 8
jne 0x10041513e
call sub.msys_2.0.dll_getpid
mov r9d, eax
lea rdi, [rsp + 0x60]
lea r8, str._10d_n
mov edx, 0x10
mov rcx, rdi
call sub.msys_gpg_error_0.dll_gpgrt_snprintf
mov r8d, 0xb
mov rdx, rdi
mov ecx, esi
call sub.msys_2.0.dll_write
cmp rax, 0xb
jne 0x100414e6a
mov r8, qword [rbx + 0x38]
mov rdx, qword [rbx + 0x30]
mov ecx, esi
add rdx, qword [rbx + 0x28]
call sub.msys_2.0.dll_write
cmp rax, qword [rbx + 0x38]
je 0x10041514b
call sub.msys_2.0.dll___errno
lea rbp, str.lock_not_made:_writing_to__s_failed:__s_n
mov r12d, dword [rax]
call sub.msys_2.0.dll___errno
mov ecx, dword [rax]
call sub.msys_2.0.dll_strerror
mov rdx, qword [rbx + 8]
mov rcx, rbp
mov r8, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_error
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x100414ec9
call sub.msys_2.0.dll___errno
mov ecx, dword [rax]
call sub.msys_2.0.dll_strerror
mov rdx, qword [rbx + 0x20]
mov r9, rbp
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 8]
mov r8d, 1
mov qword [rsp + 0x20], rax
call rdi
mov ecx, esi
call sub.msys_2.0.dll_close
mov rcx, qword [rbx + 8]
call sub.msys_2.0.dll_unlink
mov ecx, r12d
call sub.msys_gpg_error_0.dll_gpg_err_set_errno
mov eax, 0xffffffff
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call sub.msys_2.0.dll___errno
cmp dword [rax], 0x11
je 0x100414c41
call sub.msys_2.0.dll___errno
lea rbp, str.lock_not_made:_open_O_EXCL__of__s_failed:__s_n
mov esi, dword [rax]
mov ecx, esi
call sub.msys_2.0.dll_strerror
mov rdx, qword [rbx + 8]
mov rcx, rbp
mov r8, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_error
mov rdi, qword [rbx + 0x18]
test rdi, rdi
je 0x100414f62
mov ecx, esi
call sub.msys_2.0.dll_strerror
mov rdx, qword [rbx + 0x20]
mov r9, rbp
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov rax, qword [rbx + 8]
mov r8d, 1
mov qword [rsp + 0x20], rax
call rdi
mov ecx, esi
call sub.msys_gpg_error_0.dll_gpg_err_set_errno
jmp 0x1004151f5
call sub.msys_2.0.dll___errno
cmp dword [rax], 2
jne 0x1004151ff
lea rcx, str.lockfile_disappeared_n
call sub.msys_gpg_error_0.dll_gpgrt_log_info
jmp 0x100414c08
call sub.msys_2.0.dll_getpid
mov edx, dword [rsp + 0x58]
cmp esi, eax
jne 0x100414c79
test edx, edx
je 0x100414c8e
test byte [rbx + 0x10], 8
jne 0x100414c7d
mov r15d, dword [rsp + 0x5c]
lea rdx, [rsp + 0x60]
mov ecx, r15d
call sub.msys_2.0.dll_fstat
test eax, eax
jne 0x100414fd5
cmp word [rsp + 0x74], 0
jne 0x1004150e1
mov ecx, r15d
call sub.msys_2.0.dll_close
jmp 0x100414c08
test rdi, rdi
je 0x1004151e3
test ebp, ebp
je 0x1004150d3
cmp ebp, 0x7ff
jg 0x100415088
add ebp, ebp
cmp ebp, 8
jle 0x1004150c8
mov r14d, esi
test rdi, rdi
js 0x100415040
movsxd rax, ebp
mov r15d, edi
cmp rax, rdi
cmovg rax, rdi
cmovle r15d, ebp
sub rdi, rax
mov eax, 1
cmovne eax, dword [rsp + 0x4c]
mov dword [rsp + 0x4c], eax
jmp 0x100414cc5
call sub.msys_2.0.dll_getpid
mov edx, eax
mov eax, 0xbacf914d
mov r10, rdx
imul rdx, rax
mov eax, r10d
shr rdx, 0x20
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
lea edx, [rax + rax*8]
lea eax, [rax + rdx*4]
sub r10d, eax
lea r15d, [r10 + rbp]
jmp 0x100414cc5
lea r9, str._deadlock__
jmp 0x100414d02
mov ebp, 0x200
jmp 0x100415010
lea rcx, str._deadlock__
mov rax, r13
jmp 0x100414d4d
call sub.msys_2.0.dll___errno
cmp dword [rax], 3
jne 0x100414c8e
jmp 0x100414fb3
mov r14d, esi
mov r15d, ebp
jmp 0x100414cb9
mov r14d, esi
mov r15d, 4
jmp 0x100414cb9
mov rcx, qword [rbx + 8]
call sub.msys_2.0.dll_unlink
lea r9, str.removing_stale_lockfile__created_by__d__n
mov edx, esi
mov rcx, r9
call sub.msys_gpg_error_0.dll_gpgrt_log_info
mov ecx, r15d
call sub.msys_2.0.dll_close
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x100414c08
mov rdx, qword [rbx + 0x20]
mov r8d, 5
mov dword [rsp + 0x20], esi
mov rcx, rbx
lea r9, str.removing_stale_lockfile__created_by__d__n
call rax
jmp 0x100414c08
lea rax, [0x100430d06]
mov rcx, rax
jmp 0x100414d4d
call sub.msys_2.0.dll_getppid
mov r9d, eax
jmp 0x100414e1e
mov r8d, 1
lea rdx, [0x100430d3e]
mov ecx, esi
call sub.msys_2.0.dll_write
cmp rax, 1
jne 0x100414e6a
mov ecx, esi
call sub.msys_2.0.dll_close
test eax, eax
jne 0x100414e6a
or byte [rbx + 0x10], 1
jmp 0x100414ee6
call sub.msys_2.0.dll___errno
lea rdi, str.lock_not_made:_Oops:_stat_of_tmp_file_failed:__s_n
mov ebp, dword [rax]
call sub.msys_2.0.dll___errno
mov ecx, dword [rax]
call sub.msys_2.0.dll_strerror
mov rcx, rdi
mov rdx, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_error
mov rsi, qword [rbx + 0x18]
test rsi, rsi
je 0x1004151d2
call sub.msys_2.0.dll___errno
mov ecx, dword [rax]
call sub.msys_2.0.dll_strerror
mov rdx, qword [rbx + 0x20]
mov r9, rdi
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov r8d, 1
call rsi
mov ecx, ebp
call sub.msys_gpg_error_0.dll_gpg_err_set_errno
mov eax, 0xffffffff
jmp 0x100414ee6
cmp dword [rsp + 0x4c], 1
sbb ecx, ecx
and ecx, 0xffffff99
add ecx, 0x74
call sub.msys_gpg_error_0.dll_gpg_err_set_errno
mov eax, 0xffffffff
jmp 0x100414ee6
call sub.msys_2.0.dll___errno
lea rsi, str.cannot_read_lockfile_n
mov rcx, rsi
mov edi, dword [rax]
call sub.msys_gpg_error_0.dll_gpgrt_log_info
mov rax, qword [rbx + 0x18]
test rax, rax
je 0x100415230
mov rdx, qword [rbx + 0x20]
mov r9, rsi
mov r8d, 1
mov rcx, rbx
call rax
mov ecx, edi
call sub.msys_gpg_error_0.dll_gpg_err_set_errno
jmp 0x1004151f5
mov ecx, 0x8c
call sub.msys_gpg_error_0.dll_gpg_err_set_errno
jmp 0x1004151f5
sub rsp, 0x28
movzx eax, byte [rcx + 0x10]
test al, 2
jne 0x100415c40
test al, 1
jne 0x100415c30
add rsp, 0x28
jmp 0x100414bd0
mov rdx, qword [rcx + 8]
lea rcx, str.Oops___s_is_already_locked_n
call sub.msys_gpg_error_0.dll_gpgrt_log_debug
xor eax, eax
add rsp, 0x28
ret