Function at 0x1004c3ef0
Capabilities:
Enumerate pe sections

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x158
mov qword [rsp + 0x1a8], rdx
mov rsi, rcx
mov r15, r8
mov dword [rsp + 0x1b8], r9d
mov qword [rsp + 0x70], 0
test rcx, rcx
je 0x10049a007
mov rcx, qword [rcx + 0x28]
xor edi, edi
test rcx, rcx
je 0x1004991df
call fcn.100498450
mov rcx, qword [rsi + 0x28]
mov rdi, rax
call fcn.100497560
mov qword [rsi + 0x28], 0
mov ebx, dword [rsi + 0x1c]
test ebx, ebx
jne 0x1004992cc
mov r9d, dword [rsi + 0x18]
mov ebx, 0xffffffff
test r9d, r9d
jne 0x1004992cc
test r15, r15
je 0x10049a2a2
xor r14d, r14d
xor r13d, r13d
xor r12d, r12d
mov ebp, 1
mov rbx, qword [rsp + 0x1a8]
jmp 0x10049924d
cmp qword [rbx + 8], 0
cmovne r14d, ebp
cmp byte [rbx + 0x49], 0
je 0x100499238
test r13, r13
je 0x1004992e8
lea rax, [r12 + 1]
add rbx, 0x50
cmp r15, rax
je 0x100499310
mov r12, rax
cmp dword [rbx], 0x10
jne 0x100499220
mov rcx, rsi
xor edi, edi
call fcn.100499100
jmp 0x100499220
mov rbp, r14
mov r14d, dword [rsp + 0x40]
cmp r15, rbp
jne 0x100499636
mov rcx, qword [rsp + 0x70]
mov rdx, rcx
test ebx, ebx
jne 0x10049a430
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 0x1004992cc
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 0x1004992a8
mov rcx, qword [rsp + 0x38]
call sub.msys_gcrypt_20.dll_gcry_free
mov eax, ebx
add rsp, 0x158
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 0x100499238
call fcn.100498930
mov dword [rsi + 0x1c], eax
mov ebx, eax
jmp 0x1004992cc
cmp qword [rsi + 0x10], 0
mov qword [rsp + 0x38], r13
je 0x10049a040
cmp qword [rsp + 0x38], 0
je 0x1004994ed
mov rbp, qword [rsp + 0x38]
mov rax, qword [rsp + 0x1a8]
xor r13d, r13d
mov dword [rsp + 0x30], r14d
mov rdi, r13
mov qword [rsp + 0x1a0], rsi
mov qword [rsp + 0x40], rbp
lea rbx, [rax + 0x18]
mov r13, rbp
jmp 0x1004993a6
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 0x10049a392
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 0x1004994e0
mov rdi, rax
mov rbp, qword [rbx]
test rbp, rbp
je 0x10049938e
cmp byte [rbx + 0x31], 0
je 0x100499360
movzx eax, byte [rbp]
test al, al
je 0x100499fe0
cmp al, 0x2f
je 0x100499fe0
movzx ecx, word [rbx + 8]
xor eax, eax
add ecx, 1
jmp 0x1004993f1
movzx edx, byte [rbp + 1]
add rbp, 1
test dl, dl
je 0x1004994b0
cmp dl, 0x2f
je 0x1004994b0
mov r8d, eax
add eax, 1
cmp ecx, eax
jne 0x1004993d8
mov esi, ecx
and r8d, 1
sar esi, 1
mov ebp, r8d
movsxd rcx, esi
call sub.msys_gcrypt_20.dll_gcry_malloc
mov qword [r13 + 8], rax
mov rcx, rax
test rax, rax
je 0x10049a3f0
mov dword [r13], esi
mov rdx, qword [rbx]
test ebp, ebp
je 0x10049945a
movzx eax, byte [rdx]
cmp al, 0x39
ja 0x1004994c8
sub eax, 0x30
mov byte [rcx], al
add rdx, 1
add rcx, 1
jmp 0x10049945a
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 0x10049938e
cmp al, 0x2f
je 0x10049938e
cmp al, 0x39
jbe 0x1004994a3
cmp al, 0x46
ja 0x1004994a0
sub eax, 0x37
shl eax, 4
movzx r8d, byte [rdx + 1]
cmp r8b, 0x39
jbe 0x100499448
lea r10d, [r8 - 0x37]
lea r9d, [r8 - 0x57]
cmp r8b, 0x46
cmova r10d, r9d
mov r8d, r10d
jmp 0x10049944c
sub eax, 0x57
shl eax, 4
jmp 0x10049947b
lea ebp, [r8 + 2]
and eax, 1
mov esi, ebp
mov ebp, eax
sar esi, 1
movsxd rcx, esi
jmp 0x100499409
lea r10d, [rax - 0x37]
lea r8d, [rax - 0x57]
cmp al, 0x46
mov eax, r10d
cmova eax, r8d
jmp 0x100499437
mov r14d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x1a0]
lea rax, [rsp + 0x70]
mov dword [rsp + 0x4c], 0
mov rcx, qword [rsp + 0x70]
lea r13, [rsp + 0x80]
mov dword [rsp + 0x50], 0
mov qword [rsp + 0x30], rax
nop dword [rax]
call fcn.100497560
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsp + 0x30]
xor r8d, r8d
mov qword [rsp + 0x70], 0
call fcn.1004984e0
mov ebx, eax
movzx eax, ax
cmp bx, 0x43
je 0x1004997b0
mov rcx, qword [rsp + 0x70]
test ebx, ebx
jne 0x10049a011
mov rdx, r13
call fcn.100498440
cmp qword [rsp + 0x80], 0x1f
jbe 0x10049a036
movzx eax, byte [rax + 4]
cmp eax, 1
je 0x100499636
mov r8d, dword [rsp + 0x1b8]
mov rcx, qword [rsp + 0x70]
test r8d, r8d
je 0x100499592
cmp dword [rsp + 0x1b8], eax
jne 0x100499518
mov rdx, r13
call fcn.100498440
cmp qword [rsp + 0x80], 7
jbe 0x1004995c0
mov ecx, dword [rsi + 0x20]
movzx eax, word [rax + 6]
test ecx, ecx
jne 0x1004995c0
mov rcx, qword [rsp + 0x70]
test ah, 2
jne 0x100499518
nop
test r15, r15
je 0x100499636
mov rax, qword [rsp + 0x1a8]
mov rdi, qword [rsp + 0x38]
mov dword [rsp + 0x48], ebx
xor ebp, ebp
mov dword [rsp + 0x40], r14d
lea r12, [rax + 0x28]
cmp dword [r12 - 0x28], 0x11
ja case.default.0x100499600
mov eax, dword [r12 - 0x28]
lea rbx, [0x1004efe5c]
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 fcn.1004bcae0
nop dword [rax + rax]
add rbp, 1
add rdi, 0x10
add r12, 0x50
cmp r15, rbp
jne 0x1004995e1
mov r14d, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x70]
jmp 0x100499518
mov r14, qword [r12]
mov rbx, qword [rsp + 0x70]
test r14, r14
je 0x10049a22b
mov rdx, r13
mov rcx, rbx
call fcn.100498440
cmp qword [rsp + 0x80], 0x1f
jbe case.0x100499600.35
cmp byte [rax + 4], 3
jne case.0x100499600.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.100498bd0
test eax, eax
je case.0x100499600.35
nop word [rax + rax]
mov r14d, dword [rsp + 0x40]
mov ebx, dword [rsp + 0x48]
cmp qword [rsp + 0x1c0], 0
je 0x1004996bf
mov rax, qword [rsp + 0x1c0]
mov qword [rax], rbp
test r14d, r14d
je 0x10049926f
mov rax, qword [rsp + 0x1a8]
xor ebp, ebp
mov dword [rsp + 0x40], r14d
lea rdi, [rsp + 0x78]
mov r14, rbp
mov rcx, qword [rsp + 0x70]
mov ebp, dword [rsp + 0x4c]
lea r12, [rax + 8]
jmp 0x10049973b
cmp rdx, 0x1b
jbe 0x100499725
mov edx, dword [rax + 0x20]
bswap edx
mov dword [rsp + 0x80], edx
mov eax, dword [rax + 0x24]
bswap eax
mov dword [rsp + 0x84], eax
mov rcx, qword [r12 + 8]
mov r8d, ebp
mov rdx, r13
call qword [r12]
test eax, eax
jne 0x10049925e
mov rcx, qword [rsp + 0x70]
add r14, 1
add r12, 0x50
cmp r15, r14
je 0x100499274
cmp qword [r12], 0
je 0x10049972a
mov rdx, rdi
call fcn.100498440
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x2f
jbe 0x100499725
movzx ecx, byte [rax + 5]
cmp cl, 2
jne 0x100499764
cmp rdx, 0x37
jbe 0x100499725
cmp word [rax + 0x10], 0
je 0x100499725
movzx edx, word [rax + 0x12]
rol dx, 8
movzx edx, dx
cmp cl, 2
jne 0x1004996f0
cmp rdx, 0x37
jbe 0x100499725
cmp word [rax + 0x34], 0
jns 0x1004996f6
mov edx, dword [rax + 0x14]
bswap edx
mov dword [rsp + 0x80], edx
mov eax, dword [rax + 0x18]
bswap eax
jmp 0x100499707
mov eax, ebx
and eax, 0x7f000000
cmp eax, 0x8000000
je 0x1004997f0
mov rdx, qword [rsp + 0x70]
mov rcx, rdx
call fcn.100497560
mov dword [rsi + 0x1c], ebx
cmp qword [rsp + 0x38], 0
je 0x1004992cc
test r15, r15
jne 0x10049929d
jmp 0x1004992c2
mov rax, qword [rsp + 0x1c8]
mov rcx, qword [rsp + 0x70]
add qword [rax], 1
jmp 0x100499518
mov rcx, qword [rsp + 0x70]
mov rdx, r13
call fcn.100498440
mov r8, qword [rsp + 0x80]
cmp r8, 0x27
jbe case.0x100499600.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.0x100499600.35
cmp r9b, 2
mov r10d, 0x38
mov r9d, 0x1c
cmove r9, r10
rol cx, 8
movzx ecx, cx
cmp rcx, r9
jb case.0x100499600.35
imul rdx, rcx
add rdx, 0x14
cmp r8, rdx
jb case.0x100499600.35
mov rdx, qword [rax + 0x14]
lea rcx, [rax + 0x14]
xor rdx, qword [r12]
mov rax, qword [rax + 0x1c]
xor rax, qword [r12 + 8]
or rdx, rax
jne case.0x100499600.35
mov eax, dword [r12 + 0x10]
cmp dword [rcx + 0x10], eax
jne case.0x100499600.35
jmp case.0x100499600.24
mov rbx, qword [rsp + 0x70]
mov rdx, r13
mov rcx, rbx
call fcn.100498440
cmp qword [rsp + 0x80], 0x1f
jbe case.0x100499600.35
cmp byte [rax + 4], 2
jne case.0x100499600.35
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.100498440
mov r8, qword [rsp + 0x78]
cmp r8, 0x27
jbe case.0x100499600.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.0x100499600.35
add rcx, rax
xor r8d, r8d
mov r9, r13
call fcn.10049c540
test eax, eax
jne case.0x100499600.35
mov rax, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0xa8]
xor rax, qword [r12]
xor rdx, qword [r12 + 8]
or rax, rdx
je 0x10049a33d
mov eax, dword [rsp + 0x84]
test eax, eax
je 0x10049a330
lea rax, [rsp + 0xe0]
jmp 0x10049996d
mov rax, qword [rax]
test rax, rax
je 0x10049a330
mov rdx, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
xor rdx, qword [r12]
xor rcx, qword [r12 + 8]
or rdx, rcx
jne 0x100499961
mov ebx, dword [r12 + 0x10]
cmp dword [rax + 0x20], ebx
jne 0x100499961
mov rcx, r13
mov r14d, dword [rsp + 0x40]
xor ebx, ebx
call fcn.10049c4c0
jmp 0x1004996a9
mov r14, qword [r12]
mov rbx, qword [rsp + 0x70]
test r14, r14
je 0x10049a206
mov rdx, r13
mov rcx, rbx
call fcn.100498440
cmp qword [rsp + 0x80], 0x1f
jbe case.0x100499600.35
cmp byte [rax + 4], 3
jne case.0x100499600.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.100498bd0
test eax, eax
je case.0x100499600.35
jmp case.0x100499600.24
cmp qword [rsp + 0x38], 0
je 0x10049a177
mov eax, dword [rdi]
mov r14, qword [rdi + 8]
mov dword [rsp + 0x58], eax
mov rbx, qword [rsp + 0x70]
test r14, r14
je 0x10049a27d
mov rdx, r13
mov rcx, rbx
call fcn.100498440
cmp qword [rsp + 0x80], 0x1f
jbe case.0x100499600.35
cmp byte [rax + 4], 3
jne case.0x100499600.35
mov r8d, dword [rsp + 0x58]
mov rdx, r14
mov rcx, rbx
call fcn.100498dd0
test eax, eax
je case.0x100499600.35
jmp case.0x100499600.24
cmp qword [rsp + 0x38], 0
je 0x10049a163
mov eax, dword [rdi]
mov r9, qword [rdi + 8]
mov dword [rsp + 0x60], eax
mov r14, qword [r12]
mov rbx, qword [rsp + 0x70]
test r14, r14
je 0x10049a2e6
test r9, r9
je 0x10049a2c1
mov rdx, r13
mov rcx, rbx
mov qword [rsp + 0x58], r9
call fcn.100498440
cmp qword [rsp + 0x80], 0x1f
jbe case.0x100499600.35
cmp byte [rax + 4], 3
mov r9, qword [rsp + 0x58]
jne case.0x100499600.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.100498dd0
test eax, eax
je case.0x100499600.35
mov dword [rsp + 0x28], 1
mov r9, qword [rsp + 0x58]
mov dword [rsp + 0x20], 0
jmp 0x100499689
mov rcx, qword [rsp + 0x70]
mov rdx, r13
movzx ebx, byte [r12 + 0x22]
call fcn.100498440
mov rcx, qword [rsp + 0x80]
cmp rcx, 0x27
jbe 0x100499dc1
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 0x100499dc1
rol r9w, 8
movzx r9d, r9w
mov rdx, r9
imul rdx, r14
add rdx, 0x14
cmp rcx, rdx
jb 0x100499dc1
movzx r10d, bl
lea rcx, [rax + 0x14]
xor ebx, ebx
test r9, r9
je 0x100499dc1
mov qword [rsp + 0x50], rbp
mov rbp, r9
mov qword [rsp + 0x60], rdi
mov edi, r11d
mov qword [rsp + 0x1a0], rsi
mov esi, r10d
mov qword [rsp + 0x58], r13
mov r13, r14
mov r14, rcx
jmp 0x100499bf8
add rbx, 1
add r14, r13
cmp rbp, rbx
je 0x10049a1c5
mov eax, 0x14
mov r8d, 0x14
cmp dil, 2
jne 0x100499c26
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 0x100499be8
mov rdx, r12
mov rcx, r14
call fcn.1004bd010
test eax, eax
jne 0x100499be8
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 + 0x1a0]
jmp 0x1004996a9
mov r14, qword [rsp + 0x70]
mov r8d, dword [r12 + 4]
lea rdx, [rsp + 0x78]
mov ebx, dword [r12]
mov rcx, r14
mov dword [rsp + 0x50], r8d
call fcn.100498440
mov rdx, rax
mov rax, qword [rsp + 0x78]
cmp rax, 0x2f
jbe 0x100499dc1
movzx r10d, byte [rdx + 5]
mov r8d, dword [rsp + 0x50]
cmp r10b, 2
jne 0x100499cb4
cmp rax, 0x37
jbe 0x100499dc1
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 + 0x80], rax
cmp r10b, 2
jne 0x100499d4e
cmp word [rdx + 0x34], 0
js 0x10049a0fa
mov r8d, 0xc
mov rdx, r13
mov rcx, r14
call fcn.100498e60
mov dword [rsp + 0x50], eax
jmp 0x100499db5
mov r14, qword [rsp + 0x70]
mov rdx, r13
mov ebx, dword [r12 + 4]
mov rcx, r14
call fcn.100498440
mov rdx, qword [rsp + 0x80]
cmp rdx, 0x2f
jbe 0x100499dc1
cmp byte [rax + 5], 2
je 0x10049a18b
bswap ebx
mov dword [rsp + 0x78], ebx
lea rdx, [rsp + 0x78]
mov r9d, 4
mov r8d, 0x10
mov rcx, r14
call fcn.100498e60
mov dword [rsp + 0x50], eax
mov edx, dword [rsp + 0x50]
test edx, edx
jne case.0x100499600.24
mov dword [rsp + 0x50], 0
jmp case.0x100499600.35
mov r14, qword [r12]
mov rbx, qword [rsp + 0x70]
test r14, r14
je 0x10049a111
mov rdx, r13
mov rcx, rbx
call fcn.100498440
cmp qword [rsp + 0x80], 0x1f
jbe 0x100499f50
movzx edx, byte [rax + 4]
lea eax, [rdx - 2]
cmp eax, 1
ja 0x100499f50
cmp edx, 2
je 0x10049a0e9
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 0x100499e39
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.100498950
mov dword [rsp + 0x4c], eax
test eax, eax
je 0x100499f50
jmp case.0x100499600.24
mov r14, qword [r12]
mov rbx, qword [rsp + 0x70]
test r14, r14
je 0x10049a111
mov rdx, r13
mov rcx, rbx
call fcn.100498440
cmp qword [rsp + 0x80], 0x1f
jbe 0x100499f50
movzx edx, byte [rax + 4]
lea eax, [rdx - 2]
cmp eax, 1
ja 0x100499f50
cmp edx, 2
je 0x10049a0d8
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 0x100499edb
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.100498950
mov dword [rsp + 0x4c], eax
test eax, eax
je case.0x100499600.35
jmp case.0x100499600.24
mov r14, qword [r12]
mov rbx, qword [rsp + 0x70]
test r14, r14
je 0x10049a1e1
mov rdx, r13
mov rcx, rbx
call fcn.100498440
cmp qword [rsp + 0x80], 0x1f
jbe 0x100499f50
movzx eax, byte [rax + 4]
mov edx, eax
sub eax, 2
cmp eax, 1
jbe 0x10049a136
nop word [rax + rax]
mov dword [rsp + 0x4c], 0
jmp case.0x100499600.35
mov r14, qword [r12]
mov rbx, qword [rsp + 0x70]
test r14, r14
je 0x10049a250
mov rdx, r13
mov rcx, rbx
call fcn.100498440
cmp qword [rsp + 0x80], 0x1f
jbe 0x100499f50
movzx eax, byte [rax + 4]
mov byte [rsp + 0x4c], al
sub eax, 2
cmp eax, 1
ja 0x100499f50
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.100498bd0
mov dword [rsp + 0x4c], eax
test eax, eax
je 0x100499f50
jmp case.0x100499600.24
xor ecx, ecx
call sub.msys_gcrypt_20.dll_gcry_malloc
mov qword [r13 + 8], rax
mov rcx, rax
test rax, rax
je 0x10049a3f0
mov dword [r13], 0
mov rdx, qword [rbx]
jmp 0x10049945a
mov ebx, 0x8000037
jmp 0x1004992cc
mov rdx, rcx
cmp ebx, 0xffffffff
jne 0x10049a02a
call fcn.100497560
mov dword [rsi + 0x18], 1
jmp 0x1004997ce
cmp eax, 0x3fff
je 0x10049a019
jmp 0x1004997c3
mov eax, 0xffffffff
jmp 0x100499577
mov rax, qword [rsi]
lea rcx, [rsi + 0x10]
xor r8d, r8d
lea rdx, [rax + 0x30]
call fcn.100496ba0
mov ebx, eax
test eax, eax
jne 0x1004992c2
mov rax, qword [rsp + 0x1a8]
cmp dword [rax], 0x10
je 0x100499320
test rdi, rdi
je 0x100499320
mov rcx, qword [rsi + 0x10]
xor r8d, r8d
mov rdx, rdi
call sub.msys_gpg_error_0.dll_gpgrt_fseeko
test eax, eax
jne 0x10049a354
mov rdx, qword [rsi + 0x10]
xor ecx, ecx
xor r8d, r8d
call fcn.1004984e0
mov ecx, eax
test eax, eax
je 0x100499320
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 fcn.1004bcae0
mov rcx, qword [rsp + 0x38]
call sub.msys_gcrypt_20.dll_gcry_free
mov ebx, 0x800007e
jmp 0x1004992cc
xor eax, eax
cmp byte [r14], 0x3c
sete al
add r14, rax
jmp 0x100499eb5
xor eax, eax
cmp byte [r14], 0x3c
sete al
add r14, rax
jmp 0x100499e13
xor r8d, r8d
mov rdx, r13
mov rcx, r14
call fcn.100498e60
mov dword [rsp + 0x50], eax
jmp 0x100499db5
lea r9, str.name
mov r8d, 0x350
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_assertion__s_failed_n
call fcn.1004bcae0
jmp 0x100499f50
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 0x100499fb9
movzx eax, word [r12 - 8]
mov r9, qword [r12 - 0x10]
mov dword [rsp + 0x60], eax
jmp 0x100499a9e
movzx eax, word [r12 - 8]
mov r14, qword [r12 - 0x10]
mov dword [rsp + 0x58], eax
jmp 0x100499a36
cmp rdx, 0x37
jbe 0x100499dc1
bswap ebx
mov dword [rsp + 0x78], ebx
cmp word [rax + 0x34], 0
jns 0x100499d98
lea rdx, [rsp + 0x78]
mov r9d, 4
xor r8d, r8d
mov rcx, r14
call fcn.100498e60
mov dword [rsp + 0x50], eax
jmp 0x100499db5
mov rbp, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x1a0]
mov r13, qword [rsp + 0x58]
jmp 0x100499dc1
lea r9, str.name
mov r8d, 0x33e
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_assertion__s_failed_n
call fcn.1004bcae0
jmp 0x100499f50
lea r9, str.name
mov r8d, 0x32e
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_assertion__s_failed_n
call fcn.1004bcae0
jmp case.0x100499600.35
lea r9, str.name
mov r8d, 0x304
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_assertion__s_failed_n
call fcn.1004bcae0
jmp case.0x100499600.35
lea r9, str.name
mov r8d, 0x33e
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_assertion__s_failed_n
call fcn.1004bcae0
mov dword [rsp + 0x4c], 0
jmp case.0x100499600.35
lea r9, [0x1004efe58]
mov r8d, 0x322
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_assertion__s_failed_n
call fcn.1004bcae0
jmp case.0x100499600.35
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x38], rax
test rax, rax
je 0x10049a30b
mov qword [rsp + 0x38], 0
xor r14d, r14d
jmp 0x1004994ed
lea r9, [0x1004efe58]
mov r8d, 0x314
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_assertion__s_failed_n
call fcn.1004bcae0
jmp case.0x100499600.35
lea r9, str.name
mov r8d, 0x313
lea rdx, str.keybox_search.c
lea rcx, str._s:_d:_assertion__s_failed_n
call fcn.1004bcae0
jmp case.0x100499600.35
mov rax, qword [rsi]
lea rcx, [rsi + 0x10]
xor r8d, r8d
lea rdx, [rax + 0x30]
call fcn.100496ba0
mov ebx, eax
test eax, eax
je 0x10049a2b0
jmp 0x1004992c2
mov rcx, r13
call fcn.10049c4c0
jmp case.0x100499600.35
mov eax, dword [r12 + 0x10]
cmp dword [rsp + 0xb0], eax
jne 0x100499948
jmp 0x10049998d
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 fcn.1004bcae0
mov rcx, qword [rsp + 0x38]
call sub.msys_gcrypt_20.dll_gcry_free
jmp 0x10049a0cb
mov rsi, qword [rsp + 0x1a0]
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 0x10049a3de
mov rcx, qword [rdi + 8]
add rdi, 0x10
call sub.msys_gcrypt_20.dll_gcry_free
cmp rdi, rbx
jne 0x10049a3cc
mov rcx, qword [rsp + 0x38]
call sub.msys_gcrypt_20.dll_gcry_free
mov ebx, dword [rsi + 0x1c]
jmp 0x1004992cc
mov rsi, qword [rsp + 0x1a0]
mov r13, rdi
mov rdi, qword [rsp + 0x40]
call fcn.100498930
mov dword [rsi + 0x1c], eax
test r13, r13
je 0x10049a3de
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 0x10049a41c
jmp 0x10049a3de
mov ebx, 0x8000037
jmp 0x1004997c3
mov r14d, dword [rsp + 0x40]
mov ebx, 0x8000037
jmp 0x1004996a9