Function at 0x180042190
Capabilities:
Read file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xfff8]
mov eax, 0x100f8
call fcn.1800657b0
sub rsp, rax
mov rax, qword [0x18007cf38]
xor rax, rsp
mov qword [rbp + 0xffe0], rax
mov eax, dword [rbp + 0x10060]
mov rsi, r8
mov rdi, qword [rbp + 0x10068]
mov r10, rcx
mov ebx, dword [rsp + 0x60]
mov qword [rsp + 0x70], rdx
lea edx, [rax + 0x11]
mov qword [rsp + 0x78], r9
mov qword [rbp - 0x70], r8
mov qword [rbp - 0x80], rcx
mov dword [rsp + 0x40], edx
cmp eax, edx
jae case.0x18004224b.153
mov r12, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x58]
mov r15, qword [rsp + 0x70]
mov r14, qword [rsp + 0x70]
mov r13, qword [rsp + 0x70]
mov ecx, dword [rsp + 0x40]
add eax, 0xffffff6f
lea r11, [0x180000000]
movabs r8, 0x57ffffffd7fffff9
cmp eax, 0x29
ja case.default.0x18004224b
movzx eax, byte [r11 + rax + 0x42928]
mov ecx, dword [r11 + rax*4 + 0x428e8]
add rcx, r11
jmp rcx
mov qword [rbp - 0x78], rdi
mov qword [rsp + 0x68], rsi
jmp case.0x18004224b.160
mov rdx, r12
lea rcx, str.HWP_Document_File_V
call fcn.180064ef0
mov r8, qword [rbp - 0x80]
lea rcx, str.set_or_show_gawk_output_file.
mov rdx, rsi
mov r8, qword [r8]
call fcn.180064ef0
jmp 0x180042894
mov rax, qword [rbp - 0x78]
lea rdx, [rsp + 0x60]
xor r9d, r9d
mov dword [rsp + 0x60], 0xa
xor r8d, r8d
mov ecx, 0xaa
mov esi, dword [rax]
mov rax, qword [rsp + 0x68]
shl esi, 3
or esi, 2
mov qword [rsp + 0x20], rax
call fcn.18003b8d0
mov dword [rsp + 0x60], esi
lea r9, [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
xor r8d, r8d
mov rcx, qword [rsi + 0x10]
lea edx, [r8 + 0x73]
call fcn.18001dab0
movsxd rcx, eax
add qword [rsi + 0x10], rcx
jmp 0x180042896
test r10, r10
je 0x1800422ff
mov r15, 0xffffffffffffffff
nop
inc r15
cmp byte [r10 + r15], 0
jne 0x1800422f0
jmp case.0x18004224b.160
xor r15d, r15d
jmp case.0x18004224b.160
test r15, r15
jne 0x1800423b5
mov ebx, 0x91
cmp ebx, 0x91
je 0x180042372
cmp ebx, 0x144
jne 0x1800423a3
mov r9, qword [rsp + 0x78]
lea rax, str.win.text.fontSmoothingContrast
cmp dword [rsi], 0
lea rdx, str.VFMADDSUB132PDZrbkz
mov r8, rdi
mov dword [rsp + 0x20], 0x106
cmovne rdx, rax
lea rcx, [rbp - 0x60]
movups xmm0, xmmword [r9]
movsd xmm1, qword [r9 + 0x10]
lea r9, str.IDS_NOTIFICATIONS_ALLOW_RADIO
movaps xmmword [rbp - 0x60], xmm0
movsd qword [rbp - 0x50], xmm1
call fcn.180062ec0
jmp case.0x18004224b.159
lea rax, [rdx + 5]
cmp rax, qword [rsp + 0x50]
jb 0x1800423a3
lea r9, [rsp + 0x58]
mov edx, 0x54
lea r8, [rsp + 0x50]
lea rcx, [rsp + 0x48]
call fcn.180052350
test eax, eax
je 0x180042863
mov rdx, qword [rsp + 0x58]
add ebx, 0xb3
cmp ebx, 0x1f7
jb 0x180042315
mov rcx, qword [rsp + 0x70]
mov ebx, 1
mov rax, qword [rsp + 0x48]
mov qword [rcx], rax
jmp case.0x18004224b.160
mov rax, qword [rsp + 0x50]
sub rax, qword [rsp + 0x48]
cmp rax, r15
ja 0x180042419
nop dword [rax + rax]
lea r9, [rsp + 0x58]
mov edx, 0x54
lea r8, [rsp + 0x50]
lea rcx, [rsp + 0x48]
call fcn.180052350
test eax, eax
je 0x180042863
mov rax, qword [rsp + 0x50]
sub rax, qword [rsp + 0x48]
cmp rax, r15
jbe 0x1800423e0
mov rdx, qword [rsp + 0x58]
mov r10, qword [rbp - 0x80]
cmp r15, 1
jbe case.0x18004224b.160
mov rcx, qword [rsp + 0x48]
lea r8, [r15 - 1]
lea rdx, [r10 + 1]
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0x58]
dec rdx
add rdx, r15
mov qword [rsp + 0x58], rdx
jmp case.0x18004224b.160
test r14, r14
je case.0x18004224b.160
nop dword [rax]
nop word [rax + rax]
mov esi, 0x8d
mov eax, esi
sub eax, 0x8a
je 0x1800424b9
sub eax, 1
je 0x1800424b4
sub eax, 1
je 0x180042497
cmp eax, 1
jne 0x1800424c6
mov r9, r13
lea rcx, [rbp - 0x20]
mov edx, eax
mov r8d, 0x10000
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov r14, rax
jmp 0x1800424c6
test r14, r14
jne 0x1800424c6
mov rcx, r13
mov dword [rbp + 0x10060], 0xa5
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
jmp 0x180042896
add r12, r14
jmp 0x1800424c6
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_feof]
test eax, eax
jne case.0x18004224b.151
dec esi
cmp esi, 0x89
ja 0x180042465
test r14, r14
jne 0x180042460
jmp 0x180042896
cmp qword [rdi + 0xa8], 1
jae 0x180042520
mov r9, rdi
mov qword [rsp + 0x60], 1
mov r8d, 0x86
lea rdx, [rsp + 0x60]
xor ecx, ecx
call fcn.180063280
test eax, eax
je case.0x18004224b.159
mov rdx, qword [rsp + 0x58]
movabs r8, 0x57ffffffd7fffff9
nop dword [rax]
mov rax, qword [rdi + 0x98]
movzx ecx, byte [rax]
lea eax, [rcx - 0x21]
cmp al, 0x3e
ja 0x18004253a
movzx eax, al
bt r8, rax
jb 0x18004254a
lea eax, [rcx - 0x61]
cmp al, 0x19
jbe 0x18004254a
cmp cl, 0x7e
jne case.0x18004224b.160
mov esi, 0xfe
nop
mov eax, esi
sub eax, 0xfe
je 0x1800425a0
cmp eax, 1
jne 0x180042721
cmp qword [rdi + 0xa8], 1
jae 0x180042721
mov r9, rdi
mov qword [rsp + 0x60], 1
mov r8d, 0x86
lea rdx, [rsp + 0x60]
xor ecx, ecx
call fcn.180063280
test eax, eax
je case.0x18004224b.159
mov rdx, qword [rsp + 0x58]
jmp 0x180042721
mov rax, qword [rdi + 0x98]
cmp byte [rax], 0x25
lea rax, [rdx + 5]
jne 0x18004263d
cmp rax, qword [rsp + 0x50]
jb 0x1800425dc
lea r9, [rsp + 0x58]
mov edx, 0x54
lea r8, [rsp + 0x50]
lea rcx, [rsp + 0x48]
call fcn.180052350
test eax, eax
je 0x180042863
mov rax, qword [rsp + 0x78]
lea rdx, [rbp - 0x40]
mov dword [rsp + 0x30], 0x10
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x28], 0
xor r9d, r9d
mov r8, rdi
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
mov rax, qword [rbp - 0x70]
movaps xmmword [rbp - 0x40], xmm0
movsd qword [rbp - 0x30], xmm1
mov eax, dword [rax]
mov dword [rsp + 0x60], eax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.180029e80
test eax, eax
je case.0x18004224b.159
mov rdx, qword [rsp + 0x58]
jmp 0x18004271e
cmp rax, qword [rsp + 0x50]
jb 0x18004266a
lea r9, [rsp + 0x58]
mov edx, 0x54
lea r8, [rsp + 0x50]
lea rcx, [rsp + 0x48]
call fcn.180052350
test eax, eax
je 0x180042863
mov rdx, qword [rsp + 0x58]
mov rax, qword [rdi + 0x98]
movzx ecx, byte [rax]
test cl, cl
jns 0x1800426f3
movzx eax, cl
and al, 0xe0
cmp al, 0xc0
je 0x1800426d3
movzx eax, cl
and al, 0xf0
cmp al, 0xe0
je 0x1800426b3
movzx eax, cl
and al, 0xf8
cmp al, 0xf0
jne 0x180042709
mov byte [rdx], cl
mov rdx, qword [rsp + 0x58]
inc rdx
inc qword [rdi + 0x98]
mov rax, qword [rdi + 0x98]
mov qword [rsp + 0x58], rdx
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rdx, qword [rsp + 0x58]
inc rdx
inc qword [rdi + 0x98]
mov rax, qword [rdi + 0x98]
mov qword [rsp + 0x58], rdx
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rdx, qword [rsp + 0x58]
inc rdx
inc qword [rdi + 0x98]
mov rax, qword [rdi + 0x98]
mov qword [rsp + 0x58], rdx
movzx ecx, byte [rax]
mov byte [rdx], cl
mov rdx, qword [rsp + 0x58]
inc rdx
inc qword [rdi + 0x98]
mov qword [rsp + 0x58], rdx
inc qword [rdi + 0xe0]
inc qword [rdi + 0xf0]
dec qword [rdi + 0xa8]
inc r15
inc esi
cmp esi, 0x100
jb 0x180042550
jmp 0x18004250f
mov edx, dword [r9]
xor r12d, r12d
test edx, edx
js 0x18004274c
inc edx
lea rcx, str.The_specified_name_is_already_in_use.
call fcn.180064ef0
lea rdx, [0x1800684d4]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov r13, rax
jmp 0x180042896
mov r10, qword [rbp - 0x78]
mov eax, dword [r10 + 4]
dec eax
cmp eax, 0xf
ja case.0x180042780.3
cdqe
mov ecx, dword [r11 + rax*4 + 0x42954]
add rcx, r11
jmp rcx
mov rcx, qword [rsp + 0x68]
mov r8, r10
mov edx, SHTestTokenMembership
call fcn.1800244c0
mov dword [rbp + 0x10060], StrCmpCW
jmp 0x180042896
mov rdx, qword [rsp + 0x68]
mov r9d, 0x29
xor r8d, r8d
mov qword [rsp + 0x20], 0
mov rcx, r10
call fcn.180016500
mov dword [rbp + 0x10060], StrCmpCW
jmp 0x180042896
mov rdx, qword [rsp + 0x68]
xor r9d, r9d
mov rcx, r10
lea r8d, [r9 + 0x67]
call fcn.1800248e0
mov dword [rbp + 0x10060], StrCmpCW
jmp 0x180042896
mov r14d, 1
jmp case.0x18004224b.160
xorps xmm0, xmm0
mov qword [rsp + 0x28], 0
xor r9d, r9d
mov qword [rsp + 0x58], 0
lea r8, [rsp + 0x60]
mov qword [rsp + 0x60], 0x10
xor edx, edx
mov qword [rsp + 0x20], 0
mov ecx, reloc.SHELL32.dll_SHTestTokenMembership
movdqu xmmword [rsp + 0x48], xmm0
call fcn.180029060
mov qword [rsp + 0x48], rax
mov rcx, rax
test rax, rax
je 0x180042863
mov qword [rsp + 0x58], rax
xorps xmm0, xmm0
add rax, 0x10
mov qword [rsp + 0x50], rax
movups xmmword [rcx], xmm0
jmp 0x180042896
mov dword [rdi], 1
mov rdx, qword [rsp + 0x48]
mov ecx, 0x89
mov dword [rbp + 0x10060], 0xb9
call fcn.18003c520
xorps xmm0, xmm0
mov qword [rsp + 0x48], 0
movdqu xmmword [rsp + 0x50], xmm0
xor ebx, ebx
mov rdx, qword [rsp + 0x58]
mov ecx, dword [rsp + 0x40]
mov eax, dword [rbp + 0x10060]
inc eax
mov dword [rbp + 0x10060], eax
cmp eax, ecx
jae case.0x18004224b.153
mov r9, qword [rsp + 0x78]
mov rsi, qword [rbp - 0x70]
mov r10, qword [rbp - 0x80]
jmp 0x180042218
mov eax, ebx
mov rcx, qword [rbp + 0xffe0]
xor rcx, rsp
call fcn.180065820
add rsp, 0x100f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret