Function at 0x401080
Capabilities:
Read file on windows

Disassembly:
mov eax, 0x1410
call fcn.00402690
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x140c], eax
push ebx
push esi
mov ebx, ecx
lea esi, [esp + 0x80c]
xor eax, eax
mov edx, ebx
push edi
mov word [esp + 0xc], ax
sub esi, ebx
nop
movzx eax, word [edx]
lea edx, [edx + 2]
mov word [esi + edx - 2], ax
test ax, ax
jne 0x4010b0
lea edi, [esp + 0x810]
add edi, 0xfffffffe
nop word [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x4010d0
mov eax, dword [0x40321c]
lea ecx, [esp + 0x810]
mov dword [edi], eax
add ecx, 0xfffffffe
nop dword [eax]
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x4010f0
mov eax, dword [0x403220]
mov dword [ecx], eax
mov eax, dword [str.brary.dat]
mov dword [ecx + 4], eax
mov eax, dword [0x403228]
mov dword [ecx + 8], eax
mov eax, dword [0x40322c]
mov dword [ecx + 0xc], eax
mov eax, dword [0x403230]
mov dword [ecx + 0x10], eax
mov eax, dword [0x403234]
mov dword [ecx + 0x14], eax
lea eax, [esp + 0x810]
push 0x403238
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__wfopen]
mov edi, eax
add esp, 8
test edi, edi
je 0x4011a3
push edi
push 0x401
lea eax, [esp + 0x101c]
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x10
cmp eax, 0x401
jae 0x40138f
push ebp
push edi
mov byte [esp + eax + 0x101c], 0
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
lea eax, [esp + 0x101c]
push 0
push eax
call dword [sym.imp.python312.dll_Py_DecodeLocale]
mov ebp, eax
add esp, 0xc
test ebp, ebp
jne 0x40126f
mov ecx, str.Unable_to_convert_path_to_string_
call fcn.00401040
pop ebp
lea ecx, [esp + 0xc]
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4011b0
sub ecx, edx
sar ecx, 1
je 0x4011e3
lea edi, [esp + 0xc]
add edi, 0xfffffffe
nop dword [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x4011d0
mov eax, dword [0x403264]
mov dword [edi], eax
mov esi, ebx
mov ax, word [ebx]
add ebx, 2
test ax, ax
jne 0x4011e5
lea edi, [esp + 0xc]
sub ebx, esi
add edi, 0xfffffffe
nop dword [eax]
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x401200
mov ecx, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0xc]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x401221
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 1]
push eax
call dword [sym.imp.python312.dll_PyMem_RawMalloc]
mov esi, eax
add esp, 4
test esi, esi
jne 0x40135b
call dword [sym.imp.python312.dll_Py_IsInitialized]
test eax, eax
je 0x401323
call dword [sym.imp.python312.dll_PyErr_Print]
push str.Out_of_memory_creating_sys_path_
push str.FatalError
call dword [sym.imp.python312.dll__Py_FatalErrorFunc]
mov ecx, ebx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [esi + ecx - 2], ax
test ax, ax
jne 0x401271
lea edi, [esp + 0x814]
add edi, 0xfffffffe
nop dword [eax + eax]
mov ax, word [edi + 2]
lea edi, [edi + 2]
test ax, ax
jne 0x401290
mov eax, dword [0x40321c]
mov edx, ebp
mov dword [edi], eax
mov esi, edx
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4012a7
lea edi, [esp + 0x814]
sub edx, esi
add edi, 0xfffffffe
nop
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x4012c0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebp
call dword [sym.imp.python312.dll_PyMem_RawFree]
lea edx, [esp + 0x818]
add esp, 4
mov esi, edx
nop dword [eax]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x4012f0
lea edi, [esp + 0x10]
sub edx, esi
add edi, 0xfffffffe
mov ax, word [edi + 2]
add edi, 2
test ax, ax
jne 0x401304
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4011a2
push str.Out_of_memory_creating_sys_path_
push str.Fatal_error:__s_n
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
call fcn.00401010
add esp, 0xc
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x140c]
xor ecx, esp
call fcn.004017dc
add esp, 0x1410
ret
lea ecx, [esp + 0xc]
mov edx, esi
mov eax, ecx
sub edx, eax
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x401365
mov ecx, dword [esp + 0x1418]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004017dc
add esp, 0x1410
ret
call fcn.0040190d
int3