Function at 0x14004f1f0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rdi
mov eax, 0x30e0
call fcn.140057910
sub rsp, rax
mov rax, qword [0x1400600c0]
xor rax, rsp
mov qword [rsp + 0x30d0], rax
lea rax, [0x1400684d0]
mov qword [rsp + 0x1098], rax
mov qword [rsp + 0x20a0], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x20a8], 0
mov dword [rsp + 0x1090], 0x21c
mov dword [rsp + 0x34], 0
movsxd rcx, dword [rsp + 0x30f0]
imul rcx, rcx, 0x4e6c
mov rax, qword [rsp + 0x1098]
lea rax, [rax + rcx + 0x408d]
mov qword [rsp + 0x48], rax
movzx eax, byte [0x14005b71e]
mov byte [rsp + 0x60], al
lea rdi, [rsp + 0x61]
xor eax, eax
mov ecx, 0xfff
rep stosb byte [rdi], al
movzx eax, byte [0x14005b71f]
mov byte [rsp + 0x10a0], al
lea rdi, [rsp + 0x10a1]
xor eax, eax
mov ecx, 0xfff
rep stosb byte [rdi], al
mov rcx, qword [rsp + 0x30f8]
call fcn.140001cc0
test eax, eax
jne 0x14004f2db
mov dword [rsp + 0x34], 0x603
jmp 0x14004f82f
lea rdx, [rsp + 0x1060]
mov rcx, qword [rsp + 0x30f8]
call fcn.140003638
test eax, eax
je 0x14004f306
mov dword [rsp + 0x34], 0x609
jmp 0x14004f82f
mov eax, dword [rsp + 0x1074]
mov dword [rsp + 0x30], eax
lea rdx, [0x14005b7e4]
mov rcx, qword [rsp + 0x30f8]
call fcn.14000251c
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
jne 0x14004f344
mov dword [rsp + 0x34], 0x613
jmp 0x14004f82f
movsxd rcx, dword [rsp + 0x30]
call fcn.140001bf0
mov qword [rsp + 0x20a0], rax
cmp qword [rsp + 0x20a0], 0
jne 0x14004f373
mov dword [rsp + 0x34], 0x61a
jmp 0x14004f82f
mov r8d, dword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov edx, 1
mov rcx, qword [rsp + 0x20a0]
call fcn.140002968
mov rdx, rax
mov eax, dword [rsp + 0x30]
cmp rdx, rax
je 0x14004f3ad
mov dword [rsp + 0x34], 0x620
jmp 0x14004f82f
mov rax, qword [rsp + 0x20a0]
mov qword [rsp + 0x20a8], rax
mov rax, qword [rsp + 0x20a8]
movsx eax, byte [rax]
cmp eax, 0x50
jne 0x14004f400
mov rax, qword [rsp + 0x20a8]
movsx eax, byte [rax + 1]
cmp eax, 0x52
jne 0x14004f400
mov rax, qword [rsp + 0x20a8]
movsx eax, byte [rax + 2]
cmp eax, 0x45
jne 0x14004f400
mov rax, qword [rsp + 0x20a8]
movsx eax, byte [rax + 3]
cmp eax, 0x56
je 0x14004f412
mov dword [rsp + 0x34], 0x62d
jmp 0x14004f82f
mov rax, qword [rsp + 0x20a8]
cmp dword [rax + 8], 1
je 0x14004f432
mov dword [rsp + 0x34], 0x633
jmp 0x14004f82f
mov dword [rsp + 0x20bc], 0
mov rax, qword [rsp + 0x20a0]
add rax, 8
mov qword [rsp + 0x20b0], rax
mov eax, dword [rsp + 0x30]
sub eax, 8
mov dword [rsp + 0x20b8], eax
mov dword [rsp + 0x40], 0
jmp 0x14004f474
mov eax, dword [rsp + 0x40]
add eax, 1
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x20b8]
cmp dword [rsp + 0x40], eax
jge 0x14004f4b2
mov rax, qword [rsp + 0x20b0]
movzx ecx, byte [rax]
mov eax, dword [rsp + 0x20bc]
add eax, ecx
mov dword [rsp + 0x20bc], eax
mov rax, qword [rsp + 0x20b0]
add rax, 1
mov qword [rsp + 0x20b0], rax
jmp 0x14004f469
mov rcx, qword [rsp + 0x20a8]
mov eax, dword [rsp + 0x20bc]
cmp dword [rcx + 4], eax
je 0x14004f4d8
mov dword [rsp + 0x34], 0x641
jmp 0x14004f82f
movsxd rcx, dword [rsp + 0x1090]
mov rax, qword [rsp + 0x20a0]
add rax, rcx
mov qword [rsp + 0x20c0], rax
mov rax, qword [rsp + 0x20a8]
cmp dword [rax + 0xc], 0
jle 0x14004f5d1
mov rax, qword [rsp + 0x20a8]
mov eax, dword [rax + 0xc]
imul eax, eax, 0x80
movsxd rcx, eax
call fcn.140001bf0
mov rdx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x4e28], rdx
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x4e28], 0
je 0x14004f568
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x20a8]
mov eax, dword [rax + 0xc]
mov dword [rcx + 0x4e24], eax
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x20a8]
mov eax, dword [rax + 0xc]
mov dword [rcx + 0x4e20], eax
mov dword [rsp + 0x40], 0
jmp 0x14004f57d
mov eax, dword [rsp + 0x40]
add eax, 1
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x4e24]
cmp dword [rsp + 0x40], eax
jge 0x14004f5d1
movsxd rcx, dword [rsp + 0x40]
imul rcx, rcx, 0x80
mov rax, qword [rsp + 0x48]
add rcx, qword [rax + 0x4e28]
mov r8d, 0x80
mov rdx, qword [rsp + 0x20c0]
call fcn.1400012b0
mov rax, qword [rsp + 0x20c0]
add rax, 0x80
mov qword [rsp + 0x20c0], rax
jmp 0x14004f572
mov rax, qword [rsp + 0x20a8]
mov ecx, dword [rax + 0xc]
imul ecx, ecx, 0x80
mov eax, dword [rsp + 0x1090]
add eax, ecx
movsxd rcx, eax
mov rax, qword [rsp + 0x20a0]
add rax, rcx
mov qword [rsp + 0x20c8], rax
mov rax, qword [rsp + 0x20a8]
cmp dword [rax + 0x10], 0
jle 0x14004f6d7
mov rax, qword [rsp + 0x20a8]
mov eax, dword [rax + 0x10]
imul eax, eax, 0x20
movsxd rcx, eax
call fcn.140001bf0
mov rdx, rax
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x4e38], rdx
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x4e38], 0
je 0x14004f673
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x20a8]
mov eax, dword [rax + 0x10]
mov dword [rcx + 0x4e34], eax
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x20a8]
mov eax, dword [rax + 0x10]
mov dword [rcx + 0x4e30], eax
mov dword [rsp + 0x40], 0
jmp 0x14004f688
mov eax, dword [rsp + 0x40]
add eax, 1
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x4e34]
cmp dword [rsp + 0x40], eax
jge 0x14004f6d7
movsxd rcx, dword [rsp + 0x40]
imul rcx, rcx, 0x20
mov rax, qword [rsp + 0x48]
add rcx, qword [rax + 0x4e38]
mov r8d, 0x20
mov rdx, qword [rsp + 0x20c8]
call fcn.1400012b0
mov rax, qword [rsp + 0x20c8]
add rax, 0x20
mov qword [rsp + 0x20c8], rax
jmp 0x14004f67d
cmp qword [rsp + 0x38], 0
je 0x14004f6e9
mov rcx, qword [rsp + 0x38]
call fcn.1400034d4
cmp qword [rsp + 0x20a0], 0
je 0x14004f701
mov rcx, qword [rsp + 0x20a0]
call fcn.140001bb0
lea rax, [rsp + 0x10a0]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x60]
xor r8d, r8d
xor edx, edx
mov rcx, qword [rsp + 0x30f8]
call fcn.1400033b8
lea rcx, [rsp + 0x10a0]
call fcn.140001cc0
cmp eax, 1
jle 0x14004f771
movsxd rcx, dword [rsp + 0x30f0]
imul rcx, rcx, 0x4e6c
mov rax, qword [rsp + 0x1098]
lea rcx, [rax + rcx + 0x508d]
lea r9, [rsp + 0x10a0]
lea r8, [rsp + 0x60]
lea rdx, [0x14005b954]
call fcn.140001614
jmp 0x14004f7a1
movsxd rcx, dword [rsp + 0x30f0]
imul rcx, rcx, 0x4e6c
mov rax, qword [rsp + 0x1098]
lea rcx, [rax + rcx + 0x508d]
lea r8, [rsp + 0x60]
lea rdx, [0x14005b834]
call fcn.140001614
movsxd rcx, dword [rsp + 0x30f0]
imul rcx, rcx, 0x4e6c
mov rax, qword [rsp + 0x1098]
lea rcx, [rax + rcx + 0x408d]
mov rdx, qword [rsp + 0x30f8]
call fcn.140001e20
mov rdx, qword [rsp + 0x48]
mov byte [rdx + 0x2040], 1
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x2041], 1
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x2046], 1
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x2042], 0
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x2043], 0
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x2044], 0
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x2045], 0
mov ecx, dword [rsp + 0x30f0]
call fcn.14004ced0
jmp 0x14004f8ae
movzx eax, byte [0x14005b743]
mov byte [rsp + 0x20d0], al
lea rdi, [rsp + 0x20d1]
xor eax, eax
mov ecx, 0xfff
rep stosb byte [rdi], al
mov r8d, dword [rsp + 0x34]
lea rdx, str.CncPreview__OnReadBin_:_error_at_line__ld
lea rcx, [rsp + 0x20d0]
call fcn.140001614
mov r9d, 0x10
lea r8, str.CncPreview_FATAL_ERROR
lea rdx, [rsp + 0x20d0]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
cmp qword [rsp + 0x38], 0
je 0x14004f896
mov rcx, qword [rsp + 0x38]
call fcn.1400034d4
cmp qword [rsp + 0x20a0], 0
je 0x14004f8ae
mov rcx, qword [rsp + 0x20a0]
call fcn.140001bb0
mov rcx, qword [rsp + 0x30d0]
xor rcx, rsp
call fcn.140001280
add rsp, 0x30e0
pop rdi
ret