Function at 0x140149d80
Capabilities:
Read file on windows

Disassembly:
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x300
mov rax, qword [0x140377790]
xor rax, rsp
mov qword [rsp + 0x2d0], rax
mov rax, qword [rsp + 0x358]
mov rsi, qword [rsp + 0x350]
mov rdi, rdx
mov qword [rsp + 0xa0], rdx
lea rdx, [0x140327fe8]
mov r14, r9
mov qword [rsp + 0x50], rax
mov r13, r8
call sub.MSVCR90.dll_fopen
mov r12, rax
test rax, rax
jne 0x140149de6
lea eax, [r12 + 1]
jmp 0x14014a120
or rcx, 0xffffffffffffffff
xor eax, eax
xor edx, edx
repne scasb al, byte [rdi]
lea r8d, [rax + 2]
mov qword [rsp + 0x2f0], rbp
not rcx
mov qword [rsp + 0x2e8], r15
dec rcx
mov qword [rsp + 0xa8], rcx
mov rcx, r12
call sub.MSVCR90.dll_fseek
mov rcx, r12
call sub.MSVCR90.dll_ftell
xor ebp, ebp
lea r8, [rsp + 0x38]
xor r9d, r9d
mov rcx, r12
mov edx, eax
mov edi, eax
mov r15d, ebp
mov dword [rsp + 0x30], ebp
mov qword [rsp + 0x20], rbp
call fcn.140149320
test eax, eax
jne 0x140149e7b
lea edx, [rbp - 0x16]
lea r8d, [rbp + 2]
lea rcx, [rsp + 0x38]
mov r15d, 1
mov dword [rsp + 0x30], r15d
call fcn.1401491c0
lea r8, [rsp + 0x88]
lea edx, [rbp + 0x16]
lea rcx, [rsp + 0x38]
call fcn.140149270
jmp 0x140149ea2
lea edx, [rdi - 0x16]
xor r8d, r8d
mov rcx, r12
call sub.MSVCR90.dll_fseek
mov edx, 1
lea rcx, [rsp + 0x88]
lea r8d, [rdx + 0x15]
mov r9, r12
call sub.MSVCR90.dll_fread
cmp dword [rsp + 0x88], 0x6054b50
je 0x140149ec1
mov rcx, r12
call sub.MSVCR90.dll_fclose
mov eax, 1
jmp 0x14014a110
mov qword [rsp + 0x2f8], rbx
test r15d, r15d
je 0x140149edf
lea rcx, [rsp + 0x38]
xor r8d, r8d
xor edx, edx
call fcn.1401491c0
jmp 0x140149ef4
sub edi, dword [rsp + 0x94]
xor r8d, r8d
mov rcx, r12
lea edx, [rdi - 0x16]
call sub.MSVCR90.dll_fseek
mov edi, ebp
mov ebx, ebp
movsxd r15, r15d
cmp bp, word [rsp + 0x92]
jae 0x14014a0e8
nop dword [rax]
test r15, r15
je 0x140149f79
lea r8, [rsp + 0x58]
lea rcx, [rsp + 0x38]
mov edx, 0x2e
call fcn.140149270
movzx edx, word [rsp + 0x74]
lea r8, [rsp + 0xb0]
lea rcx, [rsp + 0x38]
call fcn.140149270
movzx edx, word [rsp + 0x74]
lea rcx, [rsp + 0x38]
mov byte [rsp + rdx + 0xb0], bpl
movzx edx, word [rsp + 0x76]
mov r8d, 1
call fcn.1401491c0
movzx edx, word [rsp + 0x78]
lea rcx, [rsp + 0x38]
mov r8d, 1
call fcn.1401491c0
jmp 0x140149fdd
mov edx, 1
lea rcx, [rsp + 0x58]
mov r9, r12
lea r8d, [rdx + 0x2d]
call sub.MSVCR90.dll_fread
movzx r8d, word [rsp + 0x74]
lea rcx, [rsp + 0xb0]
mov r9, r12
mov edx, 1
call sub.MSVCR90.dll_fread
movzx edx, word [rsp + 0x74]
mov r8d, 1
mov byte [rsp + rdx + 0xb0], bpl
movzx edx, word [rsp + 0x76]
mov rcx, r12
call sub.MSVCR90.dll_fseek
movzx edx, word [rsp + 0x78]
mov r8d, 1
mov rcx, r12
call sub.MSVCR90.dll_fseek
cmp ebx, dword [r14]
jl 0x14014a0d4
mov rcx, rbp
nop dword [rax]
movzx eax, byte [rsp + rcx + 0xb0]
inc rcx
mov byte [rsp + rcx + 0x1bf], al
test al, al
jne 0x140149ff0
movsxd rdi, dword [rsp + 0xa8]
mov rdx, qword [rsp + 0xa0]
lea rcx, [rsp + 0x1c0]
mov r8, rdi
call sub.MSVCR90.dll__strnicmp
test eax, eax
jne 0x14014a0d4
lea rdx, [0x14031a2c8]
mov rcx, r13
lea rdi, [rsp + rdi + 0x1c0]
call sub.MSVCR90.dll__stricmp
test eax, eax
jne 0x14014a0a2
lea edx, [rax + 0x2f]
mov rcx, rdi
call sub.MSVCR90.dll_strchr
test rax, rax
je 0x14014a0d4
lea rdx, [0x14031a17b]
mov rcx, rdi
mov byte [rax], bpl
call sub.MSVCR90.dll__stricmp
test eax, eax
je 0x14014a0d4
sub rsi, rdi
movzx eax, byte [rdi]
inc rdi
mov byte [rsi + rdi - 1], al
test al, al
jne 0x14014a072
movzx r8d, word [rsp + 0x64]
movzx edx, word [rsp + 0x66]
mov rcx, qword [rsp + 0x50]
call fcn.140149d00
lea edx, [rbx + 1]
mov edi, 1
mov dword [r14], edx
jmp 0x14014a0e8
mov edx, 0x2f
mov rcx, rdi
call sub.MSVCR90.dll_strchr
test rax, rax
jne 0x14014a0d4
lea edx, [rax + 0x2e]
mov rcx, rdi
call sub.MSVCR90.dll_strrchr
test rax, rax
je 0x14014a0d4
lea rcx, [rax + 1]
mov rdx, r13
call sub.MSVCR90.dll__stricmp
test eax, eax
je 0x14014a140
movzx eax, word [rsp + 0x92]
inc ebx
cmp ebx, eax
jl 0x140149f10
mov edi, ebp
mov rbx, qword [rsp + 0x2f8]
cmp dword [rsp + 0x30], ebp
je 0x14014a100
lea rcx, [rsp + 0x38]
call fcn.1401492e0
mov rcx, r12
call sub.MSVCR90.dll_fclose
test edi, edi
sete bpl
mov eax, ebp
mov rbp, qword [rsp + 0x2f0]
mov r15, qword [rsp + 0x2e8]
mov rcx, qword [rsp + 0x2d0]
xor rcx, rsp
call fcn.140291ec0
add rsp, 0x300
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
sub rsi, rdi
nop word [rax + rax]
movzx eax, byte [rdi]
inc rdi
mov byte [rsi + rdi - 1], al
test al, al
jne 0x14014a150
movzx r8d, word [rsp + 0x64]
movzx edx, word [rsp + 0x66]
mov rcx, qword [rsp + 0x50]
call fcn.140149d00
lea edx, [rbx + 1]
mov edi, 1
mov dword [r14], edx
jmp 0x14014a0e8