Function at 0x140001e80
Capabilities:
Get file size
Read file on windows

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x10], rdx
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2a0
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov rax, qword [0x1400120a8]
xor rax, rsp
mov qword [rsp + 0x290], rax
mov r12, r8
mov r15, rcx
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x60], r8
mov rcx, qword [rsp + 0x300]
xor r14d, r14d
mov ebx, r14d
lea r13d, [r14 + 1]
cmp qword [r15 + 0xe0], rbx
jne 0x140002021
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, r13d
mov edx, 0x80000000
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140002021
cmp rax, 0xffffffffffffffff
je 0x140002021
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [r15 + 0xe8], eax
test eax, eax
je 0x140002018
mov qword [rsp + 0x48], r14
lea ecx, [rax + 1]
call fcn.1400044f4
mov rsi, rax
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x40], r14d
mov qword [rsp + 0x20], r14
lea r9, [rsp + 0x40]
mov r8d, dword [r15 + 0xe8]
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140001fdd
mov eax, dword [rsp + 0x40]
mov byte [rax + rsi], r14b
mov ecx, dword [r15 + 0xe8]
mov eax, 2
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.1400044f4
mov r13, rax
mov qword [r15 + 0xe0], rax
call qword [sym.imp.KERNEL32.dll_GetACP]
mov ecx, eax
mov eax, dword [r15 + 0xe8]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r13
or r9d, 0xffffffff
mov r8, rsi
xor edx, edx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea r13d, [r14 + 1]
jmp 0x140001ff0
mov rcx, qword [r15 + 0xe0]
call fcn.140004d54
mov qword [r15 + 0xe0], r14
jmp 0x140002010
mov rcx, rsi
call fcn.140004d54
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r9, qword [r15 + 0xe0]
test r9, r9
je 0x140002210
test r12, r12
je 0x140002210
lea r11, [rsp + 0x80]
mov r8d, r14d
mov ecx, r14d
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], r14d
mov r10d, r14d
mov esi, r14d
mov dword [rsp + 0x50], r14d
mov word [rsp + 0x80], r14w
mov edi, r14d
cmp dword [r15 + 0xe8], 0
jbe 0x140002210
nop word [rax + rax]
movzx edx, word [r9]
lea eax, [rdx - 9]
cmp eax, 0x54
ja case.default.0x1400020b2
cdqe
lea rcx, [0x140000000]
movzx eax, byte [rcx + rax + 0x2258]
mov ecx, dword [rcx + rax*4 + 0x2238]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov ecx, dword [rsp + 0x48]
test ecx, ecx
cmovne r10d, r13d
lea r11, [rsp + 0x80]
mov r8d, r13d
jmp 0x1400021b9
mov word [r11], r14w
mov rax, qword [rsp + 0x2e8]
lea r8, [rsp + 0x80]
sub r8, rax
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x140002104
add rax, 2
test ecx, ecx
jne 0x1400020f0
mov ecx, dword [rsp + 0x48]
test edx, edx
cmove ecx, r13d
mov dword [rsp + 0x48], ecx
mov r8d, r14d
jmp 0x1400021c4
mov esi, r13d
jmp case.0x1400020b2.13
mov eax, r14d
cmp dword [rsp + 0x50], 0
sete al
mov dword [rsp + 0x50], eax
jmp case.0x1400020b2.13
test esi, esi
jne 0x140002163
cmp dword [rsp + 0x40], esi
je 0x140002163
mov eax, dword [rsp + 0x2f8]
add eax, 0xfffffffe
cmp ebx, eax
jae 0x140002160
mov word [r12], r14w
add r12, 2
inc ebx
mov dword [rsp + 0x40], r14d
jmp 0x140002163
mov r10d, r13d
mov esi, r14d
mov ecx, dword [rsp + 0x48]
jmp 0x1400021b9
mov ecx, dword [rsp + 0x48]
cmp dword [rsp + 0x50], 0
je 0x1400021c4
jmp case.default.0x1400020b2
mov ecx, dword [rsp + 0x48]
test esi, esi
jne 0x1400021c4
test ecx, ecx
je 0x1400021a8
mov eax, dword [rsp + 0x2f8]
add eax, 0xfffffffe
cmp ebx, eax
jae 0x1400021a5
mov word [r12], dx
add r12, 2
mov dword [rsp + 0x40], r13d
inc ebx
jmp 0x1400021a8
mov r10d, r13d
test r8d, r8d
je 0x1400021b9
movzx eax, word [r9]
mov word [r11], ax
add r11, 2
test r10d, r10d
jne 0x1400021d8
jmp 0x1400021c4
mov ecx, dword [rsp + 0x48]
inc edi
add r9, 2
cmp edi, dword [r15 + 0xe8]
jae 0x1400021e5
jmp 0x140002080
mov eax, ebx
test ebx, ebx
je 0x140002212
mov word [r12], r14w
jmp 0x140002212
test ebx, ebx
je 0x140002210
cmp word [r12 - 2], 0
je 0x14000220b
mov eax, dword [rsp + 0x2f8]
add eax, 0xfffffffe
cmp ebx, eax
jae 0x14000220b
mov word [r12], r14w
add r12, 2
inc ebx
mov word [r12], r14w
mov eax, ebx
mov rcx, qword [rsp + 0x290]
xor rcx, rsp
call fcn.140004510
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret