Function at 0x14023e7d0
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
xor r12d, r12d
mov r15, rcx
mov r13, rdx
mov rdi, r8
mov r14, r9
mov qword [rsp + 0x38], 0
test rdx, rdx
je 0x14023ebad
test r8, r8
je 0x14023e80b
test r9, r9
jne 0x14023e816
mov r12d, 0x5a
jmp 0x14023ebad
mov r8d, 8
lea rdx, str.sha256__
mov rcx, r13
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x14023e9bb
mov rax, qword [0x140288830]
mov r12d, 0x5a
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
cmp qword [rax + 0xb0], 0
je 0x14023ebad
mov rax, qword [0x14037a0e0]
mov ecx, 0x20
mov r12d, 0x1b
call qword [rax]
mov rsi, rax
test rax, rax
je 0x14023ebad
mov r8, rax
mov rax, qword [0x140288830]
mov rdx, r14
mov rcx, rdi
mov r9d, 0x20
call qword [rax + 0xb0]
mov r12d, eax
test eax, eax
jne 0x14023e8bd
lea r9, [rsp + 0x40]
lea r8, [rsp + 0x48]
mov edx, 0x20
mov rcx, rsi
call fcn.140227110
mov r12d, eax
mov rbx, qword [0x14037a0d0]
mov rcx, rsi
call qword [rbx]
test r12d, r12d
jne 0x14023ebad
test r15, r15
je 0x14023e907
test byte [r15 + 0x986], 0x20
je 0x14023e907
mov rax, qword [r15 + 0x1120]
test rax, rax
je 0x14023e8f3
cmp dword [rax + 8], 0
jle 0x14023e907
mov r8, qword [rsp + 0x48]
lea rdx, str._public_key_hash:_sha256___s
mov rcx, r15
call fcn.140239c50
mov rax, qword [0x14037a100]
mov rcx, r13
lea rdi, str._sha256__
lea rsi, str.sha256__
call qword [rax]
mov r14, rax
mov r13, rax
test rax, rax
jne 0x14023e970
mov rcx, qword [rsp + 0x48]
mov r12d, 0x1b
call qword [rbx]
jmp 0x14023ebad
add r13, 8
mov rcx, r13
call sub.msvcrt.dll_strlen
mov r8, rax
cmp rax, qword [rsp + 0x40]
je 0x14023e988
test r15, r15
je 0x14023e99b
mov byte [r15], 0x3b
mov rdx, rsi
mov rcx, r15
call sub.msvcrt.dll_strstr
mov r13, rax
test rax, rax
je 0x14023e99b
mov rdx, rdi
mov rcx, r13
call sub.msvcrt.dll_strstr
mov r15, rax
test rax, rax
je 0x14023e93e
mov byte [rax], 0
jmp 0x14023e93e
mov rcx, qword [rsp + 0x48]
mov rdx, r13
call sub.msvcrt.dll_memcmp
test eax, eax
jne 0x14023e954
jmp 0x14023e9a1
mov r12d, 0x5a
mov rcx, qword [rsp + 0x48]
call qword [rbx]
mov rcx, r14
mov qword [rsp + 0x48], 0
call qword [rbx]
jmp 0x14023ebad
lea rdx, [0x14036e8fd]
mov rcx, r13
call fcn.140259200
mov r15, rax
test rax, rax
je 0x14023e80b
xor edx, edx
mov r8d, 2
mov rcx, rax
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x14023eb78
mov rcx, r15
call sub.msvcrt.dll_ftell
xor r8d, r8d
xor edx, edx
mov rcx, r15
mov ebx, eax
call sub.msvcrt.dll_fseek
test eax, eax
jne 0x14023eb78
cmp ebx, 0x100000
ja 0x14023eb78
movsxd rcx, ebx
call fcn.140258ea0
mov rbx, rax
cmp r14, rax
ja 0x14023eb78
mov rbp, qword [0x14037a0e0]
lea rcx, [rax + 1]
call qword [rbp]
mov r13, rax
test rax, rax
je 0x14023eb78
mov r9, r15
mov r8d, 1
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_fread
mov r12d, 0x5a
dec eax
jne 0x14023eb89
cmp r14, rbx
jne 0x14023ea8e
mov r8, r14
mov rdx, r13
mov rcx, rdi
call sub.msvcrt.dll_memcmp
cmp eax, 1
sbb r12d, r12d
not r12d
and r12d, 0x5a
jmp 0x14023eb89
mov byte [r13 + rbx], 0
lea rdx, str._____BEGIN_PUBLIC_KEY_____
mov rcx, r13
call sub.msvcrt.dll_strstr
test rax, rax
je 0x14023eb89
mov rbx, rax
sub rbx, r13
je 0x14023eabe
cmp byte [rax - 1], 0xa
jne 0x14023eb89
add rbx, 0x1a
lea rdx, str._n_____END_PUBLIC_KEY_____
mov r12d, 0x5a
lea rcx, [r13 + rbx]
call sub.msvcrt.dll_strstr
mov rsi, rax
test rax, rax
je 0x14023eb89
sub rsi, r13
mov rax, rsi
sub rax, rbx
lea rcx, [rax + 1]
call qword [rbp]
mov rcx, rax
xor eax, eax
test rcx, rcx
je 0x14023eb89
lea r8, [rcx + rax]
cmp rsi, rbx
jbe 0x14023eb26
mov dl, byte [r13 + rbx]
cmp dl, 0xa
je 0x14023eb21
cmp dl, 0xd
je 0x14023eb21
mov byte [r8], dl
inc rax
inc rbx
jmp 0x14023eb03
mov byte [r8], 0
lea rdx, [rsp + 0x38]
lea r8, [rsp + 0x48]
mov qword [rsp + 0x28], rcx
call fcn.140226f60
mov rcx, qword [rsp + 0x28]
mov r12d, eax
mov rax, qword [0x14037a0d0]
call qword [rax]
test r12d, r12d
jne 0x14023eb83
cmp qword [rsp + 0x48], r14
jne 0x14023eb83
mov rdx, qword [rsp + 0x38]
mov r8, r14
mov rcx, rdi
call sub.msvcrt.dll_memcmp
test eax, eax
mov eax, 0x5a
cmovne r12d, eax
jmp 0x14023eb89
mov r12d, 0x5a
xor r13d, r13d
jmp 0x14023eb89
mov r12d, 0x5a
mov rbx, qword [0x14037a0d0]
mov rcx, r13
call qword [rbx]
mov rcx, qword [rsp + 0x38]
call qword [rbx]
mov rcx, r15
mov qword [rsp + 0x38], 0
call sub.msvcrt.dll_fclose
mov eax, r12d
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret