Function at 0x14001f0f0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x420
movsxd rax, ecx
lea rbp, [0x1401ba080]
lea rsi, [rax*8]
cmp qword [rsi + rbp], 0
jne 0x14001f3b6
call fcn.140012730
mov r8, rax
test rax, rax
jne 0x14001f135
lea eax, [r8 - 1]
jmp 0x14001f3b8
lea rdx, [rsp + 0x20]
mov rcx, r8
sub rdx, r8
movzx eax, byte [rcx]
mov byte [rdx + rcx], al
lea rcx, [rcx + 1]
test al, al
jne 0x14001f140
mov rcx, r8
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rcx, [rsp + 0x20]
dec rcx
nop
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x14001f160
lea r8, str._etc_charset_
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14001f180
lea rcx, [rsp + 0x20]
dec rcx
lea r8, [0x14017e120]
nop
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x14001f1a0
mov r8, qword [rsi + r8]
xor edx, edx
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x14001f1b0
lea rax, [rsp + 0x20]
dec rax
nop dword [rax + rax]
cmp byte [rax + 1], 0
lea rax, [rax + 1]
jne 0x14001f1d0
lea r8, str..u2m
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [r8 + rdx]
mov byte [rax + rdx], cl
lea rdx, [rdx + 1]
test cl, cl
jne 0x14001f1f0
movsxd rax, dword [0x1401ba2c0]
imul rcx, rax, 0x38
mov rax, qword [0x140175020]
test byte [rcx + rax + 0x18], 0x40
je 0x14001f241
mov r8, qword [rcx + rax]
lea rcx, str._s_MONITOR:_s:
mov rdx, qword [section..data]
call fcn.140002310
lea rdx, [rsp + 0x20]
lea rcx, str.Loading_U2M_table___s__n
call fcn.140001fb0
lea rdx, [0x14017e844]
lea rcx, [rsp + 0x20]
call fcn.14001ccc0
mov rdi, rax
test rax, rax
je 0x14001f3b6
mov edx, 1
lea rcx, [rsp + 0x20]
mov r9, rax
lea r8d, [rdx + 0x13]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, 0x14
jne 0x14001f39e
mov rcx, qword [rsp + 0x20]
cmp rcx, qword [str.PV_U2M0100]
jne 0x14001f39e
movzx eax, word [rsp + 0x28]
cmp ax, word [0x14017ea08]
jne 0x14001f39e
cmp byte [rsp + 0x2b], 1
jne 0x14001f39e
mov ecx, 0x20
mov qword [rsp + 0x430], rbx
call fcn.140001bb0
movzx ecx, byte [rsp + 0x2a]
mov rbx, rax
mov byte [rax], cl
movzx ecx, byte [rsp + 0x2e]
movzx eax, byte [rsp + 0x2c]
movzx r8d, byte [rsp + 0x2f]
shl r8d, 8
add r8d, ecx
movzx ecx, byte [rsp + 0x2d]
shl r8d, 8
add r8d, ecx
shl r8d, 8
add r8d, eax
mov dword [rbx + 4], r8d
movzx ecx, byte [rsp + 0x33]
movzx eax, byte [rsp + 0x32]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + 0x31]
shl ecx, 8
add ecx, eax
movzx eax, byte [rsp + 0x30]
shl ecx, 8
add ecx, eax
mov dword [rbx + 8], ecx
movsxd rcx, r8d
call fcn.140001bb0
movsxd rcx, dword [rbx + 8]
mov qword [rbx + 0x10], rax
call fcn.140001bb0
movsxd r8, dword [rbx + 4]
mov r9, rdi
mov rcx, qword [rbx + 0x10]
mov edx, 1
mov qword [rbx + 0x18], rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov ecx, dword [rbx + 4]
cmp rax, rcx
jne 0x14001f379
movsxd r8, dword [rbx + 8]
mov r9, rdi
mov rcx, qword [rbx + 0x18]
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov ecx, dword [rbx + 8]
cmp rax, rcx
jne 0x14001f379
mov qword [rsi + rbp], rbx
jmp 0x14001f396
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rbx + 0x18]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, qword [rsp + 0x430]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [rsi + rbp]
neg rax
sbb eax, eax
neg eax
dec eax
jmp 0x14001f3b8
xor eax, eax
lea r11, [rsp + 0x420]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret