Function at 0x140146950
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 qword [rsp + 0x30], r12
mov r15, r8
mov rdi, rdx
mov rbp, rcx
mov esi, r12d
lea r14d, [r12 + 0x5a]
test rdx, rdx
jne 0x14014698e
xor eax, eax
jmp 0x140146c4a
test r15, r15
je 0x140146c47
test rbx, rbx
je 0x140146c47
mov r8d, 8
lea rdx, str.sha256__
mov rcx, rdi
call fcn.14028edb0
test eax, eax
jne 0x140146b3b
mov rax, qword [0x1403a8110]
cmp qword [rax + 0xb8], rsi
je 0x140146c47
mov ecx, 0x20
call qword [fcn.140280918]
mov rsi, rax
test rax, rax
je 0x140146a88
mov r8, rax
mov r9d, 0x20
mov rax, qword [0x1403a8110]
mov rdx, rbx
mov rcx, r15
call qword [rax + 0xb8]
test eax, eax
jne 0x140146c4a
lea rax, [rsp + 0x38]
mov r8d, 0x20
lea r9, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, rbp
call fcn.140158100
mov rcx, rsi
mov ebx, eax
call qword [fcn.1402804a8]
test ebx, ebx
je 0x140146a42
mov eax, ebx
jmp 0x140146c4a
mov r8, qword [rsp + 0x78]
lea rdx, str._public_key_hash:_sha256___s
mov rcx, rbp
call fcn.140145270
or rbx, 0xffffffffffffffff
nop word [rax + rax]
cmp byte [rdi + rbx + 1], r12b
lea rbx, [rbx + 1]
jne 0x140146a60
lea rcx, [rbx + 1]
call qword [fcn.140280918]
mov rsi, rax
test rax, rax
jne 0x140146a92
mov rcx, qword [rsp + 0x78]
call qword [fcn.1402804a8]
mov eax, reloc.WLDAP32.dll_Ordinal_27
jmp 0x140146c4a
lea r8, [rbx + 1]
mov rdx, rdi
mov rcx, rsi
call fcn.140278ed0
mov rdi, rsi
nop dword [rax]
nop dword [rax + rax]
lea rdx, str._sha256__
mov rcx, rdi
call fcn.14027bd3c
mov rbx, rax
test rax, rax
je 0x140146aca
mov byte [rax], r12b
lea rdx, [rdi + 8]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r12b
jne 0x140146ad2
mov r8, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x78]
cmp r8, rax
jne 0x140146af6
mov rcx, rdi
call fcn.14027b470
test eax, eax
je 0x140146b36
test rbx, rbx
je 0x140146b1a
lea rdx, str.sha256__
mov byte [rbx], 0x3b
mov rcx, rbx
call fcn.14027bd3c
mov rdi, rax
test rax, rax
jne 0x140146ab0
mov rdi, qword [rsp + 0x78]
mov rcx, rdi
call qword [fcn.1402804a8]
mov rcx, rsi
mov qword [rsp + 0x78], r12
call qword [fcn.1402804a8]
jmp 0x140146c47
mov r14d, r12d
jmp 0x140146b1a
lea rdx, [0x14035a6f4]
mov rcx, rdi
call fcn.1401744b0
mov rbp, rax
test rax, rax
je 0x140146c47
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 2]
call fcn.14028b3f4
test eax, eax
jne 0x140146c26
mov rcx, rbp
call fcn.14028b928
xor r8d, r8d
movsxd rdi, eax
xor edx, edx
mov rcx, rbp
call fcn.14028b3f4
test eax, eax
jne 0x140146c26
cmp edi, 0x100000
ja 0x140146c26
mov rcx, rdi
call fcn.14004ec90
mov rdi, rax
cmp rbx, rax
ja 0x140146c26
lea rcx, [rax + 1]
call qword [fcn.140280918]
mov rsi, rax
test rax, rax
je 0x140146c26
mov r9, rbp
mov r8d, 1
mov rdx, rdi
mov rcx, rax
call fcn.14028e684
cmp eax, 1
jne 0x140146c26
cmp rbx, rdi
jne 0x140146bef
mov r8, rbx
mov rdx, rsi
mov rcx, r15
call fcn.14027b470
test eax, eax
jne 0x140146c26
mov r14d, r12d
jmp 0x140146c26
lea r8, [rsp + 0x78]
mov byte [rdi + rsi], r12b
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.140147c00
test eax, eax
jne 0x140146c26
cmp rbx, qword [rsp + 0x78]
jne 0x140146c26
mov rdx, qword [rsp + 0x30]
mov r8, rbx
mov rcx, r15
call fcn.14027b470
test eax, eax
cmove r14d, r12d
mov rcx, rsi
call qword [fcn.1402804a8]
mov rcx, qword [rsp + 0x30]
call qword [fcn.1402804a8]
mov rcx, rbp
mov qword [rsp + 0x30], r12
call fcn.14028ae54
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