Function at 0x4227d0
Capabilities:
Contain obfuscated stackstrings
Read file on windows

Disassembly:
mov r11, rsp
sub rsp, 0xe8
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov qword [r11 + 0x20], rbx
mov qword [r11 - 8], rbp
mov qword [r11 - 0x10], rsi
mov qword [r11 - 0x18], rdi
mov qword [r11 - 0x20], r12
mov qword [r11 - 0x28], r13
mov qword [r11 - 0x30], r14
mov qword [r11 - 0x38], r15
mov rax, qword [0x004583d0]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x28], r8
mov r12, rcx
mov qword [rsp + 0x38], rcx
xor r15d, r15d
mov byte [rsp + 0x70], 0xa
mov byte [rsp + 0x71], 0x3c
mov byte [rsp + 0x72], 0x21
mov byte [rsp + 0x73], 0x2d
mov byte [rsp + 0x74], 0x20
mov byte [rsp + 0x75], 0x2d
mov byte [rsp + 0x76], 0x2d
mov byte [rsp + 0x77], 0x2d
mov byte [rsp + 0x78], 0x2d
mov byte [rsp + 0x79], 0x2d
mov byte [rsp + 0x7a], 0x2d
mov byte [rsp + 0x7b], 0x53
mov byte [rsp + 0x7c], 0x44
mov byte [rsp + 0x7d], 0x53
mov byte [rsp + 0x7e], 0x47
mov byte [rsp + 0x7f], 0x44
mov byte [r11 - 0x68], 0x47
mov byte [r11 - 0x67], 0x53
mov byte [r11 - 0x66], 0x44
mov byte [r11 - 0x65], 0x48
mov byte [r11 - 0x64], 0x52
mov byte [r11 - 0x63], 0x45
mov byte [r11 - 0x62], 0x45
mov byte [r11 - 0x61], 0x54
mov byte [r11 - 0x60], 0x45
mov byte [r11 - 0x5f], 0x54
mov byte [r11 - 0x5e], 0x42
mov byte [r11 - 0x5d], 0x43
mov byte [r11 - 0x5c], 0x4e
mov byte [r11 - 0x5b], 0x4d
mov byte [r11 - 0x5a], 0x4a
mov byte [r11 - 0x59], 0x55
mov byte [r11 - 0x58], 0x4b
mov byte [r11 - 0x57], 0x52
mov byte [r11 - 0x56], 0x2d
mov byte [r11 - 0x55], 0x2d
mov byte [r11 - 0x54], 0x2d
mov byte [r11 - 0x53], 0x2d
mov byte [r11 - 0x52], 0x2d
mov byte [r11 - 0x51], 0x2d
mov byte [r11 - 0x50], 0x2d
mov byte [r11 - 0x4f], 0x2d
mov byte [r11 - 0x4e], 0x2d
mov byte [r11 - 0x4d], 0x2d
mov byte [r11 - 0x4c], 0xa
mov byte [r11 - 0x4b], r15b
mov byte [rsp + 0x40], 0xa
mov byte [rsp + 0x41], 0x2d
mov byte [rsp + 0x42], 0x2d
mov byte [rsp + 0x43], 0x2d
mov byte [rsp + 0x44], 0x2d
mov byte [rsp + 0x45], 0x2d
mov byte [rsp + 0x46], 0x2d
mov byte [rsp + 0x47], 0x2d
mov byte [rsp + 0x48], 0x53
mov byte [rsp + 0x49], 0x44
mov byte [rsp + 0x4a], 0x53
mov byte [rsp + 0x4b], 0x47
mov byte [rsp + 0x4c], 0x44
mov byte [rsp + 0x4d], 0x47
mov byte [rsp + 0x4e], 0x53
mov byte [rsp + 0x4f], 0x44
mov byte [rsp + 0x50], 0x48
mov byte [rsp + 0x51], 0x52
mov byte [rsp + 0x52], 0x45
mov byte [rsp + 0x53], 0x45
mov byte [rsp + 0x54], 0x54
mov byte [rsp + 0x55], 0x45
mov byte [rsp + 0x56], 0x54
mov byte [rsp + 0x57], 0x42
mov byte [rsp + 0x58], 0x43
mov byte [rsp + 0x59], 0x4e
mov byte [rsp + 0x5a], 0x4d
mov byte [rsp + 0x5b], 0x4a
mov byte [rsp + 0x5c], 0x55
mov byte [rsp + 0x5d], 0x4b
mov byte [rsp + 0x5e], 0x52
mov byte [rsp + 0x5f], 0x2d
mov byte [rsp + 0x60], 0x2d
mov byte [rsp + 0x61], 0x2d
mov byte [rsp + 0x62], 0x2d
mov byte [rsp + 0x63], 0x2d
mov byte [rsp + 0x64], 0x2d
mov byte [rsp + 0x65], 0x2d
mov byte [rsp + 0x66], 0x2d
mov byte [rsp + 0x67], 0x20
mov byte [rsp + 0x68], 0x2d
mov byte [rsp + 0x69], 0x2d
mov byte [rsp + 0x6a], 0x3e
mov byte [rsp + 0x6b], 0xa
mov byte [r11 - 0x7c], r15b
lea rdx, [r11 - 0x78]
lea rcx, [rsp + 0x20]
call sub.MFC42u.dll_CCtrlView::CCtrlView
nop
mov rax, qword [rsp + 0x20]
movsxd r13, dword [rax - 8]
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x20]
call sub.MFC42u.dll_AfxDaoTerm
mov r11, qword [rsp + 0x20]
movsxd r14, dword [r11 - 8]
lea rdx, [0x00438c10]
mov rcx, qword [r12]
call qword [sym.imp.msvcrt.dll__wfopen]
mov rdi, rax
test rax, rax
jne 0x422a4a
lea rcx, [rsp + 0x20]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
mov rcx, r12
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
xor eax, eax
jmp 0x422bd6
xor edx, edx
lea r8d, [rdx + 2]
mov rcx, rax
call qword [sym.imp.msvcrt.dll_fseek]
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_ftell]
movsxd rbx, eax
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_rewind]
lea r11d, [rbx + r14]
add r11d, r13d
movsxd rcx, r11d
call qword [sym.imp.msvcrt.dll_malloc]
mov rbp, rax
mov rsi, rbx
mov r9, rdi
mov r8, rbx
mov edx, 1
mov rcx, rax
call qword [sym.imp.msvcrt.dll_fread]
mov rbx, rax
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_fclose]
cmp rbx, rsi
je 0x422ad6
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_fclose]
mov rcx, rbp
call qword [sym.imp.msvcrt.dll_free]
nop
lea rcx, [rsp + 0x20]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
mov rcx, r12
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
xor eax, eax
jmp 0x422bd6
mov r10, rbp
lea rbx, [rsi + rbp]
cmp rbp, rbx
jae 0x422b25
lea r8, [rsp + 0x70]
sub r8, rbp
movzx r9d, byte [rsp + 0x70]
cmp byte [r10], r9b
jne 0x422b13
lea rcx, [r10 + 1]
lea rdx, [r10 + r13]
nop
cmp rcx, rdx
jae 0x422b20
movzx eax, byte [r8 + rcx]
cmp byte [rcx], al
jne 0x422b13
inc rcx
jmp 0x422b00
inc r10
dec r8
cmp r10, rbx
jb 0x422af0
jmp 0x422b25
sub r10d, ebp
jmp 0x422b2b
mov r10d, 0xffffffff
mov rdx, rbp
cmp rbp, rbx
jae 0x422b74
lea r9, [rsp + 0x40]
sub r9, rbp
movzx r11d, byte [rsp + 0x40]
cmp byte [rdx], r11b
jne 0x422b63
lea rcx, [rdx + 1]
lea r8, [rdx + r14]
nop
cmp rcx, r8
jae 0x422b70
movzx eax, byte [r9 + rcx]
cmp byte [rcx], al
jne 0x422b63
inc rcx
jmp 0x422b50
inc rdx
dec r9
cmp rdx, rbx
jb 0x422b41
jmp 0x422b74
sub edx, ebp
jmp 0x422b79
mov edx, 0xffffffff
cmp r10d, 0xffffffff
je 0x422bb6
cmp edx, 0xffffffff
je 0x422bb6
add r10d, r13d
movsxd rbx, r10d
add rbx, rbp
sub edx, r10d
mov rdi, qword [rsp + 0x28]
mov dword [rdi], edx
lea eax, [rdx + rdx*2]
add eax, eax
movsxd rcx, eax
call qword [sym.imp.msvcrt.dll_malloc]
mov r15, rax
movsxd r8, dword [rdi]
mov rdx, rbx
mov rcx, rax
call sub.msvcrt.dll_memcpy
mov rcx, rbp
call qword [sym.imp.msvcrt.dll_free]
nop
lea rcx, [rsp + 0x20]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
nop
mov rcx, r12
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
mov rax, r15
mov rcx, qword [rsp + 0xa0]
call fcn.0042ec20
mov rbx, qword [rsp + 0x108]
mov rbp, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xd0]
mov r12, qword [rsp + 0xc8]
mov r13, qword [rsp + 0xc0]
mov r14, qword [rsp + 0xb8]
mov r15, qword [rsp + 0xb0]
add rsp, 0xe8
ret