Function at 0x140009970
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x120
mov rsi, rcx
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
mov edx, 0x80000000
mov r8d, 1
xor r9d, r9d
call qword [sym.imp.kernel32.dll_CreateFileW]
cmp rax, 0xffffffffffffffff
je 0x140009a1f
mov rdi, rax
mov qword [rsp + 0x20], 0
lea rdx, [rsp + 0x3f]
lea r9, [rsp + 0x44]
mov rcx, rax
mov r8d, 5
call qword [sym.imp.kernel32.dll_ReadFile]
mov rcx, rdi
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.kernel32.dll_SetFilePointer]
mov eax, dword [rsp + 0x44]
cmp eax, 2
jb 0x140009a61
cmp byte [rsp + 0x3f], 0xff
jne 0x140009a61
cmp byte [rsp + 0x40], 0xfe
jne 0x140009a61
mov rcx, rdi
mov edx, 2
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.kernel32.dll_SetFilePointer]
mov ebx, 0x11
jmp 0x140009b03
mov rax, qword gs:[0x30]
xor edx, edx
cmp dword [rax + 0x68], 5
sete dl
add rdx, 0x6ad
mov rcx, qword [0x14001bff0]
lea r8, [0x14000ffc0]
mov r9d, 0x30
add rsp, 0x120
pop rbx
pop rdi
pop rsi
pop r14
pop r15
jmp qword [sym.imp.user32.dll_MessageBoxW]
mov ebx, 1
cmp eax, 5
jb 0x140009b03
mov eax, 0x74725c7b
xor eax, dword [rsp + 0x3f]
movzx ecx, byte [rsp + 0x43]
xor ecx, 0x66
or ecx, eax
je 0x140009afe
cmp dword [rsp + 0x3f], 0xe011cfd0
jne 0x140009b03
mov rcx, rdi
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rax, qword [0x14001bff0]
mov dword [rsp + 0x60], 0x50
mov qword [rsp + 0x68], rax
xor ecx, ecx
call qword [sym.imp.kernel32.dll_GetModuleHandleW]
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 0x6aa
lea rax, [0x14000ffc0]
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x88], 0x30
xorps xmm0, xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0x9c], xmm0
lea rcx, [rsp + 0x60]
call qword [sym.imp.user32.dll_MessageBoxIndirectW]
jmp 0x140009c9f
mov ebx, 2
mov qword [rsp + 0x48], rdi
lea rax, [sym.stream_in]
mov qword [rsp + 0x54], rax
movabs rax, 0x8000000bc
mov qword [rsp + 0x60], rax
mov word [rsp + 0x78], 1
mov rcx, qword [0x14001c020]
xor r14d, r14d
lea r9, [rsp + 0x60]
mov edx, 0x447
xor r8d, r8d
call qword [sym.imp.user32.dll_SendMessageW]
mov qword [0x14001b298], rbx
call sym.set_bar_states
xorps xmm0, xmm0
movups xmmword [rsp + 0xbc], xmm0
movups xmmword [rsp + 0xac], xmm0
movups xmmword [rsp + 0x9c], xmm0
movups xmmword [rsp + 0x8c], xmm0
movups xmmword [rsp + 0x7c], xmm0
movups xmmword [rsp + 0x6c], xmm0
mov qword [rsp + 0xcc], 0
movabs rax, 0x2000000700000074
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x68], 0
test byte [0x14001b298], 2
lea rcx, str.Courier_New
lea rax, str.Times_New_Roman
cmove rax, rcx
nop dword [rax]
movzx ecx, word [rax + r14]
mov word [rsp + r14 + 0x7a], cx
add r14, 2
test cx, cx
jne 0x140009bc0
mov rcx, qword [0x14001c020]
mov r15, qword [sym.imp.user32.dll_SendMessageW]
xor r14d, r14d
lea r9, [rsp + 0x60]
mov edx, 0x444
xor r8d, r8d
call r15
mov rcx, qword [0x14001b298]
call sym.reg_formatindex
cdqe
lea rcx, [0x14001c000]
mov edx, dword [rcx + rax*4]
mov rcx, qword [0x14001bff0]
call sym.target_device
mov rcx, qword [0x14001c020]
lea r9, [rsp + 0x48]
mov edx, 0x449
mov r8, rbx
call r15
mov rcx, rdi
call qword [sym.imp.kernel32.dll_CloseHandle]
mov rcx, qword [0x14001c020]
call qword [sym.imp.user32.dll_SetFocus]
mov rcx, rsi
call sym.set_caption
lea rax, [0x14001d4b0]
nop word cs:[rax + rax]
movzx ecx, word [rsi + r14]
mov word [r14 + rax], cx
add r14, 2
test cx, cx
jne 0x140009c60
mov rcx, qword [0x14001c020]
mov edx, 0xb9
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.user32.dll_SendMessageW]
mov rdx, qword [0x14001bff0]
mov rcx, rsi
call sym.registry_set_filelist
call sym.update_font_list
nop
add rsp, 0x120
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
cld
cld
cld
invalid
stc
invalid
cli
cli
cli
invalid
cli
invalid
stc
invalid
stc
invalid
clc
clc
clc
invalid
cdq
cdq
cdq
cli
mov dword [rcx + 0xd89], ecx
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
xchg esp, eax
xchg esp, eax
xchg esp, eax
sti
jmp 0x1400330fe
std
invalid
cld
invalid
cld
invalid
sti
sti
sti
invalid
cli
cli
cli
invalid
cli
cli
cli
invalid
cli
invalid
stc
invalid
bnd call qword [rbp - 0x36a6b]
invalid
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
cwde
cwde
cwde
invalid
retf
ret 0xa1ff
mov edi, 0x9fffc2c2
movabs byte [0xc8c7ffb2b3b0ffa1], al
enter 0xffffffffffffbfff, 0xffffffffffffffc1
sar edi, 0x9c
movabs al, byte [0xc8c7ffb1b2aeff9f]
enter 0xffffffffffffbeff, 0xffffffffffffffc1
sar edi, 0x9a
sahf
pushfq
jmp [rax + rsi*4 - 0x37380051]
enter 0xffffffffffffbdff, 0xffffffffffffffc0
mov edi, 0x979994ff
jmp [rcx - 0x39005353]
mov edi, 0x949692ff
jmp [rax - 0x39005555]