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

Disassembly:
mov r11, rsp
push rbp
push rbx
push rdi
push r12
push r15
lea rbp, [r11 - 0x5b8]
sub rsp, 0x690
mov rax, qword [0x1400390f8]
xor rax, rsp
mov qword [rbp + 0x580], rax
mov r12, qword [0x1400502b0]
xor r15d, r15d
mov qword [rsp + 0x60], rcx
mov edi, 1
mov dword [rsp + 0x40], r15d
mov rbx, rcx
mov dword [rsp + 0x48], edi
mov qword [rsp + 0x58], r12
test r12, r12
je 0x140002c81
mov rcx, qword [rcx + 0x78]
test rcx, rcx
je 0x14001b492
mov qword [r11 + 0x10], rsi
lea rdx, [rbp + 0x70]
movzx r9d, dil
mov qword [r11 + 0x18], r13
call fcn.1400025f8
mov esi, dword [r12 + 0xc]
mov rcx, r12
mov dword [rsp + 0x4c], esi
call fcn.14000fa20
mov r13d, eax
cmp eax, 0xffffffff
je 0x14001b4bb
mov ecx, eax
mov qword [rsp + 0x6d8], r14
call qword [sym.imp.msvcrt.dll__get_osfhandle]
mov rcx, rax
xor edx, edx
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileSize]
mov rcx, qword [rbx + 0x78]
mov r14d, eax
mov dword [rsp + 0x50], eax
call fcn.14000d2d8
cmp byte [0x1400502b9], r15b
mov rbx, rax
je 0x1400027a9
lea r8d, [r15 + 4]
mov rcx, rax
lea rdx, str.:EOF
call qword [sym.imp.msvcrt.dll__wcsnicmp]
test eax, eax
je 0x140002bd6
lea rbx, [0x140039970]
cmp dword [0x140039834], 0
jne 0x14001b4c2
mov ecx, r13d
call qword [sym.imp.msvcrt.dll__get_osfhandle]
mov r9d, 1
xor r8d, r8d
mov rcx, rax
xor edx, edx
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFilePointer]
mov dword [r12 + 0xc], eax
cmp eax, esi
jl 0x1400027eb
test edi, edi
je 0x140002c85
mov ecx, r13d
call qword [sym.imp.msvcrt.dll__get_osfhandle]
mov rcx, rax
mov r14, rax
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileType]
btr eax, 0xf
mov rcx, r14
cmp eax, 2
je 0x14001b4cd
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov rdi, rbx
mov r12, rbx
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFilePointer]
lea rcx, [0x140054530]
mov r15d, eax
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_AcquireSRWLockShared]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], 0
mov r8d, 0x200
mov rdx, rbx
mov rcx, r14
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_ReadFile]
lea rcx, [0x140054530]
mov ebx, eax
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockShared]
mov esi, dword [rsp + 0x40]
test ebx, ebx
je 0x14001b4ed
test esi, esi
je 0x140002c3b
mov r10d, dword [0x14003fbc4]
mov ecx, esi
mov dword [rsp + 0x44], ecx
mov edx, esi
cmp r10d, 0xfde9
je 0x14001b4f8
test edx, edx
jle 0x140002903
nop word [rax + rax]
cmp ecx, 3
jl 0x1400028b4
movzx eax, byte [rdi]
cmp al, 0xa
je 0x14001b556
cmp al, 0xd
je 0x1400028d7
movzx eax, byte [rdi]
lea rdx, [0x140054540]
cmp byte [rax + rdx], 0
jne 0x14001b565
inc rdi
dec ecx
mov dword [rsp + 0x44], ecx
test ecx, ecx
jg 0x1400028a0
jmp 0x140002903
cmp byte [rdi + 1], 0xa
jne 0x1400028b4
mov esi, edi
mov byte [rdi + 2], 0
sub esi, r12d
xor r9d, r9d
add esi, 2
xor r8d, r8d
mov rcx, r14
lea edx, [rsi + r15]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFilePointer]
mov r10d, dword [0x14003fbc4]
xor r15d, r15d
cmp r10d, 0x2b
jb 0x14001b5d9
cmp r10d, 0xc42c
jae 0x14001b5d9
mov edx, 1
lea rax, [rbp + 0x170]
mov dword [rsp + 0x28], 0x200
mov r9d, esi
mov qword [rsp + 0x20], rax
mov r8, r12
mov ecx, r10d
call qword [sym.imp.api_ms_win_core_string_l1_1_0.dll_MultiByteToWideChar]
mov esi, eax
mov dword [rsp + 0x40], eax
mov edi, dword [rsp + 0x48]
lea rbx, [0x140039970]
mov r12, qword [rsp + 0x58]
test eax, eax
je 0x140002c46
test esi, esi
je 0x140002c4e
cmp esi, 0xffffffff
je 0x140002c46
cmp word [rbp + 0x170], 0
je 0x140002c46
cmp word [rbp + 0x70], 0
je 0x140002c46
mov eax, esi
add rax, rax
cmp rax, 0x402
jae 0x140002c8b
mov edx, 0x3a
mov word [rbp + rax + 0x170], r15w
lea rcx, [rbp + 0x170]
call qword [sym.imp.msvcrt.dll_wcschr]
mov esi, dword [rsp + 0x4c]
mov r14, rax
test rax, rax
je 0x1400027b0
mov rax, r14
add r14, 2
cmp word [rax], 0xa
je 0x1400029f6
nop word [rax + rax]
lea rcx, [rbp + 0x170]
cmp rax, rcx
je 0x1400029f6
sub rax, 2
cmp word [rax], 0xa
jne 0x1400029e0
cmp word [rax], 0x3a
lea rsi, [rax + 2]
cmove rsi, rax
mov rbx, rsi
test rsi, rsi
je 0x140002a45
nop word [rax + rax]
movzx edi, word [rbx]
movzx ecx, di
call qword [sym.imp.msvcrt.dll_iswspace]
test eax, eax
je 0x140002a2c
cmp di, 0xa
je 0x140002a2c
add rbx, 2
jmp 0x140002a10
movzx edx, di
lea rcx, [0x1400302f0]
call qword [sym.imp.msvcrt.dll_wcschr]
test rax, rax
jne 0x14001b658
cmp word [rbx], 0x3a
je 0x140002a84
test r14, r14
je 0x140002a6a
mov edx, 0x3a
mov rcx, r14
call qword [sym.imp.msvcrt.dll_wcschr]
mov r14, rax
test rax, rax
jne 0x1400029c9
cmp byte [0x140039890], 1
je 0x140002beb
mov edi, dword [rsp + 0x48]
mov esi, dword [rsp + 0x4c]
jmp 0x1400027a9
test rsi, rsi
je 0x14001b666
mov edx, 0xa
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_wcschr]
mov r14, rax
test rax, rax
je 0x14001b669
movzx edi, word [rbx]
movzx ecx, di
call qword [sym.imp.msvcrt.dll_iswspace]
test eax, eax
jne 0x14001b70b
movzx edx, di
lea rcx, [0x1400302f0]
call qword [sym.imp.msvcrt.dll_wcschr]
test rax, rax
jne 0x14001b716
movzx eax, word [rbx]
cmp ax, 0x3a
jne 0x14001b728
add rbx, 2
test rbx, rbx
je 0x140002b17
movzx edi, word [rbx]
movzx ecx, di
call qword [sym.imp.msvcrt.dll_iswspace]
test eax, eax
jne 0x14001b737
movzx edx, di
lea rcx, [0x1400302f0]
call qword [sym.imp.msvcrt.dll_wcschr]
test rax, rax
jne 0x14001b742
mov esi, r15d
nop word [rax + rax]
movzx edi, word [rbx]
lea rcx, [0x1400302d0]
movzx edx, di
call qword [sym.imp.msvcrt.dll_wcschr]
test rax, rax
jne 0x140002b6c
movzx edx, di
lea rcx, [0x1400302e0]
call qword [sym.imp.msvcrt.dll_wcschr]
test rax, rax
jne 0x140002b6c
mov ecx, esi
add rcx, rcx
cmp di, 0x5e
je 0x14001b754
mov word [rsp + rcx + 0x70], di
inc esi
add rbx, 2
cmp esi, 0x7f
jb 0x140002b20
mov eax, esi
lea rdx, [rsp + 0x70]
lea rcx, [rbp + 0x70]
mov word [rsp + rax*2 + 0x70], r15w
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x140002a4b
mov rax, qword [rsp + 0x60]
test byte [rax + 0x80], 1
je 0x14001b766
mov al, 1
mov byte [0x140039890], al
call fcn.1400025d0
test r14, r14
je 0x14001b76d
test al, al
lea rax, [rbp + 0x170]
jne 0x14001b786
sub r14, rax
add r14, 2
sar r14, 1
add dword [r12 + 0xc], r14d
jmp 0x140002a6a
movzx ecx, word [rbx + 8]
test cx, cx
jne 0x140002c2c
mov dword [r12 + 0xc], r14d
mov byte [0x140039890], dil
mov ecx, r13d
call fcn.14000d778
mov r14, qword [rsp + 0x6d8]
mov eax, r15d
mov rsi, qword [rsp + 0x6c8]
mov r13, qword [rsp + 0x6d0]
mov rcx, qword [rbp + 0x580]
xor rcx, rsp
call fcn.1400173b0
add rsp, 0x690
pop r15
pop r12
pop rdi
pop rbx
pop rbp
ret
call qword [sym.imp.msvcrt.dll_iswspace]
test eax, eax
jne 0x140002bdf
jmp 0x1400027a9
xor r15d, r15d
mov eax, r15d
jmp 0x14000294b
test esi, esi
jne 0x14001b7c3
test edi, edi
je 0x14001b7c3
mov ecx, r13d
call qword [sym.imp.msvcrt.dll__get_osfhandle]
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
xor edx, edx
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFilePointer]
mov esi, dword [rsp + 0x4c]
mov edi, r15d
mov dword [rsp + 0x48], r15d
jmp 0x1400027b0
mov eax, edi
jmp 0x140002c0e
mov esi, dword [rsp + 0x40]
jmp 0x140002c46
call fcn.140017584
int3
mov rcx, r12
call fcn.140007b00
mov rax, qword [r12 + 0x1d0]
xor edx, edx
mov ecx, 0x2330
mov qword [0x1400502b0], rax
call fcn.140014d90
nop
jmp 0x140002c81
mov eax, edi
jmp 0x140002bfe
call fcn.14002ae3c
nop
jmp 0x1400027bd
lea r9, [rsp + 0x40]
mov r8d, 0x200
lea rdx, [rbp + 0x170]
call fcn.14002452c
mov esi, dword [rsp + 0x40]
jmp 0x14000295b
xor r15d, r15d
mov eax, r15d
jmp 0x14000294b
test r15d, r15d
jne 0x140002896
movzx r8d, word [0x140039970]
movzx eax, word [0x1400315c4]
sub r8d, eax
jne 0x14001b527
movzx r8d, byte [0x140039972]
movzx eax, byte [0x1400315c6]
sub r8d, eax
test r8d, r8d
jne 0x140002896
add esi, 0xfffffffd
lea r15d, [r8 + 3]
mov ecx, esi
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x44], ecx
lea r12, [0x140039973]
lea rdi, [0x140039973]
mov edx, esi
jmp 0x140002896
cmp byte [rdi + 1], 0xd
je 0x1400028dd
jmp 0x1400028b0
cmp ecx, 1
je 0x14001b576
add rdi, 2
add ecx, 0xfffffffe
jmp 0x1400028cd
lea rcx, [0x140054530]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_AcquireSRWLockShared]
xor r15d, r15d
lea rdx, [rdi + 1]
lea r9, [rsp + 0x44]
mov qword [rsp + 0x20], r15
mov rcx, r14
lea r8d, [r15 + 1]
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_ReadFile]
lea rcx, [0x140054530]
mov ebx, eax
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ReleaseSRWLockShared]
test ebx, ebx
je 0x14001b5c9
cmp dword [rsp + 0x44], r15d
je 0x14001b5c9
mov r10d, dword [0x14003fbc4]
inc esi
jmp 0x140002906
mov esi, r15d
mov dword [rsp + 0x40], r15d
mov eax, r15d
jmp 0x14000294b
cmp r10d, 0xc435
ja 0x14001b617
je 0x14001b650
cmp r10d, 0x2a
je 0x14001b650
cmp r10d, 0xc42b
jbe 0x14000291d
cmp r10d, 0xc42e
jbe 0x14001b650
cmp r10d, 0xc431
je 0x14001b650
cmp r10d, 0xc433
je 0x14001b650
jmp 0x14000291d
cmp r10d, 0xdeb3
ja 0x14001b640
cmp r10d, 0xdeaa
jae 0x14001b650
cmp r10d, 0xcec8
je 0x14001b650
cmp r10d, 0xd698
je 0x14001b650
jmp 0x14000291d
lea eax, [r10 - 0xfde8]
cmp eax, 1
ja 0x14000291d
mov edx, r15d
jmp 0x140002922
test di, di
je 0x140002a45
jmp 0x140002a26
mov r14, r15
mov ecx, r13d
call qword [sym.imp.msvcrt.dll__get_osfhandle]
mov r9d, 1
xor r8d, r8d
mov rcx, rax
xor edx, edx
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFilePointer]
cmp eax, dword [rsp + 0x50]
je 0x140002aa7
mov edi, dword [rsp + 0x40]
cmp edi, 0x200
je 0x140002aa7
lea rax, [rbp + 0x170]
sub rsi, rax
sar rsi, 1
sub edi, esi
call fcn.1400025d0
test al, al
je 0x14001b6e6
mov ecx, dword [0x14003fbc4]
lea r8, [rbp + 0x170]
mov qword [rsp + 0x38], r15
mov r9d, edi
mov qword [rsp + 0x30], r15
xor edx, edx
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
call qword [sym.imp.api_ms_win_core_string_l1_1_0.dll_WideCharToMultiByte]
mov edi, eax
mov ecx, r13d
neg edi
call qword [sym.imp.msvcrt.dll__get_osfhandle]
mov r9d, 1
xor r8d, r8d
mov rcx, rax
mov edx, edi
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_SetFilePointer]
nop
jmp 0x140002a6a
cmp di, 0xa
jne 0x14001b71f
jmp 0x140002abb
test di, di
je 0x140002ad4
add rbx, 2
jmp 0x140002aa7
cmp ax, 0x2b
jne 0x140002ae5
jmp 0x140002ae1
cmp di, 0xa
jne 0x14001b74b
jmp 0x140002afe
test di, di
je 0x140002b17
add rbx, 2
jmp 0x140002aea
movzx eax, word [rbx + 2]
add rbx, 2
mov word [rsp + rcx + 0x70], ax
jmp 0x140002b61
xor al, al
jmp 0x140002b9f
test al, al
je 0x14001b778
mov r9d, dword [rsp + 0x40]
jmp 0x14001b790
mov eax, dword [rsp + 0x40]
add dword [r12 + 0xc], eax
jmp 0x140002a6a
sub r14, rax
lea r9, [r14 + 2]
sar r9, 1
mov ecx, dword [0x14003fbc4]
lea r8, [rbp + 0x170]
mov qword [rsp + 0x38], r15
xor edx, edx
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
call qword [sym.imp.api_ms_win_core_string_l1_1_0.dll_WideCharToMultiByte]
add dword [r12 + 0xc], eax
jmp 0x140002a6a
mov rcx, r12
call fcn.140007b00
mov rax, qword [r12 + 0x1d0]
lea r8, [rbp + 0x70]
mov edx, 1
mov qword [0x1400502b0], rax
mov ecx, 0x400023ab
call fcn.140014d90
mov r15d, 1
jmp 0x140002beb