Function at 0x140020e00
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xe0
mov rax, qword [0x1404b0028]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov rsi, rdx
mov qword [rbp - 0x29], rdx
mov rdi, rcx
mov qword [rbp - 0x59], rcx
mov qword [rbp - 0x21], rcx
mov qword [rbp - 0x19], rdx
mov dword [rbp - 0x39], 1
xor r14d, r14d
mov qword [rcx], r14
lea edx, [r14 + 1]
lea ecx, [rdx + 9]
call fcn.1402deebc
add rax, 8
mov qword [rdi], rax
mov dword [rbp - 0x39], 1
lea edx, [r14 + 1]
lea ecx, [rdx + 9]
call fcn.1402deebc
lea rbx, [rax + 8]
mov qword [rbp - 0x31], rbx
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x80000000
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r13, rax
cmp rax, 0xffffffffffffffff
jne 0x140020ec4
test rbx, rbx
je 0x140020ebc
lea rcx, [rbx - 8]
call fcn.1402d83b4
nop
mov rcx, qword [rsi]
jmp 0x140021366
mov dword [rbp - 0x69], r14d
mov qword [rsp + 0x20], r14
lea r9, [rbp - 0x69]
mov r8d, ntohs
lea rdx, [rbp - 1]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
movzx ecx, word [rbp + 3]
movzx eax, cx
shr ax, 8
mov byte [rbp - 0x79], al
mov byte [rbp - 0x78], cl
movzx edx, word [rbp - 0x79]
mov word [rbp + 3], dx
movzx ecx, word [rbp - 1]
movzx eax, cx
shr ax, 8
mov byte [rbp - 0x79], al
mov byte [rbp - 0x78], cl
movzx eax, word [rbp - 0x79]
mov word [rbp - 1], ax
movzx ecx, word [rbp + 1]
movzx eax, cx
shr ax, 8
mov byte [rbp - 0x79], al
mov byte [rbp - 0x78], cl
movzx eax, word [rbp - 0x79]
mov word [rbp + 1], ax
xor ecx, ecx
mov esi, ecx
mov qword [rbp - 0x51], rcx
mov r14d, ecx
mov qword [rbp - 0x49], rcx
mov r15d, ecx
mov qword [rbp - 0x41], rcx
mov r12d, ecx
cmp cx, dx
jae 0x140021311
mov edi, ecx
nop dword [rax]
nop word [rax + rax]
mov qword [rsp + 0x20], rcx
lea r9, [rbp - 0x69]
mov r8d, 0x10
lea rdx, [rbp + 0xf]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, r14
sub rcx, rdi
cmp rcx, 5
jbe 0x140020f8e
lea r14, [rdi + 5]
jmp 0x140020fd0
jae 0x140020fd4
mov rax, r15
sub rax, rdi
cmp rax, 5
jae 0x140020fb8
mov edx, 5
lea rcx, [rbp - 0x51]
call fcn.140027e70
mov r15, qword [rbp - 0x41]
mov r14, qword [rbp - 0x49]
mov rsi, qword [rbp - 0x51]
jmp 0x140020fd4
mov edi, 5
sub rdi, rcx
mov r8, rdi
xor edx, edx
mov rcx, r14
call fcn.1402d1c50
add r14, rdi
mov qword [rbp - 0x49], r14
mov r8, r14
sub r8, rsi
xor edx, edx
mov rcx, rsi
call fcn.1402d1c50
mov r8d, 4
lea rdx, [rbp + 0xf]
mov rcx, rsi
call fcn.1402e0010
mov rcx, rsi
call fcn.1402e074c
mov rdx, rax
xor edi, edi
mov eax, edi
lea r8, str.name
nop dword [rax]
movzx ecx, byte [rdx + rax]
inc rax
cmp cl, byte [r8 + rax - 1]
jne 0x1400211a2
cmp rax, 5
jne 0x140021010
mov ecx, dword [rbp + 0x1b]
mov eax, ecx
shr eax, 0x18
mov byte [rbp - 0x75], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp - 0x74], al
mov eax, ecx
shr eax, 8
mov byte [rbp - 0x73], al
mov byte [rbp - 0x72], cl
mov eax, dword [rbp - 0x75]
mov dword [rbp + 0x1b], eax
mov ecx, dword [rbp + 0x17]
mov eax, ecx
shr eax, 0x18
mov byte [rbp - 0x75], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp - 0x74], al
mov eax, ecx
shr eax, 8
mov byte [rbp - 0x73], al
mov byte [rbp - 0x72], cl
mov edx, dword [rbp - 0x75]
mov dword [rbp + 0x17], edx
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x69]
mov r8d, 6
lea rdx, [rbp - 0x65]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
movzx ecx, word [rbp - 0x63]
movzx eax, cx
shr ax, 8
mov byte [rbp - 0x79], al
mov byte [rbp - 0x78], cl
movzx edx, word [rbp - 0x79]
mov word [rbp - 0x63], dx
movzx ecx, word [rbp - 0x61]
movzx eax, cx
shr ax, 8
mov byte [rbp - 0x79], al
mov byte [rbp - 0x78], cl
movzx eax, word [rbp - 0x79]
mov word [rbp - 0x61], ax
mov r12d, edi
cmp di, dx
jae 0x14002130d
mov rbx, qword [rbp - 0x59]
nop dword [rax]
mov qword [rsp + 0x20], rdi
lea r9, [rbp - 0x69]
mov r8d, ntohs
lea rdx, [rbp - 0x11]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
movzx ecx, word [rbp - 0xb]
movzx eax, cx
shr ax, 8
mov byte [rbp - 0x79], al
mov byte [rbp - 0x78], cl
movzx eax, word [rbp - 0x79]
mov word [rbp - 0xb], ax
dec ax
cmp ax, 1
ja 0x1400212f9
movzx ecx, word [rbp - 9]
movzx eax, cx
shr ax, 8
mov byte [rbp - 0x71], al
mov byte [rbp - 0x70], cl
movzx eax, word [rbp - 0x71]
mov word [rbp - 9], ax
movzx ecx, word [rbp - 7]
movzx eax, cx
shr ax, 8
mov byte [rbp - 0x6d], al
mov byte [rbp - 0x6c], cl
movzx eax, word [rbp - 0x6d]
mov word [rbp - 7], ax
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp - 0x35], eax
movzx r8d, word [rbp - 7]
movzx edx, word [rbp - 0x61]
add r8d, dword [rbp + 0x17]
add edx, r8d
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
movzx edi, word [rbp - 9]
add edi, 2
mov rcx, r14
sub rcx, rsi
cmp rdi, rcx
jae 0x1400211bc
lea r14, [rdi + rsi]
jmp 0x1400211f6
inc r12d
mov rdi, rsi
movzx eax, word [rbp + 3]
cmp r12d, eax
jge 0x14002130d
xor ecx, ecx
jmp 0x140020f60
jbe 0x1400211fa
mov rax, r15
sub rax, rsi
cmp rdi, rax
jbe 0x1400211e3
mov rdx, rdi
lea rcx, [rbp - 0x51]
call fcn.140027e70
mov r15, qword [rbp - 0x41]
mov r14, qword [rbp - 0x49]
mov rsi, qword [rbp - 0x51]
jmp 0x1400211fa
sub rdi, rcx
mov r8, rdi
xor edx, edx
mov rcx, r14
call fcn.1402d1c50
add r14, rdi
mov qword [rbp - 0x49], r14
mov rdi, r14
sub rdi, rsi
mov r8, rdi
xor edx, edx
mov rcx, rsi
call fcn.1402d1c50
movzx r8d, word [rbp - 9]
mov qword [rsp + 0x20], 0
lea r9, [rbp - 0x69]
mov rdx, rsi
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, 0x100
cmp word [rbp - 0xf], ax
jb 0x140021297
xor r8d, r8d
shr rdi, 1
je 0x140021276
mov rdx, rsi
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [rdx]
movzx eax, cx
shr ax, 8
mov byte [rbp - 0x75], al
mov byte [rbp - 0x74], cl
movzx eax, word [rbp - 0x75]
mov word [rdx], ax
inc r8d
lea rdx, [rdx + 2]
movsxd rax, r8d
cmp rax, rdi
jb 0x140021250
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp word [rsi + rdx*2], 0
jne 0x140021280
mov rcx, rbx
call fcn.14001e440
mov rdx, rsi
jmp 0x1400212c5
mov rcx, rsi
call fcn.14001f970
mov rdi, rax
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp word [rax + rdx*2], 0
jne 0x1400212b0
mov rcx, rbx
call fcn.14001e440
mov rdx, rdi
mov rcx, qword [rbx]
mov eax, dword [rcx - 8]
lea eax, [rax*2 + 2]
movsxd r8, eax
call fcn.1402d15b0
mov eax, 0x904
cmp word [rbp - 0xd], ax
je 0x140021309
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rbp - 0x35]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
xor edi, edi
inc r12d
movzx eax, word [rbp - 0x63]
cmp r12d, eax
jl 0x1400210e0
mov rbx, qword [rbp - 0x31]
mov rdi, qword [rbp - 0x59]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
test rsi, rsi
je 0x140021350
sub r15, rsi
mov rax, rsi
cmp r15, 0x1000
jb 0x140021344
add r15, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002139e
mov rdx, r15
mov rcx, rsi
call fcn.140048eac
nop
test rbx, rbx
je 0x14002135f
lea rcx, [rbx - 8]
call fcn.1402d83b4
nop
mov rcx, qword [rbp - 0x29]
mov rcx, qword [rcx]
test rcx, rcx
je 0x140021374
add rcx, 0xfffffffffffffff8
call fcn.1402d83b4
mov rax, rdi
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.140048b40
mov rbx, qword [rsp + 0x130]
add rsp, 0xe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1402d6908
nop
int3