Function at 0x100116dac
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x470
mov rax, qword [0x100165138]
xor rax, rsp
mov qword [rsp + 0x460], rax
mov r14b, dl
mov r13, rcx
mov rcx, qword [0x1001653b8]
lea rbx, [0x1001653b8]
cmp rcx, rbx
je 0x100116e11
test byte [rcx + 0x1c], 1
je 0x100116e11
cmp byte [rcx + 0x19], 4
jb 0x100116e11
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f70]
mov edx, 0x10
call fcn.10001c7b8
xor ecx, ecx
xor edx, edx
mov r8d, 0x200
mov esi, ecx
lea rcx, [rsp + 0x260]
or rbp, 0xffffffffffffffff
call sub.msvcrt.dll_memset
xor r9d, r9d
lea rax, [rsp + 0x50]
mov r10d, 0x104
mov rdx, r13
mov dword [rsp + 0x40], r9d
mov r12b, r9b
lea rcx, [rsp + 0x50]
mov edi, r9d
sub rdx, rax
mov r8, r10
lea rax, [r8 + 0x7ffffefa]
cmp rax, r9
je 0x100116e78
movzx eax, word [rdx + rcx]
cmp ax, r9w
je 0x100116e78
mov word [rcx], ax
add rcx, 2
sub r8, 1
jne 0x100116e55
cmp r8, r9
jne 0x100116e86
sub rcx, 2
mov edi, 0x8007007a
cmp edi, r9d
mov word [rcx], r9w
jl 0x100117186
lea r8, [0x100002954]
lea rcx, [rsp + 0x50]
mov rdx, r10
call fcn.1000590dc
mov edi, eax
xor eax, eax
cmp edi, eax
jl 0x100117186
cmp byte [0x100166649], al
jne 0x100117154
cmp r14b, al
je 0x100116f26
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x50]
call fcn.10009df8c
xor ecx, ecx
cmp eax, ecx
mov edi, eax
jge 0x1001170b1
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x100117080
test byte [rcx + 0x1c], 1
je 0x100117050
cmp byte [rcx + 0x19], 4
jb 0x100117050
mov rcx, qword [rcx + 0x10]
lea r9, [rsp + 0x50]
lea r8, [0x100002f70]
mov edx, 0x12
mov dword [rsp + 0x20], eax
call fcn.10001daa4
jmp 0x100117049
cmp r12b, al
jne 0x100116fe4
mov qword [rsp + 0x30], rax
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 7]
mov rcx, r13
mov dword [rsp + 0x28], 0x2000080
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbp, rax
cmp rax, 0xffffffffffffffff
jne 0x100116fab
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x100117080
test byte [rcx + 0x1c], 1
je 0x100117050
cmp byte [rcx + 0x19], 4
jb 0x100117050
mov rcx, qword [rcx + 0x10]
lea edx, [rbp + 0x15]
lea r8, [0x100002f70]
mov r9, r13
mov dword [rsp + 0x20], eax
call fcn.10001daa4
jmp 0x100117049
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x100116fdf
test byte [rcx + 0x1c], 1
je 0x100116fdf
cmp byte [rcx + 0x19], 4
jb 0x100116fdf
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f70]
mov edx, 0x15
mov r9, r13
mov dword [rsp + 0x20], esi
call fcn.10001daa4
mov r12b, 1
xor eax, eax
lea r9, [rsp + 0x40]
lea rdx, [rsp + 0x260]
mov r8d, 0x200
mov rcx, rbp
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
xor ecx, ecx
cmp eax, ecx
jne 0x100117122
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x100117080
test byte [rcx + 0x1c], 1
je 0x100117050
cmp byte [rcx + 0x19], 4
jb 0x100117050
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f70]
mov edx, 0x16
mov r9, rbp
mov dword [rsp + 0x20], eax
call fcn.100116af4
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x100117080
test byte [rcx + 0x1c], 1
je 0x100117080
cmp byte [rcx + 0x19], 4
jb 0x100117080
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f70]
mov edx, 0x18
mov r9d, esi
call fcn.10001c7dc
mov rcx, qword [0x1001653b8]
cmp esi, dword [0x100165458]
jae 0x1001170f2
cmp esi, 0xa
sbb ebx, ebx
and ebx, 0xfffffffd
add ebx, 5
mov ecx, ebx
imul ecx, ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
add esi, ebx
xor eax, eax
lea rbx, [0x1001653b8]
jmp 0x100116eb3
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x100117186
test byte [rcx + 0x1c], 1
je 0x100117186
cmp byte [rcx + 0x19], 4
jb 0x100117186
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f70]
mov edx, 0x13
mov r9d, esi
call fcn.10001c7dc
jmp 0x100117186
cmp rcx, rbx
je 0x10011711b
test byte [rcx + 0x1c], 1
je 0x10011711b
cmp byte [rcx + 0x19], 2
jb 0x10011711b
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f70]
mov edx, 0x19
mov r9d, esi
call fcn.10001c7dc
mov edi, 0x8078004f
jmp 0x100117186
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x100117186
test byte [rcx + 0x1c], 1
je 0x100117186
cmp byte [rcx + 0x19], 4
jb 0x100117186
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f70]
mov edx, 0x17
mov r9, rbp
call fcn.10001d680
jmp 0x100117186
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x100117181
test byte [rcx + 0x1c], 1
je 0x100117181
cmp byte [rcx + 0x19], 2
jb 0x100117181
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f70]
mov edx, 0x11
call fcn.10001c7b8
mov edi, 0x80780075
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x1001171bc
test byte [rcx + 0x1c], 1
je 0x1001171bc
cmp byte [rcx + 0x19], 4
jb 0x1001171bc
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f70]
mov edx, 0x1a
call fcn.10001c7b8
mov eax, edi
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.10014e480
lea r11, [rsp + 0x470]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret