Function at 0x401d11
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x238
mov r12d, ecx
mov rbp, rdx
mov dword [rsp + 0x290], r8d
lea rbx, [rsp + 0x30]
mov r8d, 0x100
mov rdx, rbx
mov ecx, 0
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov rcx, rbx
call sub.msvcrt.dll_strlen
add rax, rbx
mov rdx, rbx
cmp rax, rbx
jbe 0x401d75
cmp byte [rax], 0x2e
je 0x401d75
sub rax, 1
mov byte [rax + 1], 0
cmp rax, rdx
jne 0x401d5e
lea rax, [rsp + 0x30]
mov byte [rax], 0
lea rbx, [rsp + 0x30]
mov rcx, rbx
call sub.msvcrt.dll_strlen
add rax, rbx
movabs rdi, 0x2e7470697263732d
mov qword [rax], rdi
mov word [rax + 8], 0x7970
mov byte [rax + 0xa], 0
mov edx, 0
mov rcx, rbx
call sub.msvcrt.dll__open
mov esi, eax
cmp eax, 0xffffffff
je 0x401f7c
lea rbx, [rsp + 0x130]
mov r8d, 0x100
mov rdx, rbx
mov ecx, eax
call sub.msvcrt.dll__read
cdqe
add rbx, rax
mov ecx, esi
call sub.msvcrt.dll__close
lea rax, [rsp + 0x12f]
mov ecx, 0x2401
add rax, 1
cmp rbx, rax
jbe 0x401dff
movzx edx, byte [rax]
cmp dl, 0xd
ja 0x401de8
bt rcx, rdx
jae 0x401de8
mov byte [rax], 0
lea rsi, [rsp + 0x130]
mov ecx, 2
lea rdi, [0x0040a06e]
repe cmpsb byte [rsi], byte [rdi]
seta al
sbb al, 0
test al, al
jne 0x401f8d
lea rcx, [rsp + 0x132]
lea rdx, [0x0040a071]
call sub.msvcrt.dll_strstr
mov rbx, rax
test rax, rax
je 0x401fde
lea rcx, [rsp + 0x132]
mov edx, 0x20
call sub.msvcrt.dll_strchr
mov rdx, rax
test rax, rax
je 0x401fb7
mov esi, 0
mov eax, 2
cmp rbx, rdx
jb 0x401fb7
lea rdx, [rsp + 0x2c]
cdqe
lea rcx, [rsp + rax + 0x130]
call fcn.004018fa
mov rdi, rax
lea rdx, [rsp + 0x30]
mov r8d, esi
mov rcx, qword [rax]
call fcn.004016ed
mov r13, rax
test rax, rax
je 0x401fed
mov ecx, r12d
add ecx, dword [rsp + 0x2c]
add ecx, 1
movsxd rcx, ecx
mov edx, 8
call sub.msvcrt.dll_calloc
mov r14, rax
lea rsi, [rax + 8]
mov rcx, r13
call fcn.004015b5
mov qword [r14], rax
cmp dword [rsp + 0x2c], 1
jle 0x401ef9
mov ebx, 1
add rsi, 8
mov rcx, qword [rdi + rbx*8]
call fcn.004015b5
mov qword [rsi - 8], rax
add rbx, 1
cmp dword [rsp + 0x2c], ebx
jg 0x401ede
lea r15, [rsi + 8]
lea rcx, [rsp + 0x30]
call fcn.004015b5
mov qword [rsi], rax
cmp r12d, 1
jle 0x401f38
mov edi, r12d
mov ebx, 1
mov rcx, qword [rbp + rbx*8]
call fcn.004015b5
mov qword [rsi + rbx*8], rax
add rbx, 1
cmp rbx, rdi
jne 0x401f18
lea eax, [r12 - 1]
lea r15, [r15 + rax*8]
mov qword [r15], 0
cmp dword [rsp + 0x290], 0
jne 0x402001
mov r8d, r12d
add r8d, dword [rsp + 0x2c]
mov rdx, r14
mov rcx, r13
call fcn.00401c3e
mov rcx, rax
call fcn.00401b07
add rsp, 0x238
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, rbx
lea rcx, str.Cannot_open__s_n
call fcn.00401584
jmp 0x401f68
movabs rax, 0x6e6f687479702123
mov qword [rsp + 0x130], rax
mov dword [rsp + 0x138], 0x6578652e
mov byte [rsp + 0x13c], 0
jmp 0x401e25
lea rax, [rbx + 3]
test byte [rbx + 3], 0xdf
je 0x401fca
add rax, 1
test byte [rax], 0xdf
jne 0x401fc1
lea rdx, [rsp + 0x130]
sub eax, edx
mov esi, 1
jmp 0x401e76
mov esi, 0
mov eax, 2
jmp 0x401e76
mov rdx, qword [rdi]
lea rcx, str.Cannot_find_Python_executable__s_n
call fcn.00401584
jmp 0x401f68
mov rdx, r14
mov rcx, r13
call qword [sym.imp.msvcrt.dll__execv]
mov rdx, r13
lea rcx, str.Could_not_exec__s
call fcn.00401584
jmp 0x401f68