Function at 0x100008e14
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x60
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov rsi, rdx
movsxd rdi, ecx
mov r14d, 1
mov rbx, r14
mov r12, rdi
or ebp, 0xffffffff
lea r13d, [r14 + 0x7e]
cmp r14, rdi
jge 0x100008ef3
mov dword [rsp + 0x28], ebp
lea rax, [0x100001e30]
mov qword [rsp + 0x20], rax
mov r9d, ebp
mov r8, qword [rsi + rbx*8]
mov edx, r14d
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
je 0x100008ea6
mov dword [rsp + 0x28], ebp
lea rax, [0x100001e48]
mov qword [rsp + 0x20], rax
mov r9d, ebp
mov r8, qword [rsi + rbx*8]
mov edx, r14d
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_CompareStringW]
sub eax, 2
jne 0x100008ee7
call qword [sym.imp.msvcrt.dll___iob_func]
lea rcx, [rax + 0x30]
call qword [sym.imp.msvcrt.dll__fileno]
mov ecx, eax
mov edx, 0x8000
call qword [sym.imp.msvcrt.dll__setmode]
mov edx, 0xff
lea r8d, [rdx - 1]
lea rcx, [0x10000186c]
call qword [sym.imp.msvcrt.dll_printf]
mov dword [0x100080300], r14d
mov dword [0x100080304], r14d
add rbx, r14
cmp rbx, rdi
jl 0x100008e56
lea rdx, [0x100001c48]
lea rcx, [0x1000805d8]
call sub.MFC42u.dll_AfxDeleteObject
lea r8, [0x100001c70]
mov rdx, 0xffffffff80000001
lea rcx, [rsp + 0x48]
call fcn.1000160c4
nop
mov r9d, 0x7530
lea r8, [0x10001e158]
lea rdx, [0x100001e60]
lea rcx, [rsp + 0x48]
call fcn.100016284
mov r9d, 0xf4240
lea r8, [0x10001e15c]
lea rdx, [0x100001e78]
lea rcx, [rsp + 0x48]
call fcn.100016284
call fcn.100006a4c
cmp edi, 2
jge 0x100008f89
call fcn.10000e548
mov edx, r14d
mov ecx, 0x44d
call fcn.10000e4cc
nop
lea rcx, [rsp + 0x48]
call fcn.100016174
xor eax, eax
jmp 0x100009729
cmp edi, 2
jne 0x100009089
mov dword [rsp + 0x28], ebp
lea rax, [0x100001e90]
mov qword [rsp + 0x20], rax
mov r9d, ebp
mov r8, qword [rsi + 8]
mov edx, r14d
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, edi
je 0x10000902e
mov dword [rsp + 0x28], ebp
lea rax, [0x100001ea0]
mov qword [rsp + 0x20], rax
mov r9d, ebp
mov r8, qword [rsi + 8]
mov edx, r14d
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, edi
je 0x10000902e
mov dword [rsp + 0x28], ebp
lea rax, [0x100001eac]
mov qword [rsp + 0x20], rax
mov r9d, ebp
mov r8, qword [rsi + 8]
mov edx, r14d
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, edi
je 0x10000902e
mov dword [rsp + 0x28], ebp
lea rax, [0x100001eb4]
mov qword [rsp + 0x20], rax
mov r9d, ebp
mov r8, qword [rsi + 8]
mov edx, r14d
mov ecx, r13d
call qword [sym.imp.KERNEL32.dll_CompareStringW]
sub eax, edi
jne 0x100009089
call fcn.10000e548
mov edx, r14d
mov ecx, 0x4b1
call fcn.10000e4cc
mov edx, r14d
mov ecx, 0x514
call fcn.10000e4cc
mov edx, r14d
mov ecx, 0x579
call fcn.10000e4cc
mov edx, r14d
mov ecx, 0x5dd
call fcn.10000e4cc
mov edx, r14d
mov ecx, 0x641
call fcn.10000e4cc
mov edx, r14d
mov ecx, 0x6a5
call fcn.10000e4cc
nop
xor edi, edi
jmp 0x10000971d
mov ebp, r14d
mov rbx, r14
xor edi, edi
cmp r14, r12
jge 0x100009269
mov rcx, rdi
mov r13d, edi
mov r8, qword [rsi + rbx*8]
cmp word [r8], di
je 0x1000090ca
movzx eax, word [r8]
cmp ax, 0x2f
je 0x1000090ba
cmp ax, 0x5c
jne 0x1000090bd
add r13d, r14d
add rcx, r14
mov ax, word [r8 + rcx*2]
cmp ax, di
jne 0x1000090ae
cmp word [r8], 0x2d
je 0x10000920c
mov dword [rsp + 0x28], 5
lea rax, [0x100001ec0]
mov qword [rsp + 0x20], rax
mov r9d, 5
mov edx, r14d
lea ecx, [r9 + 0x7a]
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
je 0x10000920c
mov ecx, 6
mov dword [rsp + 0x28], ecx
lea rax, [0x100001ed0]
mov qword [rsp + 0x20], rax
mov r9d, ecx
mov r8, qword [rsi + rbx*8]
mov edx, r14d
lea ecx, [r9 + 0x79]
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
je 0x10000920c
mov r9d, 5
mov dword [rsp + 0x28], r9d
lea rax, [0x100001dc0]
mov qword [rsp + 0x20], rax
mov r8, qword [rsi + rbx*8]
mov edx, r14d
lea ecx, [r9 + 0x7a]
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
je 0x10000920c
mov ecx, 6
mov dword [rsp + 0x28], ecx
lea rax, [0x100001dd0]
mov qword [rsp + 0x20], rax
mov r9d, ecx
mov r8, qword [rsi + rbx*8]
mov edx, r14d
lea ecx, [r9 + 0x79]
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
je 0x10000920c
mov ecx, 8
mov dword [rsp + 0x28], ecx
lea rax, [0x100001de0]
mov qword [rsp + 0x20], rax
mov r9d, ecx
mov r8, qword [rsi + rbx*8]
mov edx, r14d
lea ecx, [r9 + 0x77]
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
je 0x10000920c
mov ecx, 9
mov dword [rsp + 0x28], ecx
lea rax, [0x100001df8]
mov qword [rsp + 0x20], rax
mov r9d, ecx
mov r8, qword [rsi + rbx*8]
mov edx, r14d
lea ecx, [r9 + 0x76]
call qword [sym.imp.KERNEL32.dll_CompareStringW]
cmp eax, 2
je 0x10000920c
mov rcx, qword [rsi + rbx*8]
cmp word [rcx], 0x2f
jne 0x100009201
cmp r13d, r14d
je 0x10000920c
call fcn.1000065cc
cmp eax, edi
je 0x10000922d
jmp 0x10000921d
mov rcx, qword [rsi + rbx*8]
add rcx, 2
call fcn.100004b38
cmp eax, edi
je 0x10000924b
add ebp, r14d
add rbx, r14
cmp rbx, r12
jge 0x100009269
jmp 0x10000909a
call fcn.10000e548
movsxd rdx, ebp
mov r8d, r14d
mov rdx, qword [rsi + rdx*8]
mov ecx, ebp
call fcn.10000f63c
nop
mov edi, eax
jmp 0x10000971d
call fcn.10000e548
movsxd rdx, ebp
mov r8d, r14d
mov rdx, qword [rsi + rdx*8]
mov ecx, ebp
call fcn.10000f63c
nop
mov edi, eax
jmp 0x10000971d
mov eax, dword [0x100080324]
cmp qword [0x1000806b0], rdi
cmove eax, r14d
mov dword [0x100080324], eax
call qword [sym.imp.KERNEL32.dll_GetVersion]
shr eax, 0x10
and eax, 0x7fff
mov ecx, dword [0x10001e140]
cmp eax, 0xa28
cmovb ecx, edi
mov dword [0x10001e140], ecx
cmp dword [0x10002edc0], edi
je 0x1000092cb
mov eax, dword [0x100080358]
add eax, eax
mov dword [0x100080358], eax
call fcn.10000e548
call fcn.10000eb3c
nop
mov edi, r14d
jmp 0x10000971d
call fcn.10000e548
lea rdx, [rsp + 0xa0]
mov rcx, qword [0x10006f460]
call fcn.10001340c
mov rcx, qword [rax]
cmp dword [rcx - 8], edi
setne bl
lea rcx, [rsp + 0xa0]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
cmp bl, dil
je 0x100009348
lea rax, [0x10002f040]
mov qword [rsp + 0x30], rax
lea rax, [0x100080310]
mov qword [rsp + 0x28], rax
lea rax, [0x10008030c]
mov qword [rsp + 0x20], rax
lea r9, [0x100080308]
lea r8, [0x10002ebb0]
mov edx, 0x23a5
mov rcx, qword [0x10006f460]
call fcn.1000134bc
mov dword [0x10001e128], eax
lea rdx, [rsp + 0xa8]
mov rcx, qword [0x10001e998]
call fcn.10001340c
mov rcx, qword [rax]
cmp dword [rcx - 8], edi
setne bl
lea rcx, [rsp + 0xa8]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
cmp bl, dil
je 0x1000093c5
lea rax, [0x10002edd0]
mov qword [rsp + 0x30], rax
lea rax, [0x10008031c]
mov qword [rsp + 0x28], rax
lea rax, [0x100080318]
mov qword [rsp + 0x20], rax
lea r9, [0x100080314]
lea r8, [0x10002f250]
mov edx, 0x23a6
mov rcx, qword [0x10001e998]
call fcn.1000134bc
mov r11d, eax
mov dword [0x10001e12c], eax
jmp 0x1000093cc
mov r11d, dword [0x10001e12c]
cmp dword [0x100080320], edi
jne 0x1000093ee
cmp dword [0x10001e128], edi
je 0x1000093ee
mov eax, dword [0x10001e130]
cmp r11d, edi
cmovne eax, edi
mov dword [0x10001e130], eax
call fcn.10000eb3c
lea rdx, [rsp + 0xa0]
mov rcx, qword [0x10006f460]
call fcn.10001340c
mov rcx, qword [rax]
mov ebx, edi
cmp dword [rcx - 8], edi
sete bl
lea rcx, [rsp + 0xa0]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
cmp ebx, edi
je 0x100009443
mov edx, r14d
mov ecx, 0x10
call fcn.10000e4cc
mov edx, r14d
mov ecx, 0x44d
call fcn.10000e4cc
nop
jmp 0x10000971d
lea rdx, [rsp + 0xa8]
mov rcx, qword [0x10001e998]
call fcn.10001340c
mov rcx, qword [rax]
mov ebx, edi
cmp dword [rcx - 8], edi
sete bl
lea rcx, [rsp + 0xa8]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
cmp ebx, edi
je 0x100009493
mov edx, r14d
mov ecx, 0x12
call fcn.10000e4cc
mov edx, r14d
mov ecx, 0x44d
call fcn.10000e4cc
nop
jmp 0x10000971d
mov eax, dword [0x100080388]
cmp eax, edi
je 0x1000094d9
cmp dword [0x10001e128], r14d
je 0x1000094b9
mov edx, r14d
mov ecx, 0x14
call fcn.10000e4cc
mov eax, dword [0x100080388]
cmp eax, edi
je 0x1000094d9
cmp dword [0x10001e12c], r14d
je 0x1000094d9
mov edx, r14d
mov ecx, 0x16
call fcn.10000e4cc
mov eax, dword [0x100080388]
test al, 8
je 0x100009505
cmp dword [0x100080448], edi
jne 0x100009505
mov edx, r14d
mov ecx, 0x18
call fcn.10000e4cc
mov edx, r14d
mov ecx, 0x44d
call fcn.10000e4cc
nop
jmp 0x10000971d
cmp dword [0x100080390], edi
je 0x100009531
cmp eax, edi
jne 0x100009531
mov edx, r14d
mov ecx, 0xc
call fcn.10000e4cc
mov edx, r14d
mov ecx, 0x44d
call fcn.10000e4cc
nop
jmp 0x10000971d
cmp dword [0x1000803a4], edi
je 0x100009569
cmp dword [0x100080440], edi
je 0x100009549
cmp dword [0x100080444], edi
jne 0x100009569
mov edx, r14d
mov ecx, 0x1b
call fcn.10000e4cc
mov edx, r14d
mov ecx, 0x44d
call fcn.10000e4cc
nop
jmp 0x10000971d
mov r9d, dword [0x10001e15c]
mov ebx, 0x238d
mov r8d, ebx
mov edx, dword [0x10008042c]
mov rcx, qword [0x10006f460]
call fcn.100011b88
cmp eax, edi
jne 0x1000095a4
mov rdx, qword [0x10006f460]
mov ecx, ebx
call fcn.10000e808
nop
mov edi, eax
jmp 0x10000971d
mov rbx, qword [0x10006f460]
mov dword [rbx + 0x18], 3
lea rdx, [rsp + 0xa0]
mov rcx, rbx
call fcn.10001330c
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [rbx + 0x20], eax
lea rcx, [rsp + 0xa0]
call sub.MFC42u.dll_CDocObjectServer::XOleDocument::AddRef
cmp dword [rbx + 0x20], 0xffffffff
jne 0x1000095e4
mov dword [rbx + 0x20], edi
mov r9d, dword [0x10001e15c]
mov ebx, 0x238e
mov r8d, ebx
mov edx, dword [0x10008042c]
mov rcx, qword [0x10001e998]
call fcn.100011b88
cmp eax, edi
jne 0x100009690
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x10b
je 0x10000967a
cmp eax, 0x7b
je 0x10000967a
cmp dword [0x100080354], edi
jne 0x10000966d
mov eax, dword [0x10001e15c]
mov dword [rsp + 0x20], eax
mov ebx, 0x2394
mov r9d, ebx
mov r8d, dword [0x10008042c]
mov rdx, qword [0x10006f460]
mov rcx, qword [0x10001e998]
call fcn.100011ed4
cmp eax, edi
jne 0x10000966d
mov rdx, qword [0x10001e998]
mov ecx, ebx
call fcn.10000e808
nop
mov edi, eax
jmp 0x10000971d
mov rax, qword [0x10006f460]
mov dword [rax + 0x18], r14d
jmp 0x100009690
mov rdx, qword [0x10001e998]
mov ecx, ebx
call fcn.10000e808
nop
mov edi, eax
jmp 0x10000971d
cmp dword [0x10008043c], edi
je 0x1000096c8
mov r8d, dword [0x10001e158]
lea rdx, [0x100001e60]
lea rcx, [rsp + 0x48]
call fcn.100016204
mov r8d, dword [0x10001e15c]
lea rdx, [0x100001e78]
lea rcx, [rsp + 0x48]
call fcn.100016204
cmp dword [0x100080460], edi
je 0x10000971a
cmp dword [0x1000803a8], edi
je 0x1000096f5
mov edx, r14d
mov ecx, 0x456
call fcn.10000e4cc
mov edx, r14d
mov ecx, 0x44d
call fcn.10000e4cc
nop
jmp 0x10000971d
cmp dword [0x100080428], edi
jle 0x10000971a
mov edx, r14d
mov ecx, 0x457
call fcn.10000e4cc
mov edx, r14d
mov ecx, 0x44d
call fcn.10000e4cc
nop
jmp 0x10000971d
mov edi, r14d
lea rcx, [rsp + 0x48]
call fcn.100016174
mov eax, edi
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsp, r11
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret