Function at 0x1400b8800
Capabilities:
Read file on windows

Disassembly:
push rbp
mov eax, 0x10100
mov rbp, rsp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
and rsp, 0xfffffffffffffff0
call fcn.140035990
xor r9d, r9d
sub rsp, rax
mov qword [rbp + 0x20], r8
xor r8d, r8d
mov r13, rcx
mov qword [rbp + 0x18], rdx
mov edx, 0x80000000
mov word [rsp + 0xb4], r8w
xor r8d, r8d
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xa8], 0
mov dword [rsp + 0xb0], 0
mov byte [rsp + 0xb6], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0xd0], 0
mov qword [rsp + 0xd8], 0
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
mov dword [rsp + 0x8c], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x10000080
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileA]
cmp rax, 0xffffffffffffffff
je 0x1400b8fc0
lea rbx, [rsp + 0x8c]
mov r12, rax
mov rcx, rax
mov qword [rsp + 0x20], 0
mov r15, qword [sym.imp.KERNEL32.dll_ReadFile]
mov r9, rbx
lea r14, [rsp + 0xa0]
mov r8d, 0x17
mov rdx, r14
call r15
test eax, eax
je 0x1400b8d70
cmp dword [rsp + 0x8c], 0x17
jne 0x1400b8d70
mov rax, qword [rsp + 0xa0]
movabs rdx, 0x1a167bef15feea18
cmp rax, rdx
jne 0x1400b8dc0
cmp dword [rsp + 0xa8], 2
jne 0x1400b8988
cmp qword [rbp + 0x18], 0
je 0x1400b912f
movzx r8d, word [rsp + 0xb5]
cmp r8w, 0x40
ja 0x1400b8f68
lea rax, [rsp + 0xc0]
mov r9, rbx
mov rcx, r12
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x78], rax
mov rdx, rax
call r15
test eax, eax
je 0x1400b8d10
movzx eax, word [rsp + 0xb5]
cmp eax, dword [rsp + 0x8c]
jne 0x1400b8d10
mov rdx, r14
mov r8d, 0x17
mov ecx, 0xedb88320
xor esi, esi
call fcn.1400702a0
mov rdi, qword [rsp + 0x78]
movzx r8d, word [rsp + 0xb5]
lea r14, [rsp + 0x100]
mov ecx, eax
mov rdx, rdi
call fcn.1400702a0
mov qword [rsp + 0x48], rdi
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x74], eax
movzx eax, word [rsp + 0xb5]
xor ecx, ecx
lea r8, [0x14027a9e0]
mov qword [rsp + 0x28], r13
lea rdi, [rsp + 0x98]
mov dword [rsp + 0x40], eax
movzx eax, byte [rsp + 0xac]
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x30], eax
lea rax, str.Wallet_file:__s__Wallet_Version:__d__type:__d__name:__.s_
mov qword [rsp + 0x20], rax
call fcn.14005aec0
jmp 0x1400b8acb
mov edx, dword [rsp + 0x8c]
test edx, edx
je 0x1400b8aea
cmp dword [rsp + 0xa8], 2
jne 0x1400b8a8f
cmp dword [rsp + 0x98], 2
je 0x1400b8aea
mov qword [rsp + 0x20], 0
mov r9, rbx
mov rdx, r14
mov rcx, r12
mov r8d, dword [rsp + 0x9c]
call r15
test eax, eax
je 0x1400b8ef0
mov eax, dword [rsp + 0x8c]
cmp dword [rsp + 0x9c], eax
jne 0x1400b8ef0
add esi, 1
mov r9, rbx
mov r8d, 8
mov rdx, rdi
mov rcx, r12
mov qword [rsp + 0x20], 0
call r15
test eax, eax
jne 0x1400b8a70
test esi, esi
je 0x1400b90e2
cmp dword [rsp + 0xa8], 2
jne 0x1400b8b07
cmp qword [rbp + 0x18], 0
jne 0x1400b9010
mov qword [rsp + 0x58], 0
mov edx, 0x60
mov ecx, 1
call sub.msvcrt.dll_calloc
mov r14, rax
test rax, rax
je 0x1400b91f1
mov edx, 0x118
mov ecx, 1
call sub.msvcrt.dll_calloc
mov qword [rsp + 0x68], rax
mov qword [r14 + 0x50], rax
test rax, rax
je 0x1400b91d1
mov rax, qword [rsp + 0x78]
mov edx, 0x41
mov rcx, r14
movsxd rsi, esi
movzx r9d, word [rsp + 0xb5]
lea r8, [0x14027afc4]
mov qword [rsp + 0x20], rax
call fcn.1401fd690
mov rdx, r13
mov r13, qword [rsp + 0x68]
mov r8d, 0x103
mov rcx, r13
call sub.msvcrt.dll_strncpy
mov qword [r13 + 0x108], rsi
mov ecx, 1
lea rdx, [rsi*8]
call sub.msvcrt.dll_calloc
mov qword [r13 + 0x110], rax
test rax, rax
je 0x1400b9179
movzx edx, word [rsp + 0xb5]
xor r9d, r9d
lea r8, [rsp + 0x90]
mov rcx, r12
add rdx, 0x17
mov qword [rsp + 0x90], rdx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
test eax, eax
je 0x1400b8e1d
xor eax, eax
mov qword [rsp + 0x50], r14
lea rsi, [rsp + 0x100]
mov r14, qword [rsp + 0x58]
mov qword [rsp + 0x60], rdi
lea r13, [rsp + 0x8100]
mov rdi, rax
jmp 0x1400b8c70
mov rcx, rsi
test r14, r14
je 0x1400b8c4b
mov r9, r13
mov rdx, rsi
mov rcx, r14
mov qword [rsp + 0x20], 0x8000
call qword [r14 + 0x48]
mov ecx, dword [rsp + 0x74]
mov rdx, r13
movsxd r8, eax
call fcn.1400702a0
mov edx, dword [rsp + 0x9c]
mov rcx, r13
mov dword [rsp + 0x74], eax
mov rax, qword [rsp + 0x68]
mov r8, qword [rax + 0x110]
add r8, rdi
add rdi, 8
mov qword [rsp + 0x78], r8
call fcn.140076a00
mov r8, qword [rsp + 0x78]
mov qword [r8], rax
mov qword [rsp + 0x20], 0
mov rdx, qword [rsp + 0x60]
mov r9, rbx
mov rcx, r12
mov r8d, 8
call r15
cmp eax, 1
jne 0x1400b8e18
mov eax, dword [rsp + 0x8c]
test eax, eax
je 0x1400b8e18
mov qword [rsp + 0x20], 0
mov r9, rbx
mov rdx, rsi
mov rcx, r12
mov r8d, dword [rsp + 0x9c]
call r15
test eax, eax
je 0x1400b9090
mov edx, dword [rsp + 0x9c]
mov r8d, dword [rsp + 0x8c]
cmp edx, r8d
jne 0x1400b9090
cmp dword [rsp + 0xa8], 2
jne 0x1400b8c10
cmp dword [rsp + 0x98], 2
jne 0x1400b8c10
mov r14, qword [rsp + 0x50]
mov ebx, dword [rsp + 0x100]
jmp 0x1400b8e22
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp qword [rbp + 0x20], 0
je 0x1400b8d27
mov rsi, qword [rbp + 0x20]
mov dword [rsi], 6
mov dword [rsp + 0x28], eax
lea rax, str.Error_reading_Wallet_name__err__lu
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
mov r9d, 7
lea r8, [0x14027a9e0]
xor r14d, r14d
call fcn.14005aec0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rsp, [rbp - 0x38]
mov rax, r14
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp qword [rbp + 0x20], 0
je 0x1400b8d87
mov rdi, qword [rbp + 0x20]
mov dword [rdi], 2
mov dword [rsp + 0x30], eax
lea rax, str.Error_reading_Wallet_file___s__header__err__lu
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
mov r9d, 7
xor r14d, r14d
lea r8, [0x14027a9e0]
mov qword [rsp + 0x28], r13
call fcn.14005aec0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400b8d59
mov qword [rsp + 0x30], rax
lea rax, str.Wallet___s__signature_mismatch___llX____llX_
xor ecx, ecx
mov r9d, 7
mov qword [rsp + 0x38], rdx
lea r8, [0x14027a9e0]
xor edx, edx
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r13
call fcn.14005aec0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp + 0x20], 0
je 0x1400b8e0b
mov rax, qword [rbp + 0x20]
mov dword [rax], 3
xor r14d, r14d
jmp 0x1400b8d59
mov r14, qword [rsp + 0x50]
mov ebx, 0xedb88320
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rsp + 0x58], 0
je 0x1400b8d59
mov eax, dword [rsp + 0x74]
or qword [r14 + 0x48], 3
cmp eax, ebx
je 0x1400b8ee0
mov dword [rsp + 0x28], eax
lea rax, str.Wallet_checksum_mismatch___x_____x
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x30], ebx
mov r9d, 7
lea r8, [0x14027a9e0]
mov qword [rsp + 0x20], rax
call fcn.14005aec0
mov r12, qword [r14 + 0x50]
test r12, r12
je 0x1400b8ec4
mov rcx, qword [r12 + 0x110]
test rcx, rcx
je 0x1400b8ebc
cmp qword [r12 + 0x108], 0
je 0x1400b8eb7
xor ebx, ebx
nop dword [rax]
mov rcx, qword [rcx + rbx*8]
add rbx, 1
call fcn.140075620
cmp rbx, qword [r12 + 0x108]
mov rcx, qword [r12 + 0x110]
jb 0x1400b8e98
call sub.msvcrt.dll_free
mov rcx, r12
call sub.msvcrt.dll_free
mov rcx, r14
xor r14d, r14d
call sub.msvcrt.dll_free
cmp qword [rbp + 0x20], 0
je 0x1400b8ee0
mov rax, qword [rbp + 0x20]
mov dword [rax], 0xb
mov rcx, qword [rsp + 0x58]
call fcn.1400c9410
jmp 0x1400b8d59
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x1400b8aea
cmp qword [rbp + 0x20], 0
je 0x1400b8f0f
mov rdi, qword [rbp + 0x20]
mov dword [rdi], 6
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x8c]
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], r13
mov r9d, 7
lea r8, [0x14027a9e0]
xor r14d, r14d
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x30], eax
lea rax, str.Wallet_file___s__I_O_error_reading_certificate_body___d____zd___error__lu
mov qword [rsp + 0x20], rax
call fcn.14005aec0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400b8d59
lea rax, str.Invalid_Wallet_name___s__length_____d_
mov qword [rsp + 0x28], r13
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
mov r9d, 7
lea r8, [0x14027a9e0]
mov dword [rsp + 0x30], 0x40
call fcn.14005aec0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp + 0x20], 0
je 0x1400b8e0b
mov rax, qword [rbp + 0x20]
xor r14d, r14d
mov dword [rax], 5
jmp 0x1400b8d59
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp qword [rbp + 0x20], 0
je 0x1400b8fd7
mov rsi, qword [rbp + 0x20]
mov dword [rsi], 1
mov dword [rsp + 0x30], eax
lea rax, str.Cant_open_file__s_for_read__error__lu
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x28], r13
mov r9d, 7
xor r14d, r14d
lea r8, [0x14027a9e0]
mov qword [rsp + 0x20], rax
call fcn.14005aec0
jmp 0x1400b8d59
mov rcx, qword [rbp + 0x18]
call sub.msvcrt.dll_strlen
mov r9, qword [rbp + 0x18]
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x28], 0
mov ecx, 4
mov qword [rsp + 0x20], rax
call fcn.1400c9c10
mov qword [rsp + 0x58], rax
test rax, rax
jne 0x1400b8b10
lea rax, str.Error_create_key_context
xor edx, edx
xor ecx, ecx
mov r9d, 7
mov qword [rsp + 0x20], rax
lea r8, [0x14027a9e0]
call fcn.14005aec0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp + 0x20], 0
je 0x1400b8e0b
mov rax, qword [rbp + 0x20]
xor r14d, r14d
mov dword [rax], 8
jmp 0x1400b8d59
mov r14, qword [rsp + 0x50]
mov ebx, 0xedb88320
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, 7
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x8c]
lea r8, [0x14027a9e0]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x9c]
mov dword [rsp + 0x28], eax
lea rax, str.Error_read_certificates_body___d____zd___error__lu
mov qword [rsp + 0x20], rax
call fcn.14005aec0
jmp 0x1400b8e22
lea rax, str.No_certificate___s__in_the_wallet_file___s_
mov qword [rsp + 0x28], r13
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
mov r9d, 7
lea r8, [0x14027a9e0]
call fcn.14005aec0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp + 0x20], 0
je 0x1400b8e0b
mov rax, qword [rbp + 0x20]
xor r14d, r14d
mov dword [rax], 7
jmp 0x1400b8d59
lea rax, str.Wallet___s__version_2_cannot_be_processed_w_o_password
mov qword [rsp + 0x28], r13
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8, [0x14027a9e0]
call fcn.14005aec0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp + 0x20], 0
je 0x1400b8e0b
mov rax, qword [rbp + 0x20]
xor r14d, r14d
mov dword [rax], 4
jmp 0x1400b8d59
lea rax, [0x14027a9f1]
mov r9d, 8
mov edx, 0x386
mov qword [rsp + 0x20], rax
lea r8, [0x14027a9e0]
lea rcx, str.dap_chain_wallet_open_file
call fcn.14005aec0
mov rcx, r14
call sub.msvcrt.dll_free
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp + 0x20], 0
je 0x1400b8e0b
mov rax, qword [rbp + 0x20]
xor r14d, r14d
mov dword [rax], 9
jmp 0x1400b8d59
lea rax, [0x14027a9f1]
mov r9d, 8
mov edx, 0x36f
mov qword [rsp + 0x20], rax
lea r8, [0x14027a9e0]
jmp 0x1400b9197
lea rax, [0x14027a9f1]
mov r9d, 8
lea r8, [0x14027a9e0]
mov edx, 0x366
mov qword [rsp + 0x20], rax
lea rcx, str.dap_chain_wallet_open_file
call fcn.14005aec0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp qword [rbp + 0x20], 0
jne 0x1400b91bf
jmp 0x1400b8e0b