Function at 0x100410a20
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xb8
mov rbx, rdx
lea rdx, [rsp + 0x88]
call fcn.10040bf20
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x88]
cmp rax, 0x1f
jbe 0x10041166f
mov rsi, qword [rsp + 0x28]
mov esi, dword [rsi]
bswap esi
mov esi, esi
cmp rax, rsi
jb 0x100410eb8
mov qword [rsp + 0x88], rsi
mov r8, rsi
lea rdx, str.Length:__lu_n
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
mov rax, qword [rsp + 0x28]
movzx esi, byte [rax + 4]
cmp sil, 2
je 0x100410f94
ja 0x100410b85
test sil, sil
je 0x100410f75
mov r9, rbx
mov r8d, 0xf
mov edx, 1
lea rcx, str.Type:___Header_n
call sub.msys_2.0.dll_fwrite
cmp qword [rsp + 0x88], 0x1f
jbe 0x10041166f
mov rsi, qword [rsp + 0x28]
lea rdx, str.Version:__d_n
mov rcx, rbx
movzx r8d, byte [rsi + 5]
call sub.msys_2.0.dll_fprintf
movzx eax, word [rsi + 6]
lea rdx, str.Flags:____04lX
mov rcx, rbx
mov esi, eax
mov word [rsp + 0x30], ax
rol si, 8
movzx edi, si
mov r8, rdi
call sub.msys_2.0.dll_fprintf
test rdi, rdi
jne 0x1004113f4
mov rdx, rbx
mov ecx, 0xa
call sub.msys_2.0.dll_putc
mov rax, qword [rsp + 0x28]
cmp dword [rax + 8], 0x6658424b
jne 0x1004113d5
mov rsi, qword [rsp + 0x28]
lea rdx, str.created_at:__lu_n
mov rcx, rbx
mov r8d, dword [rsi + 0x10]
bswap r8d
mov r8d, r8d
call sub.msys_2.0.dll_fprintf
mov r8d, dword [rsi + 0x14]
lea rdx, str.last_maint:__lu_n
mov rcx, rbx
bswap r8d
mov r8d, r8d
call sub.msys_2.0.dll_fprintf
xor eax, eax
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp sil, 3
jne 0x100410ed7
mov r9, rbx
mov r8d, 0xe
mov edx, 1
lea rcx, str.Type:___X.509_n
call sub.msys_2.0.dll_fwrite
mov rdi, qword [rsp + 0x28]
mov rcx, rbx
lea rdx, str.Version:__d_n
movzx r8d, byte [rdi + 5]
call sub.msys_2.0.dll_fprintf
movzx ecx, byte [rdi + 5]
cmp qword [rsp + 0x88], 0x27
mov byte [rsp + 0x38], cl
jbe 0x10041166f
movzx eax, word [rdi + 6]
lea rdx, str.Blob_Flags:__04lX
mov rcx, rbx
mov edi, eax
mov word [rsp + 0x30], ax
rol di, 8
movzx ebp, di
mov r8, rbp
call sub.msys_2.0.dll_fprintf
test rbp, rbp
jne 0x100410fd2
mov rdx, rbx
mov ecx, 0xa
call sub.msys_2.0.dll_putc
mov rdx, qword [rsp + 0x28]
mov eax, dword [rdx + 8]
bswap eax
mov ecx, eax
mov eax, dword [rdx + 0xc]
lea rdx, str.Data_Offset:__lu_n
mov rdi, rcx
mov r8, rcx
mov qword [rsp + 0x78], rcx
mov rcx, rbx
bswap eax
mov r15d, eax
mov qword [rsp + 0x70], r15
call sub.msys_2.0.dll_fprintf
mov rcx, rbx
mov r8, r15
lea rdx, str.Data_Length:__lu_n
call sub.msys_2.0.dll_fprintf
cmp r15, rdi
mov rax, rdi
mov rcx, rdi
mov r11, qword [rsp + 0x88]
cmovae rax, r15
mov qword [rsp + 0x50], r11
cmp r11, rax
jb 0x100411495
add rcx, r15
mov rax, r15
mov qword [rsp + 0x58], rcx
cmp r11, rcx
jb 0x100411495
add rax, 4
cmp r11, rax
jb 0x100411495
lea rax, [rcx + 4]
cmp r11, rax
jb 0x100411495
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x50]
lea rdx, str.Unhashed:__lu_n
sub rax, rcx
mov rcx, rbx
mov r8, rax
mov qword [rsp + 0x68], rax
call sub.msys_2.0.dll_fprintf
mov rax, qword [rsp + 0x28]
lea rdx, str.Key_Count:__lu_n
mov rcx, rbx
movzx r15d, word [rax + 0x10]
rol r15w, 8
movzx edi, r15w
mov r8, rdi
mov qword [rsp + 0x30], rdi
call sub.msys_2.0.dll_fprintf
cmp esi, 3
sete byte [rsp + 0x67]
test rdi, rdi
je 0x10041102c
cmp qword [rsp + 0x30], 1
seta al
and al, byte [rsp + 0x67]
mov esi, eax
je 0x100410d38
mov r9, rbx
mov r8d, 0x27
mov edx, 1
lea rcx, str._Error:_only_one_key_allowed_for_X509__n
call sub.msys_2.0.dll_fwrite
mov byte [rsp + 0x67], sil
mov rsi, qword [rsp + 0x28]
lea rdx, str.Key_Info_Length:__lu_n
mov rcx, rbx
movzx eax, word [rsi + 0x12]
rol ax, 8
movzx edi, ax
mov r8, rdi
mov qword [rsp + 0x40], rdi
lea r13, [rsi + rdi + 0x14]
call sub.msys_2.0.dll_fprintf
mov r15, qword [rsp + 0x88]
add r15, rsi
cmp r13, r15
jae 0x100410e8e
mov rax, qword [rsp + 0x28]
xor ebp, ebp
lea rsi, str._02X
lea rdi, [rax + 0x28]
nop word [rax + rax]
mov r8, rbp
lea rdx, str.Key_Fpr__lu_:
lea r14, [rdi - 0x14]
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
cmp byte [rsp + 0x38], 2
je 0x100410f10
lea rax, [rdi + 4]
cmp rax, r15
jae 0x100410fb3
mov r12, r14
nop dword [rax]
movzx r8d, byte [r12]
mov rdx, rsi
mov rcx, rbx
add r12, 1
call sub.msys_2.0.dll_fprintf
cmp r12, rdi
jne 0x100410dc8
mov r12d, dword [rdi]
mov r8, rbp
lea rdx, str._nKey_Kid_Off__lu_:__lu_n
mov rcx, rbx
bswap r12d
mov r12d, r12d
mov r9, r12
call sub.msys_2.0.dll_fprintf
mov r8, rbp
lea rdx, str.Key_Kid__lu_:
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
lea rax, [r14 + r12 + 8]
cmp rax, r15
jae 0x100410fb3
mov rax, qword [rsp + 0x28]
lea r14, [rax + r12]
lea r12, [rax + r12 + 8]
nop dword [rax]
movzx r8d, byte [r14]
mov rdx, rsi
mov rcx, rbx
add r14, 1
call sub.msys_2.0.dll_fprintf
cmp r14, r12
jne 0x100410e30
movzx r9d, word [rdi + 4]
rol r9w, 8
movzx r9d, r9w
mov r8, rbp
lea rdx, str._nKey_Flags__lu_:__04lX_n
mov rcx, rbx
add rbp, 1
call sub.msys_2.0.dll_fprintf
mov rax, qword [rsp + 0x30]
cmp rbp, rax
je 0x10041107e
mov rax, qword [rsp + 0x40]
add r13, rax
add rdi, rax
cmp r13, r15
jb 0x100410d90
mov r9, rbx
mov r8d, 0x23
mov edx, 1
lea rcx, str._Error:_key_data_larger_than_blob__n
call sub.msys_2.0.dll_fwrite
mov eax, 0xffffffff
jmp 0x100410b71
mov r9, rbx
mov r8d, 0x2d
mov edx, 1
lea rcx, str._blob_larger_than_length___output_truncated__n
call sub.msys_2.0.dll_fwrite
jmp 0x100410a76
mov r8d, esi
mov rcx, rbx
lea rdx, str.Type:____d_n
call sub.msys_2.0.dll_fprintf
mov r9, rbx
mov r8d, 0x1c
mov edx, 1
lea rcx, str._cant_dump_this_blob_type__n
call sub.msys_2.0.dll_fwrite
jmp 0x100410b6f
lea rax, [rdi + 0xe]
cmp rax, r15
jae 0x100410fb3
movzx eax, word [rdi + 0xc]
mov qword [rsp + 0x48], rdi
mov rdi, r14
rol ax, 8
movzx r9d, ax
and ax, 0x80
cmp ax, 1
sbb rax, rax
and rax, 0xfffffffffffffff4
lea r12, [r14 + rax + 0x20]
mov r14, r9
nop dword [rax + rax]
movzx r8d, byte [rdi]
mov rdx, rsi
mov rcx, rbx
add rdi, 1
call sub.msys_2.0.dll_fprintf
cmp r12, rdi
jne 0x100410f50
mov rdi, qword [rsp + 0x48]
mov r9, r14
jmp 0x100410e56
mov r9, rbx
mov r8d, 0xe
mov edx, 1
lea rcx, str.Type:___Empty_n
call sub.msys_2.0.dll_fwrite
jmp 0x100410b6f
mov r9, rbx
mov r8d, 0x10
mov edx, 1
lea rcx, str.Type:___OpenPGP_n
call sub.msys_2.0.dll_fwrite
jmp 0x100410ba9
mov r9, rbx
mov r8d, 0x2b
mov edx, 1
lea rcx, str._Error:_fingerprint_data_larger_than_blob__n
call sub.msys_2.0.dll_fwrite
jmp 0x100410ea8
mov rbp, rdi
mov r9, rbx
mov r8d, 2
mov edx, 1
lea rcx, [0x100430386]
and ebp, 2
call sub.msys_2.0.dll_fwrite
and edi, 1
jne 0x100411441
test rbp, rbp
je 0x10041101a
mov r9, rbx
mov r8d, 9
mov edx, 1
lea rcx, str.ephemeral
call sub.msys_2.0.dll_fwrite
mov rdx, rbx
mov ecx, 0x29
call sub.msys_2.0.dll_putc
jmp 0x100410c06
mov rsi, qword [rsp + 0x28]
mov r9, rbx
mov r8d, 0x11
mov edx, 1
lea rcx, str._Error:_no_keys__n
call sub.msys_2.0.dll_fwrite
movzx eax, word [rsi + 0x12]
mov rcx, rbx
lea r13, [rsi + 0x14]
lea rdx, str.Key_Info_Length:__lu_n
mov r8d, eax
mov word [rsp + 0x30], ax
rol r8w, 8
movzx r8d, r8w
call sub.msys_2.0.dll_fprintf
add rsi, qword [rsp + 0x88]
mov r15, rsi
lea r12, [r13 + 2]
mov rbp, r12
cmp r12, r15
jae 0x1004113b6
mov r9, rbx
mov r8d, 0xb
mov edx, 1
lea rcx, str.Serial_No:
call sub.msys_2.0.dll_fwrite
movzx r11d, word [r13]
rol r11w, 8
movzx r11d, r11w
test r11, r11
je 0x100411476
lea r12, [r12 + r11]
cmp r12, r15
jae 0x1004113b6
lea rdi, str._02X
mov rsi, r12
movzx r8d, byte [rbp]
mov rdx, rdi
mov rcx, rbx
add rbp, 1
call sub.msys_2.0.dll_fprintf
cmp rbp, rsi
jne 0x1004110d6
mov rdx, rbx
mov ecx, 0xa
lea r13, [r12 + 4]
call sub.msys_2.0.dll_putc
cmp r13, r15
jae 0x1004113b6
movzx eax, word [r12]
lea rdx, str.Uid_Count:__lu_n
mov rcx, rbx
rol ax, 8
movzx edi, ax
mov r8, rdi
mov qword [rsp + 0x30], rdi
call sub.msys_2.0.dll_fprintf
movzx eax, word [r12 + 2]
lea rdx, str.Uid_Info_Length:__lu_n
mov rcx, rbx
rol ax, 8
movzx esi, ax
mov r8, rsi
mov qword [rsp + 0x38], rsi
call sub.msys_2.0.dll_fprintf
test rdi, rdi
je 0x1004114b4
add r13, rsi
cmp r13, r15
jae 0x1004113b6
cmp rsi, 7
jbe 0x1004113b6
movzx r14d, byte [rsp + 0x67]
add r12, 0xf
xor edi, edi
jmp 0x10041129f
cmp rdi, 1
jne 0x100411310
test r14b, r14b
je 0x100411310
mov r8, r10
lea rdx, str.Subject_Off:__lu_n
mov rcx, rbx
mov qword [rsp + 0x40], r10
call sub.msys_2.0.dll_fprintf
mov r8, rsi
lea rdx, str.Subject_Len:__lu_n
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
mov r9, rbx
mov r8d, 0xa
mov edx, 1
lea rcx, str.Subject:__
call sub.msys_2.0.dll_fwrite
mov r10, qword [rsp + 0x40]
lea rax, [rsi + r10]
cmp qword [rsp + 0x88], rax
jb 0x1004113b6
mov rax, qword [rsp + 0x28]
mov r9d, 0x22
mov r8, rsi
mov rcx, rbx
lea rdx, [rax + r10]
call fcn.1004108f0
mov r9, rbx
mov r8d, 2
mov edx, 1
lea rcx, [0x100430694]
call sub.msys_2.0.dll_fwrite
cmp r12, r15
jae 0x1004113b6
movzx eax, word [r12 - 3]
rol ax, 8
movzx r8d, ax
test bpl, bpl
jne 0x10041138d
cmp rdi, 1
jne 0x10041135b
test r14b, r14b
je 0x10041135b
lea rdx, str.Subject_Flags:__04lX_n
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
movzx r8d, byte [r12 - 1]
lea rdx, str.Subject_Validity:__d_n
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
mov rax, qword [rsp + 0x30]
add rdi, 1
cmp rdi, rax
je 0x1004114b4
mov rax, qword [rsp + 0x38]
add r13, rax
add r12, rax
cmp r13, r15
jae 0x1004113b6
mov r10d, dword [r12 - 0xb]
mov esi, dword [r12 - 7]
test rdi, rdi
sete bpl
bswap r10d
bswap esi
mov r10d, r10d
mov esi, esi
and bpl, r14b
je 0x100411181
mov r8, r10
lea rdx, str.Issuer_Off:__lu_n
mov rcx, rbx
mov qword [rsp + 0x40], r10
call sub.msys_2.0.dll_fprintf
mov r8, rsi
lea rdx, str.Issuer_Len:__lu_n
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
mov r9, rbx
mov r8d, 9
mov edx, 1
lea rcx, str.Issuer:__
call sub.msys_2.0.dll_fwrite
mov r10, qword [rsp + 0x40]
jmp 0x1004111dc
mov r9, r10
mov r8, rdi
lea rdx, str.Uid_Off__lu_:__lu_n
mov rcx, rbx
mov qword [rsp + 0x40], r10
call sub.msys_2.0.dll_fprintf
mov r9, rsi
mov r8, rdi
mov rcx, rbx
lea rdx, str.Uid_Len__lu_:__lu_n
call sub.msys_2.0.dll_fprintf
mov r8, rdi
lea rdx, str.Uid__lu_:__
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
mov r10, qword [rsp + 0x40]
jmp 0x1004111dc
mov r9, r8
mov rcx, rbx
lea rdx, str.Uid_Flags__lu_:__04lX_n
mov r8, rdi
call sub.msys_2.0.dll_fprintf
movzx r9d, byte [r12 - 1]
mov r8, rdi
mov rcx, rbx
lea rdx, str.Uid_Validity__lu_:__d_n
call sub.msys_2.0.dll_fprintf
jmp 0x100411279
mov rcx, rbx
lea rdx, str.Issuer_Flags:__04lX_n
call sub.msys_2.0.dll_fprintf
movzx r8d, byte [r12 - 1]
lea rdx, str.Issuer_Validity:__d_n
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
jmp 0x100411279
mov r9, rbx
mov r8d, 0x1f
mov edx, 1
lea rcx, str._Error:_data_larger_than_blob__n
call sub.msys_2.0.dll_fwrite
jmp 0x100410ea8
mov r9, rbx
mov r8d, 0x1e
mov edx, 1
lea rcx, str._Error:_invalid_magic_number__n
call sub.msys_2.0.dll_fwrite
jmp 0x100410b38
mov r9, rbx
mov r8d, 2
mov edx, 1
lea rcx, [0x100430386]
call sub.msys_2.0.dll_fwrite
and esi, 2
jne 0x100411425
mov rdx, rbx
mov ecx, 0x29
call sub.msys_2.0.dll_putc
jmp 0x100410b19
mov r9, rbx
mov r8d, 7
mov edx, 1
lea rcx, str.openpgp
call sub.msys_2.0.dll_fwrite
jmp 0x100411413
mov r9, rbx
mov r8d, 6
mov edx, 1
lea rcx, str.secret
call sub.msys_2.0.dll_fwrite
test rbp, rbp
je 0x10041101a
mov rdx, rbx
mov ecx, 0x2c
call sub.msys_2.0.dll_putc
jmp 0x100411000
mov r9, rbx
mov r8d, 4
mov edx, 1
lea rcx, [0x1004305dc]
call sub.msys_2.0.dll_fwrite
jmp 0x1004110ef
mov r9, rbx
mov r8d, 0x23
mov edx, 1
lea rcx, str._Error:_raw_data_larger_than_blob__n
call sub.msys_2.0.dll_fwrite
jmp 0x100410ea8
lea rsi, [r13 + 4]
cmp rsi, r15
jae 0x1004113b6
movzx eax, word [r13]
lea rdx, str.Sig_Count:__lu_n
mov rcx, rbx
rol ax, 8
movzx r12d, ax
mov r8, r12
call sub.msys_2.0.dll_fprintf
movzx eax, word [r13 + 2]
lea rdx, str.Sig_Info_Length:__lu_n
mov rcx, rbx
rol ax, 8
movzx ebp, ax
mov r8, rbp
call sub.msys_2.0.dll_fprintf
test r12, r12
je 0x1004116aa
lea rdi, [rsi + rbp]
cmp rbp, 3
jbe 0x1004113b6
cmp rdi, r15
jae 0x1004113b6
xor r8d, r8d
xor eax, eax
xor r13d, r13d
mov r14, r8
jmp 0x1004115c4
test dl, dl
jne 0x10041160c
test eax, eax
jne 0x1004115db
mov r8, r13
lea rdx, str.Sig_Expire__lu_:
mov rcx, rbx
mov qword [rsp + 0x30], r10
call sub.msys_2.0.dll_fprintf
mov r10, qword [rsp + 0x30]
test r10, r10
je 0x10041161d
cmp r10, 1
je 0x100411650
cmp r10, 2
je 0x1004118c8
mov r8, r10
cmp r10, 0xfffffff
ja 0x10041163c
lea rdx, str._bad_flag__0lx_
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
mov rdx, rbx
mov ecx, 0xa
call sub.msys_2.0.dll_putc
xor eax, eax
lea rdx, [r13 + 1]
cmp rdx, r12
je 0x10041168e
add rdi, rbp
add rsi, rbp
cmp rdi, r15
jae 0x1004113b6
mov r13, rdx
mov r10d, dword [rsi]
bswap r10d
mov r10d, r10d
test r10, r10
sete dl
test eax, eax
je 0x10041152e
test dl, dl
jne 0x100411616
test eax, eax
je 0x10041153e
lea r9, [r13 - 1]
mov r8, r14
mov rcx, rbx
mov qword [rsp + 0x30], r10
lea rdx, str.Sig_Expire__lu__lu_:__not_checked__n
call sub.msys_2.0.dll_fprintf
mov r10, qword [rsp + 0x30]
jmp 0x10041153e
mov r14, r13
mov eax, 1
jmp 0x1004115a5
mov eax, 1
jmp 0x1004115a5
mov r9, rbx
mov r8d, 0xd
mov edx, 1
lea rcx, str._not_checked_
call sub.msys_2.0.dll_fwrite
jmp 0x100411596
lea rdx, str._good___expires_at__lu_
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
jmp 0x100411596
mov r9, rbx
mov r8d, 0xd
mov edx, 1
lea rcx, str._missing_key_
call sub.msys_2.0.dll_fwrite
jmp 0x100411596
mov r9, rbx
mov r8d, 0x11
mov edx, 1
lea rcx, str._blob_too_short__n
call sub.msys_2.0.dll_fwrite
jmp 0x100410ea8
mov r8, r14
test eax, eax
je 0x1004116a7
mov r9, r13
lea rdx, str.Sig_Expire__lu__lu_:__not_checked__n
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
mov rsi, rdi
lea rax, [rsi + 0x10]
cmp rax, r15
jae 0x1004113b6
movzx r8d, byte [rsi]
lea rdx, str.Ownertrust:__d_n
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
movzx r8d, byte [rsi + 1]
lea rdx, str.All_Validity:__d_n
mov rcx, rbx
call sub.msys_2.0.dll_fprintf
mov r8d, dword [rsi + 4]
lea rdx, str.Recheck_After:__lu_n
mov rcx, rbx
bswap r8d
mov r8d, r8d
call sub.msys_2.0.dll_fprintf
mov r8d, dword [rsi + 8]
lea rdx, str.Latest_Timestamp:__lu_n
mov rcx, rbx
bswap r8d
mov r8d, r8d
call sub.msys_2.0.dll_fprintf
mov r8d, dword [rsi + 0xc]
lea rdx, str.Created_At:__lu_n
mov rcx, rbx
bswap r8d
mov r8d, r8d
call sub.msys_2.0.dll_fprintf
lea rax, [rsi + 0x14]
cmp rax, r15
jae 0x1004113b6
mov esi, dword [rsi + 0x10]
lea rdx, str.Reserved_Space:__lu_n
mov rcx, rbx
bswap esi
mov esi, esi
mov r8, rsi
call sub.msys_2.0.dll_fprintf
cmp rsi, 3
jbe 0x100411870
mov rdi, qword [rsp + 0x68]
cmp rdi, 0x17
jbe 0x100411870
mov rsi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x88]
mov rcx, rbx
mov rdx, qword [rsp + 0x70]
sub rax, rsi
mov rsi, qword [rsp + 0x28]
add rdx, rsi
mov rsi, qword [rsp + 0x78]
add rdx, rsi
mov r8d, dword [rdx + rax]
lea rdx, str.Storage_Flags:__08lx_n
bswap r8d
mov r8d, r8d
call sub.msys_2.0.dll_fprintf
mov r9, rbx
mov r8d, 0xa
mov edx, 1
lea rcx, str.Checksum:
mov rsi, qword [rsp + 0x88]
call sub.msys_2.0.dll_fwrite
mov rax, rdi
add rax, 5
cmp rsi, rax
jb 0x1004118e7
mov rax, qword [rsp + 0x28]
lea rbp, str._02x
lea rdi, [rax + rsi - 0x14]
lea r12, [rax + rsi]
mov r13, rdi
movzx r8d, byte [r13]
mov rdx, rbp
mov rcx, rbx
add r13, 1
call sub.msys_2.0.dll_fprintf
cmp r12, r13
jne 0x1004117f0
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
lea rdx, [rsp + 0x90]
mov r8, qword [rsp + 0x28]
sub rax, rcx
mov ecx, 2
lea r9, [rax + rsi]
call sub.msys_gcrypt_20.dll_gcry_md_hash_buffer
mov rax, qword [rdi]
mov rdx, qword [rdi + 8]
mov r9, rbx
xor rax, qword [rsp + 0x90]
xor rdx, qword [rsp + 0x98]
or rax, rdx
je 0x100411906
mov r8d, 7
mov edx, 1
lea rcx, str.__bad__n
call sub.msys_2.0.dll_fwrite
jmp 0x100410b6f
mov edx, 1
mov r9, rbx
mov r8d, 0xa
mov rsi, qword [rsp + 0x88]
lea rcx, str.Checksum:
call sub.msys_2.0.dll_fwrite
mov rax, qword [rsp + 0x68]
lea rdx, [rax - 1]
add rax, 5
cmp rdx, 0x12
ja 0x1004117cf
mov r9, rbx
mov r8d, 0x25
mov edx, 1
lea rcx, str._specified_unhashed_sized_too_short__n
call sub.msys_2.0.dll_fwrite
jmp 0x100410b6f
mov r9, rbx
mov r8d, 0xf
mov edx, 1
lea rcx, str._bad_signature_
call sub.msys_2.0.dll_fwrite
jmp 0x100411596
mov r9, rbx
mov r8d, 0x20
mov edx, 1
lea rcx, str._blob_too_short_for_a_checksum__n
call sub.msys_2.0.dll_fwrite
jmp 0x100410b6f
mov eax, dword [rsp + 0xa0]
cmp dword [rdi + 0x10], eax
jne 0x100411854
mov r8d, 9
mov edx, 1
lea rcx, str.__valid__n
call sub.msys_2.0.dll_fwrite
jmp 0x100410b6f