Function at 0x1400d5c30
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
xor r12d, r12d
mov rbx, r9
mov r15, r8
mov rdi, rdx
mov rbp, rcx
lea r14d, [r12 + 0x5a]
mov esi, r12d
mov qword [rsp + 0x30], r12
test rdx, rdx
jne 0x1400d5c6e
xor eax, eax
jmp 0x1400d5f32
test r8, r8
je 0x1400d5f2f
test rbx, rbx
je 0x1400d5f2f
lea rdx, str.sha256__
mov r8d, 8
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_strncmp]
test eax, eax
jne 0x1400d5e1d
mov rax, qword [case.0x1400d52b7.2]
cmp qword [rax + 0xb8], rsi
je 0x1400d5f2f
mov ecx, 0x20
call qword [sub.msvcrt.dll_malloc]
mov rsi, rax
test rax, rax
je 0x1400d5d68
mov r8, rax
mov rax, qword [case.0x1400d52b7.2]
mov r9d, 0x20
mov rdx, rbx
mov rcx, r15
call qword [rax + 0xb8]
test eax, eax
jne 0x1400d5f32
lea rax, [rsp + 0x38]
lea r9, [rsp + 0x78]
mov r8d, 0x20
mov rdx, rsi
mov rcx, rbp
mov qword [rsp + 0x20], rax
call fcn.1400f4a20
mov rcx, rsi
mov ebx, eax
call qword [fcn.14001c981]
test ebx, ebx
je 0x1400d5d23
mov eax, ebx
jmp 0x1400d5f32
mov r8, qword [rsp + 0x78]
lea rdx, str._t_public_key_hash:_sha256___s_n
mov rcx, rbp
call fcn.1400d8610
or rbx, 0xffffffffffffffff
nop dword [rax + rax]
cmp byte [rdi + rbx + 1], r12b
lea rbx, [rbx + 1]
jne 0x1400d5d40
lea rcx, [rbx + 1]
call qword [sub.msvcrt.dll_malloc]
mov rsi, rax
test rax, rax
jne 0x1400d5d72
mov rcx, qword [rsp + 0x78]
call qword [fcn.14001c981]
mov eax, 0x1b
jmp 0x1400d5f32
lea r8, [rbx + 1]
mov rdx, rdi
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rdi, rsi
nop dword [rax]
nop dword [rax + rax]
lea rdx, str._sha256__
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_strstr]
mov rbx, rax
test rax, rax
je 0x1400d5dab
mov byte [rax], r12b
lea rdx, [rdi + 8]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r12b
jne 0x1400d5db3
mov r8, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x78]
cmp r8, rax
jne 0x1400d5dd7
mov rcx, rdi
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1400d5e18
test rbx, rbx
je 0x1400d5dfc
lea rdx, str.sha256__
mov rcx, rbx
mov byte [rbx], 0x3b
call qword [sym.imp.msvcrt.dll_strstr]
mov rdi, rax
test rax, rax
jne 0x1400d5d90
mov rdi, qword [rsp + 0x78]
mov rcx, rdi
call qword [fcn.14001c981]
mov rcx, rsi
mov qword [rsp + 0x78], r12
call qword [fcn.14001c981]
jmp 0x1400d5f2f
mov r14d, r12d
jmp 0x1400d5dfc
lea rdx, [0x140122404]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_fopen]
mov rbp, rax
test rax, rax
je 0x1400d5f2f
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 2]
call qword [sym.imp.msvcrt.dll_fseek]
test eax, eax
jne 0x1400d5f0d
mov rcx, rbp
call qword [sym.imp.msvcrt.dll_ftell]
xor r8d, r8d
xor edx, edx
mov rcx, rbp
movsxd rdi, eax
call qword [sym.imp.msvcrt.dll_fseek]
test eax, eax
jne 0x1400d5f0d
cmp edi, 0x100000
ja 0x1400d5f0d
mov rcx, rdi
call fcn.1400e2020
mov rdi, rax
cmp rbx, rax
ja 0x1400d5f0d
lea rcx, [rax + 1]
call qword [sub.msvcrt.dll_malloc]
mov rsi, rax
test rax, rax
je 0x1400d5f0d
mov r9, rbp
mov r8d, 1
mov rdx, rdi
mov rcx, rax
call qword [sym.imp.msvcrt.dll_fread]
cmp eax, 1
jne 0x1400d5f0d
cmp rbx, rdi
jne 0x1400d5ed6
mov r8, rbx
mov rdx, rsi
mov rcx, r15
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x1400d5f0d
mov r14d, r12d
jmp 0x1400d5f0d
lea r8, [rsp + 0x78]
lea rdx, [rsp + 0x30]
mov rcx, rsi
mov byte [rdi + rsi], r12b
call fcn.1400d6f70
test eax, eax
jne 0x1400d5f0d
cmp rbx, qword [rsp + 0x78]
jne 0x1400d5f0d
mov rdx, qword [rsp + 0x30]
mov r8, rbx
mov rcx, r15
call sub.msvcrt.dll_memcmp
test eax, eax
cmove r14d, r12d
mov rcx, rsi
call qword [fcn.14001c981]
mov rcx, qword [rsp + 0x30]
call qword [fcn.14001c981]
mov rcx, rbp
mov qword [rsp + 0x30], r12
call qword [sym.imp.msvcrt.dll_fclose]
mov eax, r14d
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret