Function at 0x100117450
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 0x1001174b5
test byte [rcx + 0x1c], 1
je 0x1001174b5
cmp byte [rcx + 0x19], 4
jb 0x1001174b5
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f30]
mov edx, 0x10
call fcn.10001c854
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 0x10011751c
movzx eax, word [rdx + rcx]
cmp ax, r9w
je 0x10011751c
mov word [rcx], ax
add rcx, 2
sub r8, 1
jne 0x1001174f9
cmp r8, r9
jne 0x10011752a
sub rcx, 2
mov edi, 0x8007007a
cmp edi, r9d
mov word [rcx], r9w
jl 0x10011782a
lea r8, [0x100002934]
lea rcx, [rsp + 0x50]
mov rdx, r10
call fcn.100059424
mov edi, eax
xor eax, eax
cmp edi, eax
jl 0x10011782a
cmp byte [0x100166649], al
jne 0x1001177f8
cmp r14b, al
je 0x1001175ca
lea rdx, [rsp + 0x44]
lea rcx, [rsp + 0x50]
call fcn.10009e564
xor ecx, ecx
cmp eax, ecx
mov edi, eax
jge 0x100117755
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x100117724
test byte [rcx + 0x1c], 1
je 0x1001176f4
cmp byte [rcx + 0x19], 4
jb 0x1001176f4
mov rcx, qword [rcx + 0x10]
lea r9, [rsp + 0x50]
lea r8, [0x100002f30]
mov edx, 0x12
mov dword [rsp + 0x20], eax
call fcn.10001ddb0
jmp 0x1001176ed
cmp r12b, al
jne 0x100117688
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 0x10011764f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x100117724
test byte [rcx + 0x1c], 1
je 0x1001176f4
cmp byte [rcx + 0x19], 4
jb 0x1001176f4
mov rcx, qword [rcx + 0x10]
lea edx, [rbp + 0x15]
lea r8, [0x100002f30]
mov r9, r13
mov dword [rsp + 0x20], eax
call fcn.10001ddb0
jmp 0x1001176ed
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x100117683
test byte [rcx + 0x1c], 1
je 0x100117683
cmp byte [rcx + 0x19], 4
jb 0x100117683
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f30]
mov edx, 0x15
mov r9, r13
mov dword [rsp + 0x20], esi
call fcn.10001ddb0
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 0x1001177c6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x100117724
test byte [rcx + 0x1c], 1
je 0x1001176f4
cmp byte [rcx + 0x19], 4
jb 0x1001176f4
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f30]
mov edx, 0x16
mov r9, rbp
mov dword [rsp + 0x20], eax
call fcn.1001171a0
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x100117724
test byte [rcx + 0x1c], 1
je 0x100117724
cmp byte [rcx + 0x19], 4
jb 0x100117724
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f30]
mov edx, 0x18
mov r9d, esi
call fcn.10001c878
mov rcx, qword [0x1001653b8]
cmp esi, dword [0x100165458]
jae 0x100117796
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 0x100117557
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x10011782a
test byte [rcx + 0x1c], 1
je 0x10011782a
cmp byte [rcx + 0x19], 4
jb 0x10011782a
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f30]
mov edx, 0x13
mov r9d, esi
call fcn.10001c878
jmp 0x10011782a
cmp rcx, rbx
je 0x1001177bf
test byte [rcx + 0x1c], 1
je 0x1001177bf
cmp byte [rcx + 0x19], 2
jb 0x1001177bf
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f30]
mov edx, 0x19
mov r9d, esi
call fcn.10001c878
mov edi, 0x8078004f
jmp 0x10011782a
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x10011782a
test byte [rcx + 0x1c], 1
je 0x10011782a
cmp byte [rcx + 0x19], 4
jb 0x10011782a
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f30]
mov edx, 0x17
mov r9, rbp
call fcn.10001d71c
jmp 0x10011782a
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x100117825
test byte [rcx + 0x1c], 1
je 0x100117825
cmp byte [rcx + 0x19], 2
jb 0x100117825
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f30]
mov edx, 0x11
call fcn.10001c854
mov edi, 0x80780075
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [0x1001653b8]
cmp rcx, rbx
je 0x100117860
test byte [rcx + 0x1c], 1
je 0x100117860
cmp byte [rcx + 0x19], 4
jb 0x100117860
mov rcx, qword [rcx + 0x10]
lea r8, [0x100002f30]
mov edx, 0x1a
call fcn.10001c854
mov eax, edi
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.10014e600
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