Function at 0x140024480
Capabilities:
Check if file exists
Create directory
Get file attributes
Set file attributes
Timestomp file

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x450]
sub rsp, 0x550
mov qword [rbp + 0x1a8], 0xfffffffffffffffe
mov qword [rsp + 0x5a8], rbx
mov rax, qword [0x140079258]
xor rax, rsp
mov qword [rbp + 0x440], rax
mov r13, r8
mov r12, rdx
mov r15, rcx
mov qword [rbp + 0x1b0], rcx
xor esi, esi
mov dword [rsp + 0x30], esi
lea rcx, [rbp + 0x110]
call fcn.140022810
mov rcx, qword [rbp + 0x110]
test rcx, rcx
je 0x140024507
nop dword [rax]
lock dec dword [rcx]
jne 0x140024507
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x1400244f0
lea rcx, [rbp + 0x120]
call fcn.140022840
mov rcx, qword [rbp + 0x120]
test rcx, rcx
je 0x140024537
nop
lock dec dword [rcx]
jne 0x140024537
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140024520
mov qword [rbp - 0x38], rsi
mov qword [rbp + 0x408], 7
mov qword [rbp + 0x400], rsi
mov word [rbp + 0x3f0], si
cmp word [r12], 0
jne 0x140024561
mov r8, rsi
jmp 0x140024570
or r8, 0xffffffffffffffff
inc r8
cmp word [r12 + r8*2], 0
jne 0x140024565
mov rdx, r12
lea rcx, [rbp + 0x3f0]
call fcn.140004610
nop
lea r8, [rbp - 0x38]
lea rdx, [rbp + 0x3f0]
lea rcx, [rbp + 0x48]
call fcn.14002f550
nop
cmp qword [rbp + 0x408], 8
jb 0x1400245ab
mov rcx, qword [rbp + 0x3f0]
call fcn.1400376e4
mov qword [rbp + 0x408], 7
mov qword [rbp + 0x400], rsi
mov word [rbp + 0x3f0], si
mov rax, qword [rbp - 0x38]
test rax, rax
je 0x140024624
cmp dword [rax + 4], 0
je 0x140024624
mov qword [r15], rax
lock inc dword [rax]
mov dword [rsp + 0x30], 1
lea rcx, [rbp + 0x48]
call fcn.14002f6c0
nop
mov r8, qword [rbp - 0x38]
test r8, r8
je 0x14002633a
nop dword [rax + rax]
lock dec dword [r8]
jne 0x14002633a
mov rbx, qword [r8 + 8]
mov rdx, qword [r8 + 0x10]
mov rcx, r8
call qword [rdx]
mov r8, rbx
test rbx, rbx
jne 0x140024600
jmp 0x14002633a
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [rsp + 0x40], eax
cmp eax, 0xffffffff
je 0x140024714
test al, 1
je 0x140024714
and eax, 0xfffffffe
mov edx, eax
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x140024714
mov eax, dword [rsp + 0x40]
shr eax, 4
test al, 1
jne 0x140024714
movabs rax, 0xa8a1022bd18ae494
mov qword [rbp - 0x28], rax
lea rax, str.c:jaworkspacecommon_ati_cdp4443product_filewindowswinnt_backup.cpp
mov qword [rbp - 0x20], rax
lea rcx, str.RestoreFile
mov qword [rbp - 0x18], rcx
mov dword [rbp - 0x10], 0x512
movups xmm0, xmmword [rbp - 0x28]
movaps xmmword [rbp + 0x210], xmm0
movups xmm1, xmmword [rbp - 0x18]
movaps xmmword [rbp + 0x220], xmm1
lea rcx, [0x1400569b0]
call fcn.140005930
mov qword [rsp + 0x20], rax
mov r9d, 0x4001a
lea r8, [0x14005b0e8]
lea rdx, [rbp + 0x210]
mov rcx, r15
call fcn.14000c540
mov dword [rsp + 0x30], 1
lea rcx, [rbp + 0x48]
call fcn.14002f6c0
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14002633a
lock dec dword [rcx]
jne 0x14002633a
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x1400246f4
jmp 0x14002633a
lea rcx, [rbp + 0x48]
call fcn.14002f6c0
nop
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14002473e
lock dec dword [rcx]
jne 0x14002473e
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140024727
mov dword [rsp + 0x74], 2
mov eax, dword [r13 + 0x10]
shl eax, 0x13
not eax
and eax, 0x200000
mov dword [rsp + 0x78], eax
mov rax, qword [r13 + 8]
lea rcx, vtable.BackupContext.0
mov qword [rbp - 8], rcx
mov qword [rbp], rax
mov qword [rbp + 8], rsi
mov qword [rbp + 0x10], r12
mov byte [rbp + 0x18], 0
mov rbx, rsi
mov qword [rbp + 0x130], rbx
mov rcx, qword [r13]
mov rax, qword [rcx]
lea rdx, [rsp + 0x70]
call qword [rax + 0x10]
mov rdi, rax
cmp rax, rbx
je 0x1400247b7
test rbx, rbx
je 0x1400247b7
mov rcx, qword [rbx + 8]
movsxd rdx, dword [rcx + 4]
lea rcx, [rbx + 8]
add rcx, rdx
mov r8, qword [rcx]
mov edx, 1
call qword [r8]
mov rbx, rdi
mov qword [rbp + 0x130], rbx
test rdi, rdi
je 0x140026307
mov rax, qword [r13]
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400247dd
cmp dword [rcx + 4], 0
jne 0x1400247e4
cmp byte [rsp + 0x70], 1
jne 0x140024781
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400247f7
cmp dword [rcx + 4], 0
jne 0x140026307
mov r8d, 4
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140023f30
mov rax, qword [rdi + 8]
movsxd rcx, dword [rax + 4]
mov rax, qword [rcx + rdi + 0x10]
test rax, rax
je 0x14002483e
cmp dword [rax + 4], 0
je 0x14002483e
add rcx, 8
add rcx, rdi
mov rdx, r15
call fcn.14000d650
mov dword [rsp + 0x30], 1
jmp 0x140026320
mov rcx, qword [rbp]
test rcx, rcx
je 0x1400248df
mov rax, qword [rcx]
call qword [rax + 0x10]
test al, al
jne 0x14002486d
mov rdx, qword [rbp + 8]
add rdx, 4
mov qword [rbp + 8], rdx
mov rcx, qword [rbp]
mov rax, qword [rcx]
call qword [rax + 8]
jmp 0x1400248df
movabs rax, 0xa8a1022bd18ae4a9
mov qword [rbp - 0x28], rax
lea rax, str.c:jaworkspacecommon_ati_cdp4443product_filewindowswinnt_backup.cpp
mov qword [rbp - 0x20], rax
lea rcx, str.RestoreFile
mov qword [rbp - 0x18], rcx
mov dword [rbp - 0x10], 0x527
movups xmm0, xmmword [rbp - 0x28]
movaps xmmword [rbp + 0x390], xmm0
movups xmm1, xmmword [rbp - 0x18]
movaps xmmword [rbp + 0x3a0], xmm1
lea rcx, [0x140056930]
call fcn.140005930
mov r9, rax
mov r8d, 0x4000f
lea rdx, [rbp + 0x390]
mov rcx, r15
call fcn.140033ba0
mov dword [rsp + 0x30], 1
jmp 0x140026320
mov rax, qword [rdi + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rdi
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov eax, dword [rsp + 0x40]
shr eax, 4
test al, 1
je 0x140024b1d
mov qword [rbp - 0x40], rsi
mov qword [rbp + 0x428], 7
mov qword [rbp + 0x420], rsi
mov word [rbp + 0x410], si
cmp word [r12], 0
jne 0x140024931
mov r8, rsi
jmp 0x140024940
or r8, 0xffffffffffffffff
inc r8
cmp word [r12 + r8*2], 0
jne 0x140024935
mov rdx, r12
lea rcx, [rbp + 0x410]
call fcn.140004610
nop
lea r8, [rbp - 0x40]
lea rdx, [rbp + 0x410]
lea rcx, [rbp + 0x40]
call fcn.14002f550
nop
cmp qword [rbp + 0x428], 8
jb 0x14002497b
mov rcx, qword [rbp + 0x410]
call fcn.1400376e4
mov qword [rbp + 0x428], 7
mov qword [rbp + 0x420], rsi
mov word [rbp + 0x410], si
mov rax, qword [rbp - 0x40]
test rax, rax
je 0x1400249f0
cmp dword [rax + 4], 0
je 0x1400249f0
mov qword [r15], rax
lock inc dword [rax]
mov dword [rsp + 0x30], 1
lea rcx, [rbp + 0x40]
call fcn.14002f6c0
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002633a
nop dword [rax + rax]
lock dec dword [rcx]
jne 0x14002633a
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x1400249d0
jmp 0x14002633a
xor edx, edx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x140024ac1
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x140024ac1
movabs rax, 0xa8a1022bd18ae4b5
mov qword [rbp - 0x28], rax
lea rax, str.c:jaworkspacecommon_ati_cdp4443product_filewindowswinnt_backup.cpp
mov qword [rbp - 0x20], rax
lea rcx, str.RestoreFile
mov qword [rbp - 0x18], rcx
mov dword [rbp - 0x10], 0x533
movups xmm0, xmmword [rbp - 0x28]
movaps xmmword [rbp + 0x250], xmm0
movups xmm1, xmmword [rbp - 0x18]
movaps xmmword [rbp + 0x260], xmm1
lea rcx, [0x1400569b0]
call fcn.140005930
mov qword [rsp + 0x20], rax
mov r9d, 0x4001a
lea r8, [0x14005afa8]
lea rdx, [rbp + 0x250]
mov rcx, r15
call fcn.14000c540
mov dword [rsp + 0x30], 1
lea rcx, [rbp + 0x40]
call fcn.14002f6c0
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14002633a
lock dec dword [rcx]
jne 0x14002633a
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140024aa1
jmp 0x14002633a
mov eax, dword [rsp + 0x40]
shr eax, 0xe
test al, 1
jne 0x140024aeb
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140024aeb
bt eax, 0xe
jae 0x140024aeb
xor edx, edx
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_DecryptFileW]
mov dword [rsp + 0x74], 3
lea rcx, [rbp + 0x40]
call fcn.14002f6c0
nop
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x140024b1d
lock dec dword [rcx]
jne 0x140024b1d
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140024b06
mov r14, rsi
mov qword [rbp - 0x78], rsi
mov rdi, rsi
mov qword [rbp - 0x80], rsi
mov qword [rsp + 0x50], rsi
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x60], dil
mov qword [rsp + 0x68], rsi
xor sil, sil
mov byte [rsp + 0x34], sil
mov rcx, qword [r13]
mov rax, qword [rcx]
lea rdx, [rsp + 0x44]
call qword [rax + 0x10]
mov rbx, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x140025a4c
lea rdx, [0x140002000]
movzx eax, byte [rsp + 0x44]
add eax, 0xfffffffe
cmp eax, 5
ja case.default.0x140024b92
cdqe
mov ecx, dword [rdx + rax*4 + 0x24368]
add rcx, rdx
jmp rcx
mov byte [rsp + 0x34], 1
movzx r14d, byte [r13 + 0x10]
not r14b
mov dword [rsp + 0x28], 1
mov esi, dword [rsp + 0x74]
mov rdx, r12
lea rcx, [rsp + 0x48]
mov r9d, esi
and r14b, 1
jne 0x140024c18
mov eax, dword [rsp + 0x78]
bts eax, 0x19
mov dword [rsp + 0x20], eax
mov r8d, 0xc0000000
call fcn.140027dc0
mov rax, qword [rsp + 0x68]
inc rax
test rax, 0xfffffffffffffffe
jne 0x140024d1f
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov dword [rbp + 0xf0], eax
mov rdx, r12
mov rcx, rbx
call fcn.140026f60
nop
mov ecx, edi
test al, al
je 0x1400251ad
call qword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x140025167
mov edi, dword [rsp + 0x78]
bts edi, 0x19
mov dword [rsp + 0x20], edi
mov r8d, 0xc10c0000
call fcn.140027dc0
test al, al
jne 0x140024d1f
lea rdx, [rbp - 0x48]
lea rcx, [rsp + 0x48]
call fcn.14000d650
nop
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], edi
mov r9d, esi
mov r8d, 0xc0000000
mov rdx, r12
lea rcx, [rsp + 0x48]
call fcn.140027dc0
mov rax, qword [rsp + 0x68]
inc rax
test rax, 0xfffffffffffffffe
jne 0x140024cd0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov dword [rbp + 0x118], eax
mov rdx, r12
mov rcx, rbx
call fcn.140026f60
nop
mov ecx, edi
test al, al
je 0x140025299
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x140025167
lock dec dword [rcx]
jne 0x140025084
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140024cb0
jmp 0x140025162
mov byte [rsp + 0x60], 1
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 8]
call fcn.140020690
test eax, eax
je 0x1400253c1
movzx r14d, r14b
cmp eax, 2
mov eax, 0
cmove r14d, eax
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x140024d1f
lock dec dword [rcx]
jne 0x140024d1a
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140024d03
mov rbx, qword [rsp + 0x38]
xor ecx, ecx
mov qword [rbp + 0x90], rcx
mov r8d, dword [rsp + 0x40]
shr r8d, 0xb
and r8b, 1
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x140]
call fcn.140026e40
nop
mov rdi, qword [rax]
test rdi, rdi
je 0x140024d57
lock inc dword [rdi]
mov rbx, qword [rsp + 0x38]
mov qword [rbp + 0x90], rdi
test rdi, rdi
je 0x140024d68
mov eax, dword [rdi + 4]
jmp 0x140024d6a
xor eax, eax
test eax, eax
setne sil
mov rcx, qword [rbp + 0x140]
test rcx, rcx
je 0x140024d9c
nop dword [rax]
lock dec dword [rcx]
jne 0x140024d97
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140024d80
mov rbx, qword [rsp + 0x38]
test sil, sil
jne 0x140025568
movzx eax, r14b
mov dword [rsp + 0x28], eax
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
mov r9, rbx
mov r8, qword [rsp + 0x68]
mov rdx, r12
lea rcx, [rbp + 0xa8]
call fcn.1400218e0
nop
mov rsi, qword [rax]
test rsi, rsi
je 0x140024dde
lock inc dword [rsi]
mov rbx, qword [rsp + 0x38]
test rdi, rdi
je 0x140024e02
lock dec dword [rdi]
jne 0x140024dfd
mov rbx, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [rax]
mov rdi, rbx
test rbx, rbx
jne 0x140024de3
mov rbx, qword [rsp + 0x38]
mov qword [rbp + 0x90], rsi
mov rcx, qword [rbp + 0xa8]
test rcx, rcx
je 0x140024e31
lock dec dword [rcx]
jne 0x140024e2c
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140024e15
mov rbx, qword [rsp + 0x38]
test rsi, rsi
je 0x140024e40
cmp dword [rsi + 4], 0
jne 0x1400254f6
mov byte [rsp + 0x60], 0
test rsi, rsi
je 0x140025167
nop
lock dec dword [rsi]
jne 0x140025084
mov rbx, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [rax]
mov rsi, rbx
test rbx, rbx
jne 0x140024e50
jmp 0x140025162
mov byte [rsp + 0x34], 1
lea rcx, [rsp + 0x48]
call fcn.140021230
mov qword [rbp + 0x1b8], rbx
lea rax, [rbp - 8]
mov qword [rbp + 0x1c0], rax
mov r9d, dword [rsp + 0x40]
shr r9d, 4
and r9b, 1
mov r8, r12
lea rdx, [rbp + 0x80]
lea rcx, [rbp + 0x1b8]
call fcn.140027920
nop
mov rcx, qword [rbp + 0x80]
test rcx, rcx
je 0x140024ece
cmp dword [rcx + 4], 0
jne 0x1400255e9
test rcx, rcx
je case.default.0x140024b92
lock dec dword [rcx]
jne 0x14002508c
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140024ed7
mov rbx, qword [rsp + 0x38]
jmp case.default.0x140024b92
mov byte [rsp + 0x34], 1
mov rax, qword [rsp + 0x68]
inc rax
xor esi, esi
test rax, 0xfffffffffffffffe
jne 0x140024f3f
mov dword [rsp + 0x28], esi
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x74]
mov r8d, 0xc0000000
mov rdx, r12
lea rcx, [rsp + 0x48]
call fcn.140027dc0
test al, al
je 0x140025664
mov byte [rsp + 0x60], 1
mov qword [rbp + 0x88], rsi
mov r8d, dword [rsp + 0x40]
shr r8d, 0xb
and r8b, 1
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0x100]
call fcn.140026e40
nop
mov rdi, qword [rax]
test rdi, rdi
je 0x140024f7a
lock inc dword [rdi]
mov rbx, qword [rsp + 0x38]
mov qword [rbp + 0x88], rdi
test rdi, rdi
je 0x140024f8b
mov eax, dword [rdi + 4]
jmp 0x140024f8d
mov eax, esi
test eax, eax
setne sil
mov rcx, qword [rbp + 0x100]
test rcx, rcx
je 0x140024fbc
nop
lock dec dword [rcx]
jne 0x140024fb7
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140024fa0
mov rbx, qword [rsp + 0x38]
test sil, sil
jne 0x1400257d4
lea r9, [rbp - 8]
mov r8, rbx
lea rdx, [rsp + 0x48]
lea rcx, [rbp + 0xf8]
call fcn.140022870
nop
mov rsi, qword [rax]
test rsi, rsi
je 0x140024fee
lock inc dword [rsi]
mov rbx, qword [rsp + 0x38]
test rdi, rdi
je 0x140025012
lock dec dword [rdi]
jne 0x14002500d
mov rbx, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [rax]
mov rdi, rbx
test rbx, rbx
jne 0x140024ff3
mov rbx, qword [rsp + 0x38]
mov qword [rbp + 0x88], rsi
mov rcx, qword [rbp + 0xf8]
test rcx, rcx
je 0x140025041
lock dec dword [rcx]
jne 0x14002503c
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140025025
mov rbx, qword [rsp + 0x38]
test rsi, rsi
je 0x140025050
cmp dword [rsi + 4], 0
jne 0x140025761
mov byte [rsp + 0x60], 0
test rsi, rsi
je 0x14002516b
nop
lock dec dword [rsi]
jne 0x140025088
mov rbx, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [rax]
mov rsi, rbx
test rbx, rbx
jne 0x140025060
mov rbx, qword [rsp + 0x38]
jmp 0x14002516b
mov r14, qword [rbp - 0x78]
mov rdi, qword [rbp - 0x80]
mov rbx, qword [rsp + 0x38]
jmp case.default.0x140024b92
test byte [r13 + 0x10], 2
jne case.default.0x140024b92
mov r8d, 0x10
lea rdx, [rbp + 0x430]
mov rcx, rbx
call fcn.140023f30
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
mov rax, qword [rcx + rbx + 0x10]
test rax, rax
je 0x1400250d2
cmp dword [rax + 4], 0
jne 0x140025855
mov rcx, qword [rbp]
test rcx, rcx
je 0x1400250ff
mov rax, qword [rcx]
call qword [rax + 0x10]
test al, al
jne 0x1400258b4
mov rdx, qword [rbp + 8]
add rdx, 0x10
mov qword [rbp + 8], rdx
mov rcx, qword [rbp]
mov rax, qword [rcx]
call qword [rax + 8]
mov r14, qword [rbp + 0x430]
mov qword [rbp - 0x78], r14
mov rdi, qword [rbp + 0x438]
mov qword [rbp - 0x80], rdi
jmp case.default.0x140024b92
mov eax, dword [rsp + 0x40]
shr eax, 4
test al, 1
jne case.default.0x140024b92
mov rax, qword [rsp + 0x68]
inc rax
test rax, 0xfffffffffffffffe
jne case.default.0x140024b92
xor eax, eax
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x74]
mov r8d, 0xc0000000
mov rdx, r12
lea rcx, [rsp + 0x48]
call fcn.140027dc0
test al, al
je 0x140025961
jmp case.default.0x140024b92
mov rbx, qword [rsp + 0x38]
mov r14, qword [rbp - 0x78]
mov rdi, qword [rbp - 0x80]
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rbx, 8
add rcx, rbx
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov rcx, qword [r13]
mov rax, qword [rcx]
lea rdx, [rsp + 0x44]
call qword [rax + 0x10]
mov rbx, rax
mov qword [rsp + 0x38], rax
test rax, rax
je 0x140025a47
jmp 0x140024b6e
call qword [sym.imp.KERNEL32.dll_SetLastError]
movabs rax, 0xa8a1022bd18ae4df
mov qword [rbp - 0x28], rax
lea rax, str.c:jaworkspacecommon_ati_cdp4443product_filewindowswinnt_backup.cpp
mov qword [rbp - 0x20], rax
lea rcx, str.RestoreFile
mov qword [rbp - 0x18], rcx
mov dword [rbp - 0x10], 0x55d
lea rdx, [rbp + 0xb8]
lea rcx, [rsp + 0x48]
call fcn.14000d650
nop
movups xmm0, xmmword [rbp - 0x28]
movaps xmmword [rbp + 0x350], xmm0
movups xmm1, xmmword [rbp - 0x18]
movaps xmmword [rbp + 0x360], xmm1
mov dword [rsp + 0x20], 1
mov r9, rax
lea r8, [rbp + 0x350]
mov rdx, r15
lea rcx, [rbp - 8]
call fcn.140022dc0
mov dword [rsp + 0x30], 1
mov rcx, qword [rbp + 0xb8]
test rcx, rcx
je 0x140025254
lock dec dword [rcx]
jne 0x14002524f
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140025238
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x140025273
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
call qword [sym.imp.KERNEL32.dll_SetLastError]
movabs rax, 0xa8a1022bd18ae4f2
mov qword [rbp + 0x148], rax
lea rax, str.c:jaworkspacecommon_ati_cdp4443product_filewindowswinnt_backup.cpp
mov qword [rbp + 0x150], rax
lea rcx, str.RestoreFile
mov qword [rbp + 0x158], rcx
mov dword [rbp + 0x160], 0x570
lea rdx, [rbp + 0x138]
lea rcx, [rsp + 0x48]
call fcn.14000d650
nop
movups xmm0, xmmword [rbp + 0x148]
movaps xmmword [rbp + 0x290], xmm0
movups xmm1, xmmword [rbp + 0x158]
movaps xmmword [rbp + 0x2a0], xmm1
mov dword [rsp + 0x20], 1
mov r9, rax
lea r8, [rbp + 0x290]
mov rdx, r15
lea rcx, [rbp - 8]
call fcn.140022dc0
mov dword [rsp + 0x30], 1
mov rcx, qword [rbp + 0x138]
test rcx, rcx
je 0x140025352
lock dec dword [rcx]
jne 0x14002534d
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140025336
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x14002537c
nop dword [rax + rax]
lock dec dword [rcx]
jne 0x140025377
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140025360
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x14002539b
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
movabs rax, 0xa8a1022bd18ae4fa
mov qword [rbp + 0x168], rax
lea rax, str.c:jaworkspacecommon_ati_cdp4443product_filewindowswinnt_backup.cpp
mov qword [rbp + 0x170], rax
lea rcx, str.RestoreFile
mov qword [rbp + 0x178], rcx
mov dword [rbp + 0x180], 0x578
movups xmm0, xmmword [rbp + 0x168]
movaps xmmword [rbp + 0x2f0], xmm0
movups xmm1, xmmword [rbp + 0x178]
movaps xmmword [rbp + 0x300], xmm1
lea rcx, [0x140056930]
call fcn.140005930
mov r9, rax
mov r8d, 0x4000f
lea rdx, [rbp + 0x2f0]
lea rcx, [rbp + 0xc8]
call fcn.140033ba0
nop
lea rdx, [rbp - 0x48]
mov rcx, rax
call fcn.140014580
mov rcx, qword [rax]
mov qword [r15], rcx
test rcx, rcx
je 0x14002545c
lock inc dword [rcx]
mov rbx, qword [rsp + 0x38]
mov dword [rsp + 0x30], 1
mov rcx, qword [rbp + 0xc8]
test rcx, rcx
je 0x14002548c
lock dec dword [rcx]
jne 0x140025487
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140025470
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x1400254b1
lock dec dword [rcx]
jne 0x1400254ac
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140025495
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x1400254d0
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
mov qword [r15], rsi
lock inc dword [rsi]
mov dword [rsp + 0x30], 1
lock dec dword [rsi]
jne 0x14002551e
mov rbx, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [rax]
mov rsi, rbx
test rbx, rbx
jne 0x140025504
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x140025542
mov rcx, qword [rax + 8]
movsxd rdx, dword [rcx + 4]
lea rcx, [rax + 8]
add rcx, rdx
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
mov qword [r15], rdi
test rdi, rdi
je 0x140025578
lock inc dword [rdi]
mov rbx, qword [rsp + 0x38]
mov dword [rsp + 0x30], 1
test rdi, rdi
je 0x1400255a4
lock dec dword [rdi]
jne 0x14002559f
mov rbx, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [rax]
mov rdi, rbx
test rbx, rbx
jne 0x140025585
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x1400255c3
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
mov qword [r15], rcx
lock inc dword [rcx]
mov dword [rsp + 0x30], 1
mov rcx, qword [rbp + 0x80]
test rcx, rcx
je 0x14002561a
lock dec dword [rcx]
jne 0x14002561a
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140025603
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14002563e
mov rcx, qword [rax + 8]
movsxd rdx, dword [rcx + 4]
lea rcx, [rax + 8]
add rcx, rdx
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
movabs rax, 0xa8a1022bd18ae51c
mov qword [rbp + 0x188], rax
lea rax, str.c:jaworkspacecommon_ati_cdp4443product_filewindowswinnt_backup.cpp
mov qword [rbp + 0x190], rax
lea rcx, str.RestoreFile
mov qword [rbp + 0x198], rcx
mov dword [rbp + 0x1a0], 0x59a
lea rdx, [rbp + 0x108]
lea rcx, [rsp + 0x48]
call fcn.14000d650
nop
movups xmm0, xmmword [rbp + 0x188]
movaps xmmword [rbp + 0x1d0], xmm0
movups xmm1, xmmword [rbp + 0x198]
movaps xmmword [rbp + 0x1e0], xmm1
mov dword [rsp + 0x20], 1
mov r9, rax
lea r8, [rbp + 0x1d0]
mov rdx, r15
lea rcx, [rbp - 8]
call fcn.140022dc0
mov dword [rsp + 0x30], 1
mov rcx, qword [rbp + 0x108]
test rcx, rcx
je 0x14002571c
nop dword [rax + rax]
lock dec dword [rcx]
jne 0x140025717
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140025700
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x14002573b
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
mov qword [r15], rsi
lock inc dword [rsi]
mov dword [rsp + 0x30], 1
nop
lock dec dword [rsi]
jne 0x14002578a
mov rbx, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
mov rcx, rsi
call qword [rax]
mov rsi, rbx
test rbx, rbx
jne 0x140025770
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x1400257ae
mov rcx, qword [rax + 8]
movsxd rdx, dword [rcx + 4]
lea rcx, [rax + 8]
add rcx, rdx
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
mov qword [r15], rdi
test rdi, rdi
je 0x1400257e4
lock inc dword [rdi]
mov rbx, qword [rsp + 0x38]
mov dword [rsp + 0x30], 1
test rdi, rdi
je 0x140025810
lock dec dword [rdi]
jne 0x14002580b
mov rbx, qword [rdi + 8]
mov rax, qword [rdi + 0x10]
mov rcx, rdi
call qword [rax]
mov rdi, rbx
test rbx, rbx
jne 0x1400257f1
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x14002582f
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rdx, r15
call fcn.14000d650
mov dword [rsp + 0x30], 1
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
movabs rax, 0xa8a1022bd18ae52f
mov qword [rbp + 0x20], rax
lea rax, str.c:jaworkspacecommon_ati_cdp4443product_filewindowswinnt_backup.cpp
mov qword [rbp + 0x28], rax
lea rcx, str.RestoreFile
mov qword [rbp + 0x30], rcx
mov dword [rbp + 0x38], 0x5ad
movups xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp + 0x2d0], xmm0
movups xmm1, xmmword [rbp + 0x30]
movaps xmmword [rbp + 0x2e0], xmm1
lea rcx, [0x140056930]
call fcn.140005930
mov r9, rax
mov r8d, 0x4000f
lea rdx, [rbp + 0x2d0]
mov rcx, r15
call fcn.140033ba0
mov dword [rsp + 0x30], 1
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
movabs rax, 0xa8a1022bd18ae53c
mov qword [rbp - 0x70], rax
lea rax, str.c:jaworkspacecommon_ati_cdp4443product_filewindowswinnt_backup.cpp
mov qword [rbp - 0x68], rax
lea rcx, str.RestoreFile
mov qword [rbp - 0x60], rcx
mov dword [rbp - 0x58], 0x5ba
lea rdx, [rbp + 0xd8]
lea rcx, [rsp + 0x48]
call fcn.14000d650
nop
movups xmm0, xmmword [rbp - 0x70]
movaps xmmword [rbp + 0x330], xmm0
movups xmm1, xmmword [rbp - 0x60]
movaps xmmword [rbp + 0x340], xmm1
mov dword [rsp + 0x20], 1
mov r9, rax
lea r8, [rbp + 0x330]
mov rdx, r15
lea rcx, [rbp - 8]
call fcn.140022dc0
mov dword [rsp + 0x30], 1
mov rcx, qword [rbp + 0xd8]
test rcx, rcx
je 0x140025a02
lock dec dword [rcx]
jne 0x1400259fd
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x1400259e6
mov rbx, qword [rsp + 0x38]
test rbx, rbx
je 0x140025a21
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
movzx esi, byte [rsp + 0x34]
mov rcx, qword [r13]
mov rax, qword [rcx + 8]
test rax, rax
je 0x140025ac2
cmp dword [rax + 4], 0
je 0x140025ac2
test rax, rax
je 0x140025a6d
cmp dword [rax + 4], 0x40002
je 0x140025ac2
mov rdx, r15
call fcn.14000d650
mov dword [rsp + 0x30], 1
test rbx, rbx
je 0x140025a9c
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
test rbx, rbx
je 0x140025ae0
mov rax, qword [rbx + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rbx
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
test sil, sil
jne 0x140025bfd
mov eax, dword [rsp + 0x40]
shr eax, 4
xor esi, esi
test al, 1
jne 0x140025bff
mov rax, qword [rsp + 0x68]
inc rax
test rax, 0xfffffffffffffffe
jne 0x140025bff
mov dword [rsp + 0x28], esi
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
mov r9d, dword [rsp + 0x74]
mov r8d, 0xc0000000
mov rdx, r12
lea rcx, [rsp + 0x48]
call fcn.140027dc0
test al, al
jne 0x140025bff
movabs rax, 0xa8a1022bd18ae547
mov qword [rbp - 0x70], rax
lea rax, str.c:jaworkspacecommon_ati_cdp4443product_filewindowswinnt_backup.cpp
mov qword [rbp - 0x68], rax
lea rcx, str.RestoreFile
mov qword [rbp - 0x60], rcx
mov dword [rbp - 0x58], 0x5c5
lea rdx, [rbp + 0x128]
lea rcx, [rsp + 0x48]
call fcn.14000d650
nop
movups xmm0, xmmword [rbp - 0x70]
movaps xmmword [rbp + 0x1f0], xmm0
movups xmm1, xmmword [rbp - 0x60]
movaps xmmword [rbp + 0x200], xmm1
mov dword [rsp + 0x20], 1
mov r9, rax
lea r8, [rbp + 0x1f0]
mov rdx, r15
lea rcx, [rbp - 8]
call fcn.140022dc0
mov dword [rsp + 0x30], 1
mov rcx, qword [rbp + 0x128]
test rcx, rcx
je 0x140025bd7
nop
lock dec dword [rcx]
jne 0x140025bd7
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140025bc0
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
xor esi, esi
test byte [r13 + 0x10], 4
jne 0x140025e27
mov qword [rbp - 0x30], rsi
mov qword [rbp + 0x3e8], 7
mov qword [rbp + 0x3e0], rsi
mov word [rbp + 0x3d0], si
cmp word [r12], 0
jne 0x140025c34
mov r8, rsi
jmp 0x140025c4b
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp word [r12 + r8*2], 0
jne 0x140025c40
mov rdx, r12
lea rcx, [rbp + 0x3d0]
call fcn.140004610
nop
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x3d0]
lea rcx, [rbp + 0x50]
call fcn.14002f550
nop
cmp qword [rbp + 0x3e8], 8
jb 0x140025c86
mov rcx, qword [rbp + 0x3d0]
call fcn.1400376e4
mov qword [rbp + 0x3e8], 7
mov qword [rbp + 0x3e0], rsi
mov word [rbp + 0x3d0], si
mov rax, qword [rbp - 0x30]
test rax, rax
je 0x140025d0d
cmp dword [rax + 4], 0
je 0x140025d0d
mov qword [r15], rax
lock inc dword [rax]
mov dword [rsp + 0x30], 1
lea rcx, [rbp + 0x50]
call fcn.14002f6c0
nop
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x140025ce7
nop
lock dec dword [rcx]
jne 0x140025ce7
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140025cd0
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
mov edx, dword [rsp + 0x40]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
jne 0x140025dfd
mov eax, dword [rsp + 0x40]
shr eax, 4
test al, 1
jne 0x140025dfd
movabs rax, 0xa8a1022bd18ae558
mov qword [rbp - 0x70], rax
lea rax, str.c:jaworkspacecommon_ati_cdp4443product_filewindowswinnt_backup.cpp
mov qword [rbp - 0x68], rax
lea rcx, str.RestoreFile
mov qword [rbp - 0x60], rcx
mov dword [rbp - 0x58], 0x5d6
movups xmm0, xmmword [rbp - 0x70]
movaps xmmword [rbp + 0x230], xmm0
movups xmm1, xmmword [rbp - 0x60]
movaps xmmword [rbp + 0x240], xmm1
lea rcx, [0x140056918]
call fcn.140005930
mov qword [rsp + 0x20], rax
mov r9d, 0x40014
lea r8, [0x14005b0e8]
lea rdx, [rbp + 0x230]
mov rcx, r15
call fcn.14000c540
mov dword [rsp + 0x30], 1
lea rcx, [rbp + 0x50]
call fcn.14002f6c0
nop
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x140025dd7
nop word [rax + rax]
lock dec dword [rcx]
jne 0x140025dd7
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140025dc0
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
lea rcx, [rbp + 0x50]
call fcn.14002f6c0
nop
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x140025e27
lock dec dword [rcx]
jne 0x140025e27
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140025e10
test r14, r14
jne 0x140025e35
test rdi, rdi
je 0x1400262ca
mov rax, qword [rsp + 0x68]
inc rax
test rax, 0xfffffffffffffffe
jne 0x14002617a
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 0x2200000
mov r9d, 3
mov r8d, 0x100
mov rdx, r12
lea rcx, [rsp + 0x48]
call fcn.140027dc0
test al, al
jne 0x14002617a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov dword [rbp - 0x50], eax
mov qword [rbp + 0x60], rsi
lea r13, vtable.FileHandle.0
mov qword [rbp + 0x58], r13
mov byte [rbp + 0x70], 0
mov qword [rbp + 0x78], rsi
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0x2200000
mov r9d, 3
mov r8d, 0x80000000
mov rdx, r12
lea rcx, [rbp + 0x58]
call fcn.140027dc0
nop
mov rcx, qword [rbp + 0x78]
lea rax, [rcx + 1]
test rax, 0xfffffffffffffffe
jne 0x140025fba
movabs rax, 0xa8a1022bd18ae56b
mov qword [rbp - 0x70], rax
lea rax, str.c:jaworkspacecommon_ati_cdp4443product_filewindowswinnt_backup.cpp
mov qword [rbp - 0x68], rax
lea rcx, str.RestoreFile
mov qword [rbp - 0x60], rcx
mov dword [rbp - 0x58], 0x5e9
lea rdx, [rbp + 0xe8]
lea rcx, [rbp + 0x58]
call fcn.14000d650
nop
movups xmm0, xmmword [rbp - 0x70]
movaps xmmword [rbp + 0x270], xmm0
movups xmm1, xmmword [rbp - 0x60]
movaps xmmword [rbp + 0x280], xmm1
mov dword [rsp + 0x20], 1
mov r9, rax
lea r8, [rbp + 0x270]
mov rdx, r15
lea rcx, [rbp - 8]
call fcn.140022dc0
mov dword [rsp + 0x30], 1
mov rcx, qword [rbp + 0xe8]
test rcx, rcx
je 0x140025f7a
nop dword [rax]
lock dec dword [rcx]
jne 0x140025f77
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140025f60
mov ebx, dword [rbp - 0x50]
mov qword [rbp + 0x58], r13
lea rcx, [rbp + 0x58]
call fcn.140021230
nop
lea rcx, [rbp + 0x58]
call fcn.140034940
nop
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
mov qword [rsp + 0x48], r13
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
lea r9, [rbp + 0xa0]
xor r8d, r8d
lea rdx, [rbp + 0x98]
call qword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
je 0x140025ff7
mov rcx, qword [rbp + 0x98]
call fcn.140010cd0
cmp rdi, rax
jne 0x140025ff7
mov rcx, qword [rbp + 0xa0]
call fcn.140010cd0
cmp r14, rax
je 0x140026002
mov eax, dword [rsp + 0x40]
shr eax, 4
test al, 1
je 0x14002605f
mov rax, qword [0x14007bf60]
mov qword [r15], rax
test rax, rax
je 0x140026017
lock inc dword [rax]
mov ebx, dword [rbp - 0x50]
mov dword [rsp + 0x30], 1
mov qword [rbp + 0x58], r13
lea rcx, [rbp + 0x58]
call fcn.140021230
nop
lea rcx, [rbp + 0x58]
call fcn.140034940
nop
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
mov qword [rsp + 0x48], r13
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
movabs rdx, 0xa8a1022bd18ae572
mov qword [rbp - 0x70], rdx
lea rax, str.c:jaworkspacecommon_ati_cdp4443product_filewindowswinnt_backup.cpp
mov qword [rbp - 0x68], rax
lea rcx, str.RestoreFile
mov qword [rbp - 0x60], rcx
mov dword [rbp - 0x58], 0x5f0
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rcx
mov dword [rbp + 0x38], 0x5f0
movups xmm0, xmmword [rbp - 0x70]
movaps xmmword [rbp + 0x2b0], xmm0
movups xmm1, xmmword [rbp - 0x60]
movaps xmmword [rbp + 0x2c0], xmm1
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea r8, [0x14005c218]
lea rdx, [rbp + 0x2b0]
lea rcx, [rbp + 0xb0]
call fcn.14000c540
nop
movups xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp + 0x370], xmm0
movups xmm1, xmmword [rbp + 0x30]
movaps xmmword [rbp + 0x380], xmm1
mov dword [rsp + 0x20], 1
mov r9, rax
lea r8, [rbp + 0x370]
mov rdx, r15
lea rcx, [rbp - 8]
call fcn.140022dc0
mov dword [rsp + 0x30], 1
mov rcx, qword [rbp + 0xb0]
test rcx, rcx
je 0x14002613a
nop
lock dec dword [rcx]
jne 0x140026137
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140026120
mov ebx, dword [rbp - 0x50]
mov qword [rbp + 0x58], r13
lea rcx, [rbp + 0x58]
call fcn.140021230
nop
lea rcx, [rbp + 0x58]
call fcn.140034940
nop
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
nop
mov qword [rsp + 0x48], r13
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
mov rcx, r14
call fcn.140010cb0
mov qword [rbp + 0xc0], rax
mov rcx, rdi
call fcn.140010cb0
mov qword [rbp + 0xd0], rax
lea r9, [rbp + 0xc0]
test r14, r14
cmove r9, rsi
lea rdx, [rbp + 0xd0]
test rdi, rdi
cmove rdx, rsi
xor r8d, r8d
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_SetFileTime]
test eax, eax
jne 0x1400262ca
movabs rdx, 0xa8a1022bd18ae564
mov qword [rbp - 0x70], rdx
lea rax, str.c:jaworkspacecommon_ati_cdp4443product_filewindowswinnt_backup.cpp
mov qword [rbp - 0x68], rax
lea rcx, str.RestoreFile
mov qword [rbp - 0x60], rcx
mov dword [rbp - 0x58], 0x5e2
mov qword [rbp + 0x20], rdx
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rcx
mov dword [rbp + 0x38], 0x5e2
movups xmm0, xmmword [rbp - 0x70]
movaps xmmword [rbp + 0x3b0], xmm0
movups xmm1, xmmword [rbp - 0x60]
movaps xmmword [rbp + 0x3c0], xmm1
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea r8, [0x140059cc0]
lea rdx, [rbp + 0x3b0]
lea rcx, [rbp + 0xe0]
call fcn.14000c540
nop
movups xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp + 0x310], xmm0
movups xmm1, xmmword [rbp + 0x30]
movaps xmmword [rbp + 0x320], xmm1
mov dword [rsp + 0x20], 1
mov r9, rax
lea r8, [rbp + 0x310]
mov rdx, r15
lea rcx, [rbp - 8]
call fcn.140022dc0
mov dword [rsp + 0x30], 1
mov rcx, qword [rbp + 0xe0]
test rcx, rcx
je 0x1400262a7
nop dword [rax]
lock dec dword [rcx]
jne 0x1400262a7
mov rbx, qword [rcx + 8]
mov rax, qword [rcx + 0x10]
call qword [rax]
mov rcx, rbx
test rbx, rbx
jne 0x140026290
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
mov rax, qword [0x14007bf60]
mov qword [r15], rax
test rax, rax
je 0x1400262dc
lock inc dword [rax]
mov dword [rsp + 0x30], 1
lea rax, vtable.FileHandle.0
mov qword [rsp + 0x48], rax
lea rcx, [rsp + 0x48]
call fcn.140021230
nop
lea rcx, [rsp + 0x48]
call fcn.140034940
jmp 0x14002633a
mov rdx, r15
mov rcx, qword [r13]
call fcn.14000d650
mov dword [rsp + 0x30], 1
test rdi, rdi
je 0x14002633a
mov rax, qword [rdi + 8]
movsxd rcx, dword [rax + 4]
add rcx, 8
add rcx, rdi
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
nop
mov rax, r15
mov rcx, qword [rbp + 0x440]
xor rcx, rsp
call fcn.140038d80
mov rbx, qword [rsp + 0x5a8]
add rsp, 0x550
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret