Function at 0x14026e790
Capabilities:
Read file on windows

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x730
mov rax, qword [0x140377790]
xor rax, rsp
mov qword [rsp + 0x710], rax
mov r15, rdx
mov qword [rsp + 0x30], rdx
lea rdx, [0x140327fe8]
mov r13, r9
mov r14, r8
mov rsi, rcx
call sub.MSVCR90.dll_fopen
mov rbx, rax
test rax, rax
je 0x14026e829
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 2]
call sub.MSVCR90.dll_fseek
mov rcx, rbx
call sub.MSVCR90.dll_ftell
lea rcx, [rsp + 0x20]
movsxd rdi, eax
mov edx, edi
call fcn.140149000
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call sub.MSVCR90.dll_fseek
mov rcx, qword [rsp + 0x20]
mov r8, rdi
mov r9, rbx
mov edx, 1
call sub.MSVCR90.dll_fread
mov rcx, rbx
call sub.MSVCR90.dll_fclose
lea rdx, [0x140326ff0]
mov rcx, rsi
call sub.MSVCR90.dll_fopen
mov r12, rax
test rax, rax
jne 0x14026e859
test rbx, rbx
je 0x14026e84f
lea rcx, [rsp + 0x20]
call fcn.1401492e0
mov eax, 1
jmp 0x14026ed80
test rbx, rbx
je 0x14026ed22
lea rdx, [0x1403203f8]
lea rcx, [rsp + 0x1e0]
mov r8, r15
mov qword [rsp + 0x728], rbp
call sub.MSVCR90.dll_sprintf
lea rcx, [rsp + 0x20]
xor ebp, ebp
call fcn.1401491b0
test eax, eax
jne 0x14026ecba
xor r15d, r15d
nop dword [rax + rax]
lea r8, [rsp + 0x4b0]
lea rcx, [rsp + 0x20]
mov edx, 0x12c
call fcn.140149200
test eax, eax
jne 0x14026ec86
lea rcx, [rsp + 0x4b0]
call fcn.14026e330
test rax, rax
je 0x14026e8d4
mov byte [rax], r15b
lea rcx, [rsp + 0x4b0]
mov edx, 0x3b
call sub.MSVCR90.dll_strchr
mov rsi, rax
test rax, rax
je 0x14026e911
mov rdx, rax
lea rax, [rsp + 0x5e0]
sub rax, rdx
nop dword [rax]
movzx ecx, byte [rdx]
inc rdx
mov byte [rax + rdx - 1], cl
test cl, cl
jne 0x14026e900
mov byte [rsi], r15b
lea rcx, [rsp + 0x4b0]
call fcn.14026e2c0
mov rbx, rax
test rax, rax
je 0x14026ec74
cmp byte [rax], 0x5b
jne 0x14026ea0c
mov edx, 0x5d
mov rcx, rax
call sub.MSVCR90.dll_strrchr
mov rdi, rax
test rax, rax
je 0x14026ea0c
sub rdi, rbx
lea rcx, [rsp + 0x170]
mov rdx, rbx
lea r8, [rdi + 1]
call sub.MSVCR90.dll_strncpy
mov byte [rsp + rdi + 0x171], r15b
test ebp, ebp
jne 0x14026e9a4
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x1e0]
repne scasb al, byte [rdi]
lea rdx, [rsp + 0x1e0]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x170]
call sub.MSVCR90.dll__strnicmp
test eax, eax
jne 0x14026e9d2
lea ebp, [rax + 1]
jmp 0x14026e9d2
cmp ebp, 1
jne 0x14026e9d2
lea rdx, str._s_s_n
lea rcx, [rsp + 0x40]
mov r9, r13
mov r8, r14
call sub.MSVCR90.dll_sprintf
lea rcx, [rsp + 0x40]
mov rdx, r12
call sub.MSVCR90.dll_fputs
mov ebp, 2
lea rcx, reloc.WS2_32.dll_ioctlsocket
mov rdx, r12
call sub.MSVCR90.dll_fputs
lea r8, [rsp + 0x170]
lea rdx, [0x140328968]
lea rcx, [rsp + 0x40]
call sub.MSVCR90.dll_sprintf
lea rcx, [rsp + 0x40]
mov rdx, r12
call sub.MSVCR90.dll_fputs
jmp 0x14026ec74
lea rcx, [rsp + 0x380]
mov r8d, 0x12c
mov rdx, rbx
call sub.MSVCR90.dll_strncpy
lea rcx, [rsp + 0x380]
mov edx, 0x3d
call sub.MSVCR90.dll_strchr
test rax, rax
je 0x14026ec74
lea rcx, [rsp + 0x380]
mov byte [rax], r15b
call fcn.14026e330
test rax, rax
je 0x14026ea55
mov byte [rax], r15b
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x380]
repne scasb al, byte [rdi]
not rcx
cmp rcx, 1
je 0x14026ec74
lea edx, [rax + 0x3d]
mov rcx, rbx
call sub.MSVCR90.dll_strchr
movzx ecx, byte [rsp + 0x250]
test rax, rax
cmove ecx, r15d
mov byte [rsp + 0x250], cl
lea rcx, [rax + 1]
call fcn.14026e2c0
test rax, rax
jne 0x14026eaab
mov byte [rsp + 0x250], r15b
jmp 0x14026eac9
lea rcx, [rsp + 0x250]
mov r8d, 0x12c
mov rdx, rax
call sub.MSVCR90.dll_strncpy
mov byte [rsp + 0x37b], r15b
lea rcx, [rsp + 0x250]
call fcn.14026e330
test rax, rax
je 0x14026eade
mov byte [rax], r15b
cmp ebp, 1
jne 0x14026ebbe
lea rcx, [rsp + 0x380]
mov r8d, 0x12c
mov rdx, r14
call sub.MSVCR90.dll__strnicmp
test eax, eax
jne 0x14026ebbe
lea r8, [rsp + 0x380]
lea rdx, [0x140316bb8]
lea rcx, [rsp + 0x40]
mov r9, r13
call sub.MSVCR90.dll_sprintf
test rsi, rsi
je 0x14026eb8f
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x40]
repne scasb al, byte [rdi]
mov eax, 0x3c
mov rdx, r15
not rcx
dec rcx
sub eax, ecx
movsxd rbx, ecx
movsxd rdi, eax
test eax, eax
jle 0x14026eb5f
lea rcx, [rsp + rbx + 0x40]
mov r8, rdi
mov dl, 0x20
call sub.MSVCR90.dll_memset
mov rdx, rdi
lea rax, [rbx + rdx]
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x40]
mov byte [rsp + rax + 0x40], r15b
xor eax, eax
lea rdx, [rsp + 0x5e0]
repne scasb al, byte [rdi]
xor ecx, ecx
nop
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x14026eb80
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x40]
repne scasb al, byte [rdi]
movzx eax, word [reloc.WS2_32.dll_ioctlsocket]
lea rcx, [rsp + 0x40]
mov rdx, r12
mov word [rdi - 1], ax
call sub.MSVCR90.dll_fputs
mov ebp, 2
jmp 0x14026ec74
lea r9, [rsp + 0x250]
lea r8, [rsp + 0x380]
lea rdx, [0x140316bb8]
lea rcx, [rsp + 0x40]
call sub.MSVCR90.dll_sprintf
test rsi, rsi
je 0x14026ec4f
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x40]
repne scasb al, byte [rdi]
mov eax, 0x3c
mov rdx, r15
not rcx
dec rcx
sub eax, ecx
movsxd rbx, ecx
movsxd rdi, eax
test eax, eax
jle 0x14026ec1d
lea rcx, [rsp + rbx + 0x40]
mov r8, rdi
mov dl, 0x20
call sub.MSVCR90.dll_memset
mov rdx, rdi
lea rax, [rbx + rdx]
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x40]
mov byte [rsp + rax + 0x40], r15b
xor eax, eax
lea rdx, [rsp + 0x5e0]
repne scasb al, byte [rdi]
xor ecx, ecx
nop dword [rax]
movzx eax, byte [rdx + rcx]
inc rcx
mov byte [rdi + rcx - 2], al
test al, al
jne 0x14026ec40
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x40]
repne scasb al, byte [rdi]
movzx eax, word [reloc.WS2_32.dll_ioctlsocket]
lea rcx, [rsp + 0x40]
mov rdx, r12
mov word [rdi - 1], ax
call sub.MSVCR90.dll_fputs
lea rcx, [rsp + 0x20]
call fcn.1401491b0
test eax, eax
je 0x14026e8a0
mov r15, qword [rsp + 0x30]
test ebp, ebp
je 0x14026ecba
cmp ebp, 1
jne 0x14026ed0e
lea rdx, str._s_s_n
lea rcx, [rsp + 0x40]
mov r9, r13
mov r8, r14
call sub.MSVCR90.dll_sprintf
lea rcx, [rsp + 0x40]
mov rdx, r12
call sub.MSVCR90.dll_fputs
jmp 0x14026ed0e
lea rcx, reloc.WS2_32.dll_ioctlsocket
mov rdx, r12
call sub.MSVCR90.dll_fputs
lea rdx, [0x140316bb0]
lea rcx, [rsp + 0x40]
mov r8, r15
call sub.MSVCR90.dll_sprintf
lea rcx, [rsp + 0x40]
mov rdx, r12
call sub.MSVCR90.dll_fputs
lea rdx, str._s_s_n
lea rcx, [rsp + 0x40]
mov r9, r13
mov r8, r14
call sub.MSVCR90.dll_sprintf
lea rcx, [rsp + 0x40]
mov rdx, r12
call sub.MSVCR90.dll_fputs
lea rcx, [rsp + 0x20]
call fcn.1401492e0
mov rbp, qword [rsp + 0x728]
jmp 0x14026ed76
lea rcx, reloc.WS2_32.dll_ioctlsocket
mov rdx, rax
call sub.MSVCR90.dll_fputs
lea rdx, [0x140316bb0]
lea rcx, [rsp + 0x40]
mov r8, r15
call sub.MSVCR90.dll_sprintf
lea rcx, [rsp + 0x40]
mov rdx, r12
call sub.MSVCR90.dll_fputs
lea rdx, str._s_s_n
lea rcx, [rsp + 0x40]
mov r9, r13
mov r8, r14
call sub.MSVCR90.dll_sprintf
lea rcx, [rsp + 0x40]
mov rdx, r12
call sub.MSVCR90.dll_fputs
mov rcx, r12
call sub.MSVCR90.dll_fclose
xor eax, eax
mov rcx, qword [rsp + 0x710]
xor rcx, rsp
call fcn.140291ec0
add rsp, 0x730
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret