Function at 0x10040cc60
Capabilities:
Enumerate pe sections

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x178
mov qword [rsp + 0x1c8], rdx
mov rsi, rcx
mov r15, r8
mov dword [rsp + 0x1d8], r9d
mov qword [rsp + 0x78], 0
test rcx, rcx
je 0x10040db9f
mov rcx, qword [rcx + 0x28]
xor edi, edi
test rcx, rcx
je 0x10040ccbf
call fcn.10040bf30
mov rcx, qword [rsi + 0x28]
mov rdi, rax
call fcn.10040b460
mov qword [rsi + 0x28], 0
mov ebx, dword [rsi + 0x1c]
test ebx, ebx
jne 0x10040cdac
mov r9d, dword [rsi + 0x18]
mov ebx, 0xffffffff
test r9d, r9d
jne 0x10040cdac
test r15, r15
je 0x10040df02
xor r14d, r14d
xor r13d, r13d
xor r12d, r12d
mov ebp, 1
mov rbx, qword [rsp + 0x1c8]
jmp 0x10040cd2d
cmp qword [rbx + 8], 0
cmovne r14d, ebp
cmp byte [rbx + 0x49], 0
je 0x10040cd18
test r13, r13
je 0x10040cdc8
lea rax, [r12 + 1]
add rbx, 0x50
cmp r15, rax
je 0x10040cdf0
mov r12, rax
cmp dword [rbx], 0x10
jne 0x10040cd00
mov rcx, rsi
xor edi, edi
call fcn.10040cbe0
jmp 0x10040cd00
mov rbp, r14
mov r14d, dword [rsp + 0x40]
cmp rbp, r15
jne 0x10040d116
mov rcx, qword [rsp + 0x78]
mov rdx, rcx
test ebx, ebx
jne 0x10040e0cc
movsxd rax, dword [rsp + 0x50]
cmp qword [rsp + 0x38], 0
mov qword [rsi + 0x28], rcx
mov qword [rsi + 0x30], rax
movsxd rax, dword [rsp + 0x4c]
mov qword [rsi + 0x38], rax
je 0x10040cdac
mov rdi, qword [rsp + 0x38]
xor esi, esi
nop dword [rax]
mov rax, rsi
add rsi, 1
shl rax, 4
mov rcx, qword [rdi + rax + 8]
call sub.msys_gcrypt_20.dll_gcry_free
cmp r15, rsi
jne 0x10040cd88
mov rcx, qword [rsp + 0x38]
call sub.msys_gcrypt_20.dll_gcry_free
mov eax, ebx
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edx, 0x10
mov rcx, r15
call sub.msys_gcrypt_20.dll_gcry_calloc
mov r13, rax
test rax, rax
jne 0x10040cd18
call fcn.10040c410
mov dword [rsi + 0x1c], eax
mov ebx, eax
jmp 0x10040cdac
cmp qword [rsi + 0x10], 0
mov qword [rsp + 0x38], r13
je 0x10040dbd8
cmp qword [rsp + 0x38], 0
je 0x10040cfcd
mov rbp, qword [rsp + 0x38]
mov rax, qword [rsp + 0x1c8]
xor r13d, r13d
mov dword [rsp + 0x30], r14d
mov rdi, r13
mov qword [rsp + 0x1c0], rsi
mov qword [rsp + 0x40], rbp
lea rbx, [rax + 0x18]
mov r13, rbp
jmp 0x10040ce86
movzx esi, word [rbx + 8]
mov rcx, rsi
call sub.msys_gcrypt_20.dll_gcry_malloc
mov qword [r13 + 8], rax
mov rcx, rax
test rax, rax
je 0x10040dfdb
movzx edx, si
mov r8, rsi
mov dword [r13], edx
mov rdx, rbp
call sub.msys_2.0.dll_memcpy
lea rax, [rdi + 1]
add rbx, 0x50
add r13, 0x10
cmp rdi, r12
je 0x10040cfc0
mov rdi, rax
mov rbp, qword [rbx]
test rbp, rbp
je 0x10040ce6e
cmp byte [rbx + 0x31], 0
je 0x10040ce40
movzx eax, byte [rbp]
cmp al, 0x2f
je 0x10040db78
test al, al
je 0x10040db78
movzx ecx, word [rbx + 8]
xor eax, eax
add ecx, 1
jmp 0x10040ced1
movzx edx, byte [rbp + 1]
add rbp, 1
test dl, dl
je 0x10040cf90
cmp dl, 0x2f
je 0x10040cf90
mov r8d, eax
add eax, 1
cmp eax, ecx
jne 0x10040ceb8
sar eax, 1
and r8d, 1
movsxd rcx, eax
mov ebp, r8d
mov rsi, rcx
call sub.msys_gcrypt_20.dll_gcry_malloc
mov qword [r13 + 8], rax
mov rcx, rax
test rax, rax
je 0x10040e089
mov dword [r13], esi
mov rdx, qword [rbx]
test ebp, ebp
je 0x10040cf3a
movzx eax, byte [rdx]
cmp al, 0x39
ja 0x10040cfa8
sub eax, 0x30
mov byte [rcx], al
add rdx, 1
add rcx, 1
jmp 0x10040cf3a
sub r8d, 0x30
add rcx, 1
add eax, r8d
add rdx, 2
mov byte [rcx - 1], al
movzx eax, byte [rdx]
test al, al
je 0x10040ce6e
cmp al, 0x2f
je 0x10040ce6e
cmp al, 0x39
jbe 0x10040cf83
cmp al, 0x46
ja 0x10040cf80
sub eax, 0x37
shl eax, 4
movzx r8d, byte [rdx + 1]
cmp r8b, 0x39
jbe 0x10040cf28
lea r10d, [r8 - 0x37]
lea r9d, [r8 - 0x57]
cmp r8b, 0x46
cmova r10d, r9d
mov r8d, r10d
jmp 0x10040cf2c
sub eax, 0x57
shl eax, 4
jmp 0x10040cf5b
lea ebp, [r8 + 2]
and eax, 1
mov esi, ebp
mov ebp, eax
sar esi, 1
movsxd rcx, esi
jmp 0x10040ceea
lea r10d, [rax - 0x37]
lea r8d, [rax - 0x57]
cmp al, 0x46
mov eax, r10d
cmova eax, r8d
jmp 0x10040cf18
mov r14d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x1c0]
lea rax, [rsp + 0x78]
mov dword [rsp + 0x4c], 0
mov rcx, qword [rsp + 0x78]
lea r13, [rsp + 0xa0]
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x30], rax
nop dword [rax]
call fcn.10040b460
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
mov qword [rsp + 0x78], 0
call fcn.10040bfc0
mov ebx, eax
movzx eax, ax
cmp bx, 0x43
je 0x10040d298
mov rcx, qword [rsp + 0x78]
test ebx, ebx
jne 0x10040dba9
mov rdx, r13
call fcn.10040bf20
cmp qword [rsp + 0xa0], 0x1f
jbe 0x10040dbce
movzx eax, byte [rax + 4]
cmp eax, 1
je 0x10040d116
mov r8d, dword [rsp + 0x1d8]
mov rcx, qword [rsp + 0x78]
test r8d, r8d
je 0x10040d072
cmp dword [rsp + 0x1d8], eax
jne 0x10040cff8
mov rdx, r13
call fcn.10040bf20
cmp qword [rsp + 0xa0], 7
jbe 0x10040d0a0
mov ecx, dword [rsi + 0x20]
movzx eax, word [rax + 6]
test ecx, ecx
jne 0x10040d0a0
mov rcx, qword [rsp + 0x78]
test ah, 2
jne 0x10040cff8
nop
test r15, r15
je 0x10040d116
mov rax, qword [rsp + 0x1c8]
mov r12, qword [rsp + 0x38]
mov dword [rsp + 0x48], ebx
xor ebp, ebp
mov dword [rsp + 0x40], r14d
lea rdi, [rax + 0x28]
cmp dword [rdi - 0x28], 0x11
ja case.default.0x10040d0dc
mov eax, dword [rdi - 0x28]
lea rbx, [0x10042ffbc]
movsxd rax, dword [rbx + rax*4]
add rax, rbx
jmp rax
mov r8d, 0x453
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_oops___should_never_get_here_n
call sub.msys_gpg_error_0.dll_gpgrt_log_debug
nop word [rax + rax]
add rbp, 1
add rdi, 0x50
add r12, 0x10
cmp r15, rbp
jne 0x10040d0c1
mov r14d, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x78]
jmp 0x10040cff8
mov r14, qword [rdi]
mov rbx, qword [rsp + 0x78]
test r14, r14
je 0x10040de41
mov rdx, r13
mov rcx, rbx
call fcn.10040bf20
cmp qword [rsp + 0xa0], 0x1f
jbe case.0x10040d0dc.35
cmp byte [rax + 4], 3
jne case.0x10040d0dc.35
mov rcx, r14
call sub.msys_2.0.dll_strlen
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
mov r9, rax
xor edx, edx
mov r8, r14
mov rcx, rbx
call fcn.10040c6b0
test eax, eax
je case.0x10040d0dc.35
nop dword [rax]
mov r14d, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
cmp qword [rsp + 0x1e0], 0
je 0x10040d19f
mov rax, qword [rsp + 0x1e0]
mov qword [rax], rbp
test r14d, r14d
je 0x10040cd4f
mov rax, qword [rsp + 0x1c8]
xor ebp, ebp
mov dword [rsp + 0x40], r14d
lea rdi, [rsp + 0x98]
mov r14, rbp
mov rcx, qword [rsp + 0x78]
mov ebp, dword [rsp + 0x4c]
lea r12, [rax + 8]
jmp 0x10040d223
cmp rdx, 0x1b
jbe 0x10040d20d
mov edx, dword [rax + 0x20]
bswap edx
mov dword [rsp + 0xa0], edx
mov eax, dword [rax + 0x24]
bswap eax
mov dword [rsp + 0xa4], eax
mov rcx, qword [r12 + 8]
mov r8d, ebp
mov rdx, r13
call qword [r12]
test eax, eax
jne 0x10040cd3e
mov rcx, qword [rsp + 0x78]
add r14, 1
add r12, 0x50
cmp r15, r14
je 0x10040cd54
cmp qword [r12], 0
je 0x10040d212
mov rdx, rdi
call fcn.10040bf20
mov rdx, qword [rsp + 0x98]
cmp rdx, 0x2f
jbe 0x10040d20d
movzx ecx, byte [rax + 5]
cmp rdx, 0x37
ja 0x10040d24f
cmp cl, 2
je 0x10040d20d
cmp word [rax + 0x10], 0
je 0x10040d20d
movzx edx, word [rax + 0x12]
rol dx, 8
movzx edx, dx
cmp cl, 2
jne 0x10040d1d8
cmp rdx, 0x37
jbe 0x10040d20d
cmp word [rax + 0x34], 0
jns 0x10040d1de
mov edx, dword [rax + 0x14]
bswap edx
mov dword [rsp + 0xa0], edx
mov eax, dword [rax + 0x18]
bswap eax
jmp 0x10040d1ef
mov eax, ebx
and eax, 0x7f000000
cmp eax, 0x8000000
je 0x10040d2d0
mov rdx, qword [rsp + 0x78]
mov rcx, rdx
call fcn.10040b460
mov dword [rsi + 0x1c], ebx
cmp qword [rsp + 0x38], 0
je 0x10040cdac
test r15, r15
jne 0x10040cd7d
jmp 0x10040cda2
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x78]
add qword [rax], 1
jmp 0x10040cff8
mov rcx, qword [rsp + 0x78]
mov rdx, r13
call fcn.10040bf20
mov r8, qword [rsp + 0xa0]
cmp r8, 0x27
jbe case.0x10040d0dc.35
movzx edx, word [rax + 0x10]
movzx r9d, byte [rax + 5]
movzx ecx, word [rax + 0x12]
rol dx, 8
movzx edx, dx
test rdx, rdx
je case.0x10040d0dc.35
cmp r9b, 2
mov r10d, 0x38
mov r9d, 0x1c
cmove r9, r10
rol cx, 8
movzx ecx, cx
cmp rcx, r9
jb case.0x10040d0dc.35
imul rdx, rcx
add rdx, 0x14
cmp r8, rdx
jb case.0x10040d0dc.35
mov rdx, qword [rax + 0x14]
lea rcx, [rax + 0x14]
xor rdx, qword [rdi]
mov rax, qword [rax + 0x1c]
xor rax, qword [rdi + 8]
or rdx, rax
jne case.0x10040d0dc.35
mov eax, dword [rdi + 0x10]
cmp dword [rcx + 0x10], eax
jne case.0x10040d0dc.35
jmp case.0x10040d0dc.24
mov rbx, qword [rsp + 0x78]
mov rdx, r13
mov rcx, rbx
call fcn.10040bf20
cmp qword [rsp + 0xa0], 0x1f
jbe 0x10040d3ad
cmp byte [rax + 4], 2
je 0x10040dd5d
mov rdx, r13
mov rcx, rbx
call fcn.10040bf20
cmp qword [rsp + 0xa0], 0x1f
jbe case.0x10040d0dc.35
cmp byte [rax + 4], 3
jne case.0x10040d0dc.35
mov rcx, rbx
lea rdx, [rsp + 0x80]
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 0
call fcn.10040bf20
mov rbx, rax
mov rax, qword [rsp + 0x80]
cmp rax, 0x27
jbe case.0x10040d0dc.35
mov edx, dword [rbx + 8]
mov r14d, dword [rbx + 0xc]
bswap edx
bswap r14d
mov edx, edx
mov r14d, r14d
lea rcx, [rdx + r14]
mov qword [rsp + 0x58], rdx
cmp rax, rcx
jb case.0x10040d0dc.35
lea rcx, [rsp + 0x88]
call sub.msys_ksba_8.dll_ksba_reader_new
test eax, eax
jne case.0x10040d0dc.35
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x88]
mov r8, r14
add rdx, rbx
call sub.msys_ksba_8.dll_ksba_reader_set_mem
test eax, eax
jne 0x10040df90
lea rcx, [rsp + 0x90]
call sub.msys_ksba_8.dll_ksba_cert_new
test eax, eax
jne 0x10040df90
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x90]
call sub.msys_ksba_8.dll_ksba_cert_read_der
test eax, eax
jne 0x10040df90
mov rcx, qword [rsp + 0x90]
call sub.msys_ksba_8.dll_ksba_cert_get_public_key
mov rbx, rax
test rax, rax
je 0x10040df90
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rax
call sub.msys_gcrypt_20.dll_gcry_sexp_canon_len
mov r9, rax
test rax, rax
je 0x10040df92
xor edx, edx
lea rcx, [rsp + 0x98]
mov r8, rbx
call sub.msys_gcrypt_20.dll_gcry_sexp_sscan
test eax, eax
jne 0x10040e077
mov rcx, qword [rsp + 0x98]
mov rdx, r13
call sub.msys_gcrypt_20.dll_gcry_pk_get_keygrip
mov rcx, qword [rsp + 0x98]
mov r14, rax
call sub.msys_gcrypt_20.dll_gcry_sexp_release
test r14, r14
je 0x10040df92
mov rcx, rbx
call sub.msys_gcrypt_20.dll_gcry_free
mov rcx, qword [rsp + 0x90]
call sub.msys_ksba_8.dll_ksba_cert_release
mov rcx, qword [rsp + 0x88]
call sub.msys_ksba_8.dll_ksba_reader_release
mov r8d, 0x14
mov rdx, rdi
mov rcx, r13
call sub.msys_2.0.dll_memcmp
test eax, eax
jne case.0x10040d0dc.35
jmp case.0x10040d0dc.24
mov r14, qword [rdi]
mov rbx, qword [rsp + 0x78]
test r14, r14
je 0x10040de8b
mov rdx, r13
mov rcx, rbx
call fcn.10040bf20
cmp qword [rsp + 0xa0], 0x1f
jbe case.0x10040d0dc.35
cmp byte [rax + 4], 3
jne case.0x10040d0dc.35
mov rcx, r14
call sub.msys_2.0.dll_strlen
mov r8, r14
mov edx, 1
mov rcx, rbx
mov dword [rsp + 0x28], 1
mov r9, rax
mov dword [rsp + 0x20], 0
call fcn.10040c6b0
test eax, eax
je case.0x10040d0dc.35
jmp case.0x10040d0dc.24
cmp qword [rsp + 0x38], 0
je 0x10040dcfb
mov eax, dword [r12]
mov r14, qword [r12 + 8]
mov dword [rsp + 0x58], eax
mov rbx, qword [rsp + 0x78]
test r14, r14
je 0x10040de66
mov rdx, r13
mov rcx, rbx
call fcn.10040bf20
cmp qword [rsp + 0xa0], 0x1f
jbe case.0x10040d0dc.35
cmp byte [rax + 4], 3
jne case.0x10040d0dc.35
mov r8d, dword [rsp + 0x58]
mov rdx, r14
mov rcx, rbx
call fcn.10040c8b0
test eax, eax
je case.0x10040d0dc.35
jmp case.0x10040d0dc.24
cmp qword [rsp + 0x38], 0
je 0x10040dd0c
mov eax, dword [r12]
mov r9, qword [r12 + 8]
mov dword [rsp + 0x60], eax
mov r14, qword [rdi]
mov rbx, qword [rsp + 0x78]
test r14, r14
je 0x10040df46
test r9, r9
je 0x10040df21
mov rdx, r13
mov rcx, rbx
mov qword [rsp + 0x58], r9
call fcn.10040bf20
cmp qword [rsp + 0xa0], 0x1f
jbe case.0x10040d0dc.35
cmp byte [rax + 4], 3
mov r9, qword [rsp + 0x58]
jne case.0x10040d0dc.35
mov rcx, r14
mov qword [rsp + 0x68], r9
call sub.msys_2.0.dll_strlen
mov r8d, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
mov rcx, rbx
mov qword [rsp + 0x58], rax
call fcn.10040c8b0
test eax, eax
je case.0x10040d0dc.35
mov dword [rsp + 0x28], 1
mov r9, qword [rsp + 0x58]
mov dword [rsp + 0x20], 0
jmp 0x10040d168
mov rcx, qword [rsp + 0x78]
mov rdx, r13
movzx ebx, byte [rdi + 0x22]
call fcn.10040bf20
mov rcx, qword [rsp + 0xa0]
cmp rcx, 0x27
jbe 0x10040d970
movzx r11d, byte [rax + 5]
movzx r14d, word [rax + 0x12]
mov edx, 0x1c
mov r8d, 0x38
movzx r9d, word [rax + 0x10]
rol r14w, 8
cmp r11b, 2
cmove rdx, r8
movzx r14d, r14w
cmp r14, rdx
jb 0x10040d970
rol r9w, 8
movzx r9d, r9w
mov rdx, r9
imul rdx, r14
add rdx, 0x14
cmp rcx, rdx
jb 0x10040d970
movzx r10d, bl
lea rcx, [rax + 0x14]
xor ebx, ebx
test r9, r9
je 0x10040d970
mov qword [rsp + 0x50], rbp
mov ebp, r11d
mov qword [rsp + 0x60], r12
mov r12, r9
mov qword [rsp + 0x1c0], rsi
mov esi, r10d
mov qword [rsp + 0x58], r13
mov r13, r14
mov r14, rcx
jmp 0x10040d7a0
add rbx, 1
add r14, r13
cmp r12, rbx
je 0x10040de25
mov eax, 0x14
mov r8d, 0x14
cmp bpl, 2
jne 0x10040d7ce
movzx edx, word [r14 + 0x20]
rol dx, 8
and dx, 0x80
cmp dx, 1
sbb eax, eax
and eax, 0xfffffff4
add eax, 0x20
movsxd r8, eax
cmp esi, eax
jne 0x10040d790
mov rdx, rdi
mov rcx, r14
call sub.msys_2.0.dll_memcmp
test eax, eax
jne 0x10040d790
mov rax, rbx
mov rbp, qword [rsp + 0x50]
mov r14d, dword [rsp + 0x40]
add eax, 1
mov ebx, dword [rsp + 0x48]
mov r13, qword [rsp + 0x58]
mov dword [rsp + 0x50], eax
mov rsi, qword [rsp + 0x1c0]
jmp 0x10040d189
mov r14, qword [rsp + 0x78]
mov r8d, dword [rdi + 4]
lea rdx, [rsp + 0x98]
mov ebx, dword [rdi]
mov rcx, r14
mov dword [rsp + 0x50], r8d
call fcn.10040bf20
mov rdx, rax
mov rax, qword [rsp + 0x98]
cmp rax, 0x2f
jbe 0x10040d970
movzx r10d, byte [rdx + 5]
mov r8d, dword [rsp + 0x50]
cmp r10b, 2
jne 0x10040d85f
cmp rax, 0x37
jbe 0x10040d970
mov eax, ebx
mov ecx, r8d
mov r9d, r8d
mov r11d, ebx
shr eax, 0x18
shr r9d, 0x10
mov dword [rsp + 0x50], eax
movzx eax, r8b
movzx r9d, r9b
shr ecx, 0x18
mov qword [rsp + 0x58], rax
mov eax, r8d
movzx ecx, cl
shr r11d, 0x10
movzx eax, ah
movzx r11d, r11b
mov r8, rax
mov rax, qword [rsp + 0x58]
shl rax, 8
or rax, r8
shl rax, 8
or rax, r9
mov r9d, 8
shl rax, 8
or rax, rcx
movzx ecx, bl
movzx ebx, bh
shl rax, 8
or rax, rcx
movzx ecx, byte [rsp + 0x50]
shl rax, 8
or rax, rbx
shl rax, 8
or rax, r11
shl rax, 8
or rax, rcx
mov qword [rsp + 0xa0], rax
cmp r10b, 2
jne 0x10040d8f9
cmp word [rdx + 0x34], 0
js 0x10040dc92
mov r8d, 0xc
mov rdx, r13
mov rcx, r14
call fcn.10040c940
mov dword [rsp + 0x50], eax
jmp 0x10040d964
mov r14, qword [rsp + 0x78]
mov rdx, r13
mov ebx, dword [rdi + 4]
mov rcx, r14
call fcn.10040bf20
mov rdx, qword [rsp + 0xa0]
cmp rdx, 0x2f
jbe 0x10040d970
cmp byte [rax + 5], 2
je 0x10040dd1d
bswap ebx
mov dword [rsp + 0x98], ebx
mov r9d, 4
lea rdx, [rsp + 0x98]
mov r8d, 0x10
mov rcx, r14
call fcn.10040c940
mov dword [rsp + 0x50], eax
mov edx, dword [rsp + 0x50]
test edx, edx
jne case.0x10040d0dc.24
mov dword [rsp + 0x50], 0
jmp case.0x10040d0dc.35
mov r14, qword [rdi]
mov rbx, qword [rsp + 0x78]
test r14, r14
je 0x10040dca9
mov rdx, r13
mov rcx, rbx
call fcn.10040bf20
cmp qword [rsp + 0xa0], 0x1f
jbe 0x10040daf0
movzx edx, byte [rax + 4]
lea eax, [rdx - 2]
cmp eax, 1
ja 0x10040daf0
cmp edx, 2
je 0x10040dc81
mov rcx, r14
mov dword [rsp + 0x4c], edx
call sub.msys_2.0.dll_strlen
mov edx, dword [rsp + 0x4c]
test rax, rax
mov r8, rax
je 0x10040d9e7
lea rax, [rax - 1]
cmp byte [r14 + r8 - 1], 0x3e
cmove r8, rax
xor eax, eax
cmp edx, 3
mov r9d, 1
sete al
mov rdx, r14
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.10040c430
mov dword [rsp + 0x4c], eax
test eax, eax
je 0x10040daf0
jmp case.0x10040d0dc.24
mov r14, qword [rdi]
mov rbx, qword [rsp + 0x78]
test r14, r14
je 0x10040dca9
mov rdx, r13
mov rcx, rbx
call fcn.10040bf20
cmp qword [rsp + 0xa0], 0x1f
jbe 0x10040daf0
movzx edx, byte [rax + 4]
lea eax, [rdx - 2]
cmp eax, 1
ja 0x10040daf0
cmp edx, 2
je 0x10040dc70
mov rcx, r14
mov dword [rsp + 0x4c], edx
call sub.msys_2.0.dll_strlen
mov edx, dword [rsp + 0x4c]
test rax, rax
mov r8, rax
je 0x10040da82
lea rax, [rax - 1]
cmp byte [r14 + r8 - 1], 0x3e
cmove r8, rax
xor eax, eax
cmp edx, 3
mov rcx, rbx
sete al
mov rdx, r14
xor r9d, r9d
mov dword [rsp + 0x20], eax
call fcn.10040c430
mov dword [rsp + 0x4c], eax
test eax, eax
je case.0x10040d0dc.35
jmp case.0x10040d0dc.24
mov r14, qword [rdi]
mov rbx, qword [rsp + 0x78]
test r14, r14
je 0x10040dedd
mov rdx, r13
mov rcx, rbx
call fcn.10040bf20
cmp qword [rsp + 0xa0], 0x1f
jbe 0x10040daf0
movzx eax, byte [rax + 4]
mov edx, eax
sub eax, 2
cmp eax, 1
jbe 0x10040dcce
nop dword [rax]
mov dword [rsp + 0x4c], 0
jmp case.0x10040d0dc.35
mov r14, qword [rdi]
mov rbx, qword [rsp + 0x78]
test r14, r14
je 0x10040deb0
mov rdx, r13
mov rcx, rbx
call fcn.10040bf20
cmp qword [rsp + 0xa0], 0x1f
jbe 0x10040daf0
movzx eax, byte [rax + 4]
mov byte [rsp + 0x4c], al
sub eax, 2
cmp eax, 1
ja 0x10040daf0
mov rcx, r14
call sub.msys_2.0.dll_strlen
movzx edx, byte [rsp + 0x4c]
mov dword [rsp + 0x20], 0
mov r9, rax
xor eax, eax
cmp dl, 3
sete al
mov dword [rsp + 0x28], eax
mov r8, r14
mov edx, 0xffffffff
mov rcx, rbx
call fcn.10040c6b0
mov dword [rsp + 0x4c], eax
test eax, eax
je 0x10040daf0
jmp case.0x10040d0dc.24
xor ecx, ecx
call sub.msys_gcrypt_20.dll_gcry_malloc
mov qword [r13 + 8], rax
mov rcx, rax
test rax, rax
je 0x10040e089
mov dword [r13], 0
mov rdx, qword [rbx]
jmp 0x10040cf3a
mov ebx, 0x8000037
jmp 0x10040cdac
mov rdx, rcx
cmp ebx, 0xffffffff
jne 0x10040dbc2
call fcn.10040b460
mov dword [rsi + 0x18], 1
jmp 0x10040d2b6
cmp eax, 0x3fff
je 0x10040dbb1
jmp 0x10040d2ab
mov eax, 0xffffffff
jmp 0x10040d057
mov rax, qword [rsi]
lea rcx, [rsi + 0x10]
xor r8d, r8d
lea rdx, [rax + 0x30]
call fcn.100409fe0
mov ebx, eax
test eax, eax
jne 0x10040cda2
mov rax, qword [rsp + 0x1c8]
cmp dword [rax], 0x10
je 0x10040ce00
test rdi, rdi
je 0x10040ce00
mov rcx, qword [rsi + 0x10]
xor r8d, r8d
mov rdx, rdi
call sub.msys_gpg_error_0.dll_gpgrt_fseeko
test eax, eax
jne 0x10040e039
mov rdx, qword [rsi + 0x10]
xor ecx, ecx
xor r8d, r8d
call fcn.10040bfc0
mov ecx, eax
test eax, eax
je 0x10040ce00
call sub.msys_gpg_error_0.dll_gpg_strerror
lea rcx, str._s:_skipping_last_found_blob_failed:__s_n
lea rdx, str.keybox_search
mov r8, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_debug
mov rcx, qword [rsp + 0x38]
call sub.msys_gcrypt_20.dll_gcry_free
mov ebx, 0x800007e
jmp 0x10040cdac
xor eax, eax
cmp byte [r14], 0x3c
sete al
add r14, rax
jmp 0x10040da5c
xor eax, eax
cmp byte [r14], 0x3c
sete al
add r14, rax
jmp 0x10040d9c1
xor r8d, r8d
mov rdx, r13
mov rcx, r14
call fcn.10040c940
mov dword [rsp + 0x50], eax
jmp 0x10040d964
lea r9, str.name
mov r8d, 0x350
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_assertion__s_failed_n
call sub.msys_gpg_error_0.dll_gpgrt_log_debug
jmp 0x10040daf0
mov rcx, r14
mov byte [rsp + 0x4c], dl
call sub.msys_2.0.dll_strlen
movzx edx, byte [rsp + 0x4c]
mov dword [rsp + 0x20], 1
mov r9, rax
xor eax, eax
cmp dl, 3
sete al
mov dword [rsp + 0x28], eax
jmp 0x10040db58
movzx eax, word [rdi - 8]
mov r14, qword [rdi - 0x10]
mov dword [rsp + 0x58], eax
jmp 0x10040d5d9
movzx eax, word [rdi - 8]
mov r9, qword [rdi - 0x10]
mov dword [rsp + 0x60], eax
jmp 0x10040d649
cmp rdx, 0x37
jbe 0x10040d970
bswap ebx
mov dword [rsp + 0x98], ebx
cmp word [rax + 0x34], 0
jns 0x10040d944
lea rdx, [rsp + 0x98]
mov r9d, 4
xor r8d, r8d
mov rcx, r14
call fcn.10040c940
mov dword [rsp + 0x50], eax
jmp 0x10040d964
lea rdx, [rsp + 0x98]
mov rcx, rbx
call fcn.10040bf20
mov r8, qword [rsp + 0x98]
cmp r8, 0x27
jbe case.0x10040d0dc.35
mov ecx, dword [rax + 8]
mov edx, dword [rax + 0xc]
bswap ecx
bswap edx
mov ecx, ecx
mov edx, edx
lea r9, [rcx + rdx]
cmp r8, r9
jb case.0x10040d0dc.35
add rcx, rax
xor r8d, r8d
mov r9, r13
call fcn.1004103f0
test eax, eax
jne case.0x10040d0dc.35
mov rax, qword [rsp + 0xc0]
mov rdx, qword [rsp + 0xc8]
xor rax, qword [rdi]
xor rdx, qword [rdi + 8]
or rax, rdx
je 0x10040dfc6
mov eax, dword [rsp + 0xa4]
test eax, eax
je 0x10040dfb9
lea rax, [rsp + 0x100]
jmp 0x10040ddf5
mov rax, qword [rax]
test rax, rax
je 0x10040dfb9
mov rdx, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
xor rdx, qword [rdi]
xor rcx, qword [rdi + 8]
or rdx, rcx
jne 0x10040dde9
mov ebx, dword [rdi + 0x10]
cmp dword [rax + 0x20], ebx
jne 0x10040dde9
mov rcx, r13
mov r14d, dword [rsp + 0x40]
xor ebx, ebx
call fcn.100410370
jmp 0x10040d189
mov rbp, qword [rsp + 0x50]
mov r12, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x1c0]
mov r13, qword [rsp + 0x58]
jmp 0x10040d970
lea r9, str.name
mov r8d, 0x304
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_assertion__s_failed_n
call sub.msys_gpg_error_0.dll_gpgrt_log_debug
jmp case.0x10040d0dc.35
lea r9, [0x10042ffb8]
mov r8d, 0x322
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_assertion__s_failed_n
call sub.msys_gpg_error_0.dll_gpgrt_log_debug
jmp case.0x10040d0dc.35
lea r9, str.name
mov r8d, 0x32e
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_assertion__s_failed_n
call sub.msys_gpg_error_0.dll_gpgrt_log_debug
jmp case.0x10040d0dc.35
lea r9, str.name
mov r8d, 0x33e
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_assertion__s_failed_n
call sub.msys_gpg_error_0.dll_gpgrt_log_debug
mov dword [rsp + 0x4c], 0
jmp case.0x10040d0dc.35
lea r9, str.name
mov r8d, 0x33e
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_assertion__s_failed_n
call sub.msys_gpg_error_0.dll_gpgrt_log_debug
jmp 0x10040daf0
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x38], rax
test rax, rax
je 0x10040df6b
mov qword [rsp + 0x38], 0
xor r14d, r14d
jmp 0x10040cfcd
lea r9, [0x10042ffb8]
mov r8d, 0x314
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_assertion__s_failed_n
call sub.msys_gpg_error_0.dll_gpgrt_log_debug
jmp case.0x10040d0dc.35
lea r9, str.name
mov r8d, 0x313
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_assertion__s_failed_n
call sub.msys_gpg_error_0.dll_gpgrt_log_debug
jmp case.0x10040d0dc.35
mov rax, qword [rsi]
lea rcx, [rsi + 0x10]
xor r8d, r8d
lea rdx, [rax + 0x30]
call fcn.100409fe0
mov ebx, eax
test eax, eax
je 0x10040df10
jmp 0x10040cda2
xor ebx, ebx
mov rcx, rbx
call sub.msys_gcrypt_20.dll_gcry_free
mov rcx, qword [rsp + 0x90]
call sub.msys_ksba_8.dll_ksba_cert_release
mov rcx, qword [rsp + 0x88]
call sub.msys_ksba_8.dll_ksba_reader_release
jmp case.0x10040d0dc.35
mov rcx, r13
call fcn.100410370
jmp case.0x10040d0dc.35
mov eax, dword [rdi + 0x10]
cmp dword [rsp + 0xd0], eax
jne 0x10040ddd0
jmp 0x10040de11
mov rsi, qword [rsp + 0x1c0]
mov r13, rdi
mov rdi, qword [rsp + 0x40]
call sub.msys_gpg_error_0.dll_gpg_err_code_from_syserror
mov rbx, r13
movzx edx, ax
or edx, 0x8000000
test eax, eax
cmovne eax, edx
shl rbx, 4
mov dword [rsi + 0x1c], eax
mov rax, qword [rsp + 0x38]
add rbx, rax
test r13, r13
je 0x10040e027
mov rcx, qword [rdi + 8]
add rdi, 0x10
call sub.msys_gcrypt_20.dll_gcry_free
cmp rdi, rbx
jne 0x10040e015
mov rcx, qword [rsp + 0x38]
call sub.msys_gcrypt_20.dll_gcry_free
mov ebx, dword [rsi + 0x1c]
jmp 0x10040cdac
call sub.msys_gpg_error_0.dll_gpg_err_code_from_syserror
mov ecx, eax
movzx eax, ax
or eax, 0x8000000
test ecx, ecx
cmovne ecx, eax
call sub.msys_gpg_error_0.dll_gpg_strerror
lea rdx, str.keybox_search
lea rcx, str._s:_seeking_to_last_found_offset_failed:__s_n
mov r8, rax
call sub.msys_gpg_error_0.dll_gpgrt_log_debug
mov rcx, qword [rsp + 0x38]
call sub.msys_gcrypt_20.dll_gcry_free
jmp 0x10040dc63
mov rcx, qword [rsp + 0x98]
call sub.msys_gcrypt_20.dll_gcry_sexp_release
jmp 0x10040df92
mov rsi, qword [rsp + 0x1c0]
mov r13, rdi
mov rdi, qword [rsp + 0x40]
call fcn.10040c410
mov dword [rsi + 0x1c], eax
test r13, r13
je 0x10040e027
mov rax, qword [rsp + 0x38]
mov rbx, r13
shl rbx, 4
add rbx, rax
mov rcx, qword [rdi + 8]
add rdi, 0x10
call sub.msys_gcrypt_20.dll_gcry_free
cmp rbx, rdi
jne 0x10040e0b5
jmp 0x10040e027
mov ebx, 0x8000037
jmp 0x10040d2ab
mov r14d, dword [rsp + 0x40]
mov ebx, 0x8000037
jmp 0x10040d189