Function at 0x14009a468
Capabilities:
Delete file
Get common file path
Move file
Read file on windows
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x140
mov r14, rcx
call fcn.14005cba0
mov r8, qword [rsp + 0x188]
movabs rcx, 0xa00000000
mov qword [rsp + 0xe0], rax
cmp rax, rcx
movabs rcx, 0xa000047ba
setae byte [rsp + 0x42]
cmp rax, rcx
mov eax, 9
setae byte [rsp + 0x56]
lea ecx, [rax + 0x17]
lea r9d, [rax + 4]
lea r13d, [rax - 7]
xor ebp, ebp
jmp 0x14009a4f4
cmp ax, dx
ja 0x14009a4e4
cmp dx, r9w
jbe 0x14009a4fd
cmp cx, dx
je 0x14009a4fd
add r8, r13
mov qword [rsp + 0x188], r8
movzx edx, word [r8]
cmp dx, bp
jne 0x14009a4d9
lea rcx, [rsp + 0x188]
call fcn.140059340
mov rax, qword [rsp + 0x188]
mov ecx, 0x25
mov qword [rsp + 0xa8], rbp
lea ebx, [rcx - 0x24]
mov qword [rsp + 0xc0], rax
cmp cx, word [rax]
jne 0x14009a561
lea r8, [rsp + 0xa8]
xor r9d, r9d
mov rdx, rax
mov rcx, r14
mov byte [rsp + 0x20], bl
call fcn.1400770b4
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x188], rax
mov r15d, dword [0x140131848]
mov rcx, rax
mov byte [rsp + 0x198], bpl
mov byte [rsp + 0x40], bpl
mov byte [rsp + 0x54], bpl
mov byte [rsp + 0x41], bpl
mov dword [rsp + 0x70], r15d
mov dword [rsp + 0x50], r15d
mov byte [rsp + 0x43], bpl
mov byte [rsp + 0x55], bpl
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
lea rcx, [rsp + 0x88]
add eax, ebx
lea eax, [rax + rax + 0x182a]
movsxd rdx, eax
call fcn.1400619b4
mov rbx, qword [rsp + 0x88]
lea rcx, [rsp + 0x98]
lea rsi, [rbx + 0x2410]
mov qword [rsp + 0xd0], rsi
lea rax, [rsi + 0x424]
mov qword [rsp + 0xc8], rax
add rax, 0x20a
lea r12, [rax + 0x12]
mov qword [rsp + 0x108], rax
mov word [r12], bp
mov qword [rsp + 0x78], r12
call fcn.140061940
lea rcx, [rsp + 0xa0]
call fcn.140061940
lea rcx, [rsp + 0x60]
call fcn.140061940
lea rcx, [rsp + 0x68]
call fcn.140061940
mov rax, qword [rsp + 0x188]
lea rdi, [0x140120508]
mov ecx, 0x2d
mov qword [rsp + 0xe8], rbp
mov qword [rsp + 0x100], rdi
cmp cx, word [rax]
jne 0x14009a8af
mov bl, byte [rsp + 0x42]
lea edi, [rcx - 0x2c]
lea rdx, [rsp + 0x188]
lea rcx, [0x1401204f8]
mov r8d, 4
call fcn.140061370
cmp al, bpl
je 0x14009a682
mov byte [rsp + 0x54], dil
jmp 0x14009a885
lea rdx, [rsp + 0x188]
lea rcx, [0x1401204e8]
mov r8d, 5
call fcn.140061370
cmp al, bpl
je 0x14009a6ab
mov byte [rsp + 0x55], dil
jmp 0x14009a885
lea rdx, [rsp + 0x188]
lea rcx, [0x1401204d0]
mov r8d, 9
call fcn.140061370
cmp al, bpl
je 0x14009a6d4
mov byte [rsp + 0x43], r13b
jmp 0x14009a885
lea rdx, [rsp + 0x188]
lea rcx, [0x1401204b8]
mov r8d, 0xa
call fcn.140061370
cmp al, bpl
je 0x14009a6fd
mov byte [rsp + 0x41], r13b
jmp 0x14009a885
mov rdx, qword [rsp + 0x188]
lea rcx, [0x1401204b0]
mov r8d, 3
call qword [sym.imp.SHLWAPI.DLL_StrCmpNIW]
lea rdx, [rsp + 0x188]
cmp eax, ebp
jne 0x14009a76a
add qword [rsp + 0x188], 6
mov eax, 0x1000
lea r8, [rsp + 0x60]
mov r9d, 0x2c
mov rcx, r14
mov word [rsp + 0x20], ax
call fcn.140052944
mov rdx, qword [rsp + 0x60]
mov rcx, rsi
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov rax, qword [rsp + 0x60]
mov byte [rsp + 0x40], dil
mov word [rax], bp
jmp 0x14009a885
lea rcx, [0x1401204a0]
mov r8d, 6
call fcn.140061370
cmp al, bpl
je 0x14009a7c4
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x188]
mov r9d, 0x1000
mov rcx, r14
mov word [rsp + 0x20], bp
call fcn.140052944
mov rdx, qword [rsp + 0x60]
mov rcx, r12
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov rax, qword [rsp + 0x60]
mov byte [rsp + 0x198], dil
mov word [rax], bp
jmp 0x14009a885
mov rdx, qword [rsp + 0x188]
lea rcx, [0x140120498]
mov r8d, 3
call qword [sym.imp.SHLWAPI.DLL_StrCmpNIW]
cmp eax, ebp
jne 0x14009a831
mov rax, qword [rsp + 0x188]
mov ecx, 0x3f
add rax, 6
mov qword [rsp + 0x188], rax
cmp cx, word [rax]
jne 0x14009a80e
add qword [rsp + 0x188], r13
cmp bl, bpl
je 0x14009a885
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x188]
call fcn.140065f58
mov r15d, dword [rsp + 0x50]
btr r15d, 0x1f
mov dword [rsp + 0x50], r15d
jmp 0x14009a885
mov rcx, qword [rsp + 0x188]
movzx eax, word [rcx]
cmp ax, bp
je 0x14009a878
mov edx, 9
lea esi, [rdx + 4]
lea r8d, [rdx + 0x17]
cmp dx, ax
ja 0x14009a857
cmp ax, si
jbe 0x14009a870
cmp r8w, ax
je 0x14009a870
add rcx, r13
mov qword [rsp + 0x188], rcx
mov ax, word [rcx]
cmp ax, bp
jne 0x14009a84d
mov rsi, qword [rsp + 0xd0]
lea rcx, [rsp + 0x188]
call fcn.140059340
mov rax, qword [rsp + 0x188]
mov ecx, 0x2d
cmp cx, word [rax]
je 0x14009a659
mov rbx, qword [rsp + 0x88]
mov dword [rsp + 0x70], r15d
lea rdi, [0x140120508]
mov rax, qword [rsp + 0x188]
mov ecx, 0x2a
cmp cx, word [rax]
jne 0x14009a901
add qword [rsp + 0x188], r13
lea r9d, [rcx + 2]
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x188]
mov rcx, r14
mov word [rsp + 0x20], bp
call fcn.140052944
mov rax, qword [rsp + 0x60]
lea rcx, [rsp + 0x188]
mov qword [rsp + 0x100], rax
call fcn.140059340
lea r8, [rsp + 0x98]
lea rdx, [rsp + 0x188]
mov r9d, 0x2c
mov rcx, r14
mov word [rsp + 0x20], bp
call fcn.140052944
mov r10, qword [rsp + 0x98]
lea rcx, [rsp + 0x188]
mov qword [rsp + 0xd0], r10
call fcn.140059340
mov r9, qword [rsp + 0x188]
lea rcx, [0x140120490]
mov rdx, r9
call fcn.14005aa28
cmp al, bpl
je 0x14009ab15
cmp qword [0x140133b18], rbp
jne 0x14009a9b9
lea rcx, [rsp + 0x68]
call fcn.140059370
lea rcx, [rsp + 0x60]
call fcn.140059370
lea rcx, [rsp + 0xa0]
call fcn.140059370
lea rcx, [rsp + 0x98]
call fcn.140059370
lea rcx, [rsp + 0x88]
call fcn.140059370
lea rcx, [rsp + 0xa8]
call fcn.140059370
xor eax, eax
jmp 0x14009bb77
cmp word [r10], bp
cmovne rdi, r10
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_LoadLibraryW]
mov rsi, rax
cmp rax, rbp
jne 0x14009aa33
call qword [sym.imp.KERNEL32.DLL_GetLastError]
lea rcx, [rsp + 0x68]
mov ebx, eax
cmp eax, ebp
mov eax, 1
cmove ebx, eax
call fcn.140059370
lea rcx, [rsp + 0x60]
call fcn.140059370
lea rcx, [rsp + 0xa0]
call fcn.140059370
lea rcx, [rsp + 0x98]
call fcn.140059370
lea rcx, [rsp + 0x88]
call fcn.140059370
lea rcx, [rsp + 0xa8]
call fcn.140059370
mov eax, ebx
jmp 0x14009bb77
lea rcx, [rsp + 0xb8]
mov edx, 0x1032
call fcn.1400616c8
mov rcx, qword [0x140133b18]
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x198], ebp
call qword [sym.imp.KERNEL32.DLL_SetFilePointer]
mov rbx, qword [rsp + 0xb8]
mov r14d, 1
mov edi, r14d
lea r8, [rbx + 0x19]
mov r9d, 0x1000
mov edx, edi
mov rcx, rsi
mov byte [rbx + 0x19], bpl
call qword [sym.imp.USER32.DLL_LoadStringA]
cmp eax, ebp
je 0x14009aadb
lea rdx, [0x140120480]
mov r9d, edi
mov r8d, edi
mov rcx, rbx
call qword [sym.imp.USER32.DLL_wsprintfA]
mov rcx, rbx
mov byte [rbx + 0x18], 0x3a
call qword [sym.imp.KERNEL32.DLL_lstrlenA]
mov rcx, qword [0x140133b18]
movsxd rdx, r13d
movsxd r8, eax
lea r9, [rsp + 0x198]
add rdx, rbx
sub r8d, r13d
mov qword [rsp + 0x20], rbp
call qword [sym.imp.KERNEL32.DLL_WriteFile]
mov r13d, ebp
add edi, r14d
cmp edi, 0xffff
jle 0x14009aa72
mov rcx, rsi
call qword [sym.imp.KERNEL32.DLL_FreeLibrary]
mov rcx, qword [0x140133b18]
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
lea rcx, [rsp + 0xb8]
mov qword [0x140133b18], rbp
call fcn.140059370
jmp 0x14009bb2c
cmp word [r10], bp
je 0x14009ba9a
mov eax, 0x2d
mov edi, ebp
mov dword [rsp + 0x50], ebp
lea r10d, [rax - 0x2c]
cmp ax, word [r9]
jne 0x14009ab47
add r9, r13
mov edi, r10d
mov dword [rsp + 0x50], r10d
mov qword [rsp + 0x188], r9
cmp word [r9], bp
je 0x14009ab7c
lea rcx, [0x140120470]
mov rdx, r9
call fcn.14005aa28
cmp al, bpl
jne 0x14009ab7c
lea rcx, [0x140120460]
mov rdx, r9
call fcn.14005aa28
cmp al, bpl
je 0x14009ab81
or byte [rsp + 0x43], r10b
jmp 0x14009ab81
or byte [rsp + 0x41], r10b
mov eax, dword [0x140135170]
test r10b, al
jne 0x14009abae
or eax, r10d
lea rcx, [0x140112564]
mov qword [0x140135168], rbp
mov dword [0x140135170], eax
call fcn.1400fa810
mov eax, dword [0x140135170]
test r13b, al
jne 0x14009abd5
or eax, r13d
lea rcx, [0x140112558]
mov qword [0x140135160], rbp
mov dword [0x140135170], eax
call fcn.1400fa810
mov eax, dword [0x140135170]
test al, 4
jne 0x14009abfb
or eax, 4
lea rcx, [0x14011254c]
mov qword [0x140135158], rbp
mov dword [0x140135170], eax
call fcn.1400fa810
mov eax, dword [0x140135170]
test al, 8
jne 0x14009ac1b
or eax, 8
lea rcx, [0x140112540]
mov qword [0x140135150], rbp
mov dword [0x140135170], eax
call fcn.1400fa810
cmp edi, ebp
lea rcx, [0x140135160]
lea rax, [0x140135168]
cmovne rax, rcx
cmp edi, ebp
mov rdi, qword [rsp + 0x78]
lea rcx, [0x140135150]
lea r12, [0x140135158]
cmovne r12, rcx
cmp byte [rsp + 0x41], bpl
cmovne r12, rax
cmp byte [rsp + 0x198], bpl
jne 0x14009ac6c
mov r8d, 0x104
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
mov rdx, rdi
lea ecx, [rax + 1]
mov dword [rsp + 0x58], eax
movsxd r8, ecx
lea rcx, [rsi + 0x424]
add r8, r8
call fcn.14001d310
mov word [rbx], bp
cmp byte [rsp + 0x40], bpl
je 0x14009acdf
xor edx, edx
mov rcx, rsi
lea r8d, [rdx + 0x5c]
call qword [sym.imp.SHLWAPI.DLL_StrRChrW]
mov rdx, rsi
mov rcx, rax
mov qword [rsp + 0xb0], rax
neg rcx
mov rcx, rbx
sbb dil, dil
sub rax, rsi
and dil, byte [rsp + 0x40]
sar rax, 1
mov qword [rsp + 0xb8], rax
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
cmp dil, bpl
jne 0x14009ad14
xor r9d, r9d
mov rdx, rbx
xor ecx, ecx
lea r8d, [r9 + 0x24]
call qword [sym.imp.SHELL32.DLL_SHGetSpecialFolderPathW]
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
mov r11d, eax
lea rax, [0x140120440]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], r11
mov eax, dword [rsp + 0x50]
lea rdx, [0x140120418]
lea rcx, [0x1401203f0]
cmp eax, ebp
lea rdi, [0x1401203d0]
cmovne rcx, rdx
cmp eax, ebp
lea rdx, [0x1401203a8]
cmovne rdi, rdx
cmp byte [rsp + 0x41], bpl
cmovne rdi, rcx
cmp r15d, ebp
lea rax, [rdi + 8]
mov qword [rsp + 0xd8], rdi
mov qword [rsp + 0x130], rax
movsxd rax, dword [0x140131848]
jge 0x14009ad6d
cmp eax, ebp
jl 0x14009ad77
cmp qword [r12], rbp
jne 0x14009b1d2
lea rcx, [rsp + 0x90]
mov edx, 0x1122
mov qword [rsp + 0xf0], rax
call fcn.1400619b4
cmp r15d, ebp
mov rsi, qword [rsp + 0x90]
mov rax, rsi
mov qword [rsi], rbp
mov qword [rsp + 0x48], rax
jge 0x14009addc
cmp dword [0x140131848], ebp
jge 0x14009addc
lea rcx, [0x140120390]
call fcn.14001b24c
cmp rax, rbp
mov qword [rsp + 0xf0], rax
jl 0x14009add7
mov dword [0x140131848], eax
mov r15d, eax
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x48]
cmp qword [r12], rbp
jne 0x14009ae3c
lea rcx, [rsp + 0x74]
lea r9, [rsp + 0x80]
lea rdx, [0x140117118]
mov qword [rsp + 0x28], rcx
mov r8, rdi
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x80], 1
mov dword [rsp + 0x74], 0x1ffc
mov qword [rsp + 0x20], rax
call fcn.14005a744
mov rax, qword [rsp + 0x48]
cmp word [rax], bp
je 0x14009ae3c
mov rdx, rax
mov rcx, r12
call fcn.14006d930
mov rax, qword [rsp + 0x48]
cmp r15d, ebp
mov cl, 1
lea rdx, [0x14011eae0]
mov byte [rsp + 0x40], cl
mov r9d, 0xffe
jge 0x14009ae5c
cmp dword [0x140131848], ebp
jl 0x14009ae66
cmp qword [r12], rbp
jne 0x14009b0d1
movsxd rax, dword [rsp + 0x58]
mov r15, qword [rsp + 0x78]
lea rdi, [r15 + rax*2]
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov r11d, 0x2e
mov qword [rsp + 0x38], rbp
mov dword [rsp + 0x30], 0x80
lea rcx, [rsp + 0xf8]
lea r9d, [r11 - 0x27]
mov r8d, 0x80000000
mov rdx, r15
mov dword [rsp + 0x28], 3
mov word [rdi], r11w
mov qword [rsp + 0xf8], rbp
mov qword [rsp + 0x20], rbp
call fcn.1400037a0
mov rcx, qword [rsp + 0xd8]
mov dword [rsp + 0x80], ebp
add rcx, 0xa
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
mov rdi, qword [rsp + 0xf8]
mov qword [rsi], rbp
lea r9, [rsp + 0x80]
mov rcx, rdi
mov r8d, 0x1ffe
mov rdx, rsi
mov dword [rsp + 0x74], eax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x20], rbp
call qword [sym.imp.KERNEL32.DLL_ReadFile]
mov r11d, dword [rsp + 0x80]
shr r11d, 1
mov eax, 0xffe
mov ecx, 0xfeff
cmp r11d, eax
cmova r11d, eax
movsxd rax, r11d
mov dword [rsp + 0x80], r11d
mov word [rsi + rax*2], bp
mov rax, qword [rsp + 0x48]
cmp cx, word [rax]
jne 0x14009af4c
add rax, r13
mov qword [rsp + 0x48], rax
mov r15, rax
cmp byte [rsp + 0x40], bpl
je 0x14009b100
cmp qword [rsp + 0xf0], rbp
jge 0x14009aff0
jmp 0x14009afa4
lea rcx, [rsp + 0x48]
call fcn.140059340
mov rcx, qword [rsp + 0x48]
lea rdx, [0x140120378]
mov r8d, 0xb
call qword [sym.imp.SHLWAPI.DLL_StrCmpNIW]
cmp eax, ebp
je 0x14009afab
lea rcx, [rsp + 0x48]
mov edx, 0xa
call fcn.14000a884
mov rax, qword [rsp + 0x48]
cmp word [rax], bp
jne 0x14009af6a
jmp 0x14009aff0
mov rax, qword [rsp + 0x48]
mov ecx, 0x3f
add rax, 0x16
mov qword [rsp + 0x48], rax
cmp cx, word [rax]
jne 0x14009afd2
add rax, r13
mov qword [rsp + 0x48], rax
cmp byte [rsp + 0x42], bpl
je 0x14009aff0
lea rdx, [0x140131848]
lea rcx, [rsp + 0x48]
call fcn.140065f58
btr dword [0x140131848], 0x1f
mov rax, qword [rsp + 0x48]
cmp qword [r12], rbp
jne 0x14009b0ae
mov r10d, dword [rsp + 0x74]
mov rax, r15
mov qword [rsp + 0x48], rax
cmp word [r15], bp
je 0x14009b0ae
lea rcx, [rsp + 0x48]
call fcn.140059340
mov r15, qword [rsp + 0x48]
mov edx, 0xa
lea r8d, [rdx + 3]
lea rcx, [rsp + 0x48]
call fcn.1400595d8
mov rdx, qword [rsp + 0xd8]
mov r8d, r10d
add rdx, 0xa
mov rcx, r15
call qword [sym.imp.SHLWAPI.DLL_StrCmpNIW]
cmp eax, ebp
jne 0x14009b0ee
movsxd r10, dword [rsp + 0x74]
mov ecx, 0x3a
cmp cx, word [r15 + r10*2]
jne 0x14009b0f3
lea eax, [r10 + 1]
movsxd rcx, eax
mov rax, qword [rsp + 0x48]
lea rdx, [r15 + rcx*2]
cmp word [rax], bp
je 0x14009b08d
mov word [rax], bp
mov rax, qword [rsp + 0x48]
add rax, r13
mov qword [rsp + 0x48], rax
mov ecx, 0x3f
cmp cx, word [rdx]
jne 0x14009b0a1
add rdx, r13
cmp byte [rsp + 0x42], bpl
je 0x14009b0ae
mov rcx, r12
call fcn.14006d930
mov rax, qword [rsp + 0x48]
cmp rdi, rbp
je 0x14009b0c7
cmp rdi, 0xffffffffffffffff
je 0x14009b0c7
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
mov rax, qword [rsp + 0x48]
mov cl, byte [rsp + 0x40]
mov r9d, 0xffe
cmp cl, bpl
je 0x14009b134
cmp qword [r12], rbp
jne 0x14009b134
mov rdx, qword [rsp + 0x130]
mov byte [rsp + 0x40], bpl
jmp 0x14009ae66
mov r10d, dword [rsp + 0x74]
mov rax, qword [rsp + 0x48]
cmp word [rax], bp
jmp 0x14009b00b
cmp word [rax], bp
je 0x14009b115
mov rdx, rax
mov rcx, r12
call fcn.14006d930
mov rax, qword [rsp + 0x48]
cmp rdi, rbp
je 0x14009b12e
cmp rdi, 0xffffffffffffffff
je 0x14009b12e
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
mov rax, qword [rsp + 0x48]
mov r9d, 0xffe
movabs rcx, 0xa00000000
cmp qword [rsp + 0xe0], rcx
jb 0x14009b184
cmp qword [r12], rbp
jne 0x14009b199
mov word [rax], bp
mov al, byte [rsp + 0x41]
mov r8, qword [rsp + 0x48]
mov rcx, qword [0x140133a68]
neg al
sbb edx, edx
and edx, 0xfffffffb
add edx, 0x150a
add edx, dword [rsp + 0x50]
call fcn.140059910
mov rdx, qword [rsp + 0x48]
mov rcx, r12
call fcn.14006d930
cmp qword [r12], rbp
jne 0x14009b199
lea rdx, [0x1401145d8]
mov rcx, r12
call fcn.14006d930
cmp dword [0x140131848], ebp
jl 0x14009b1ab
btr dword [0x140131848], 0x1f
jmp 0x14009b1ba
neg byte [rsp + 0x56]
sbb eax, eax
and eax, 4
mov dword [0x140131848], eax
lea rcx, [rsp + 0x90]
call fcn.140059370
mov eax, dword [0x140131848]
mov r15d, dword [rsp + 0x70]
mov cl, byte [rsp + 0x198]
cmp r15d, ebp
cmovl r15d, eax
mov dword [rsp + 0x70], r15d
cmp byte [rsp + 0x42], bpl
je 0x14009b2ff
cmp byte [rsp + 0x43], bpl
je 0x14009b2ff
cmp byte [rsp + 0x54], bpl
jne 0x14009b2ff
cmp cl, bpl
jne 0x14009b2ff
lea rcx, [0x140120358]
call fcn.14001b24c
cmp rax, rbp
jg 0x14009b2f8
lea rdx, [0x140120440]
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_lstrcatW]
mov rdi, qword [rsp + 0xd0]
mov rcx, rbx
mov rdx, rdi
call qword [sym.imp.KERNEL32.DLL_lstrcmpiW]
cmp eax, ebp
jne 0x14009b2f8
mov word [rbx], bp
mov rcx, qword [0x140133a68]
mov r9d, 0x1207
mov r8, rbx
mov edx, 0x2728
call fcn.140059910
cmp word [rbx], bp
je 0x14009b2f8
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
lea edx, [r9 + 0x30]
mov dword [rsp + 0x20], ebp
call fcn.14002da9c
cmp rax, rbp
jne 0x14009b2f8
lea rdx, [0x140120348]
lea rcx, [rsp + 0x88]
call fcn.140061a7c
mov rdx, qword [rsp + 0xc0]
lea rcx, [rsp + 0x88]
call fcn.140061a7c
mov rdx, qword [rsp + 0x88]
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rbp
lea r9, [rsp + 0x198]
mov r8, r14
mov rcx, r14
mov qword [rsp + 0x28], rbp
mov word [rsp + 0x198], bp
mov dword [rsp + 0x20], ebp
call fcn.14000dfe4
mov rbp, rax
jmp 0x14009bb2c
mov cl, byte [rsp + 0x198]
mov rsi, qword [r12]
mov eax, r15d
mov r12d, 1
and eax, r12d
cmp byte [rsp + 0x42], bpl
je 0x14009b31d
cmp cl, bpl
cmove eax, r12d
test r15b, 0xe
je 0x14009b759
cmp byte [rsp + 0x55], bpl
jne 0x14009b984
mov rdi, qword [rsp + 0xb8]
mov dword [rsp + 0x50], ebp
mov qword [rsp + 0x110], rbp
lea eax, [rdi + 0x1e]
mov qword [rsp + 0x118], 0x20001
mov qword [rsp + 0x120], rbp
movsxd rcx, eax
mov qword [rsp + 0x128], rbp
lea rsi, [rbx + rcx*2]
lea r12, [rsi + 2]
test r15b, 0xc
je 0x14009b61c
movsxd rdi, edi
lea rdx, [0x140120328]
lea r14, [rbx + rdi*2]
mov rcx, r14
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
lea rdx, [0x140120300]
lea rcx, [rsp + 0xe0]
call fcn.140017478
movsxd r11, dword [rsp + 0x58]
mov r15, qword [rsp + 0x78]
mov rcx, rbx
mov word [r15 + r11*2], bp
call fcn.1400f9794
cmp eax, ebp
jne 0x14009b3d6
mov r8, qword [rsp + 0xb8]
mov rdx, rbx
mov rcx, r15
inc r8d
call fcn.14005e974
mov rdx, rbx
mov rcx, r12
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov rdx, qword [rsp + 0xb0]
mov rcx, r14
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
lea r15, [r12 + rdi*2]
lea rdx, [0x1401202e0]
mov rcx, r15
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_MoveFileW]
lea rdx, [0x140120328]
mov rcx, r14
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov rdx, qword [rsp + 0xb0]
mov rcx, r15
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_MoveFileW]
mov rdx, qword [rsp + 0xb0]
mov eax, 0x22
lea rdi, [rsi + rdi*2 + 2]
mov word [rsi], ax
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
lea rdx, [0x1401202a8]
movsxd rcx, eax
mov eax, 0x22
lea rdi, [rdi + rcx*2]
mov word [rdi], ax
add rdi, r13
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
mov r8d, dword [rsp + 0x58]
mov rdx, qword [rsp + 0xc8]
movsxd rcx, eax
lea rax, [rdi + rcx*2]
lea rcx, [rsp + 0x90]
mov qword [rsp + 0x90], rax
call fcn.1400697cc
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
test byte [rsp + 0x70], 8
mov rcx, qword [rsp + 0x180]
mov r8, rcx
mov word [rsp + 0x198], bp
lea r9, [rsp + 0x198]
mov rdx, rsi
je 0x14009b519
mov qword [rsp + 0x38], rbp
mov eax, 1
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], eax
call fcn.14000dfe4
mov dword [rsp + 0x50], eax
jmp 0x14009b539
lea rax, [rsp + 0x120]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], ebp
call fcn.14000dfe4
mov r13, qword [rsp + 0xb0]
mov rcx, r14
mov rdx, r13
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
lea rdx, [0x140120328]
mov rcx, r15
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov edi, 0x1388
mov esi, edi
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_MoveFileW]
mov rcx, r12
call fcn.1400f9794
cmp eax, ebp
jne 0x14009b5a5
mov rcx, rbx
call fcn.1400f9794
cmp eax, ebp
je 0x14009b5a5
xor r9d, r9d
lea rcx, [0x1401340d0]
xor r8d, r8d
lea edx, [r9 + 0xa]
call fcn.14001f844
sub esi, 0xa
cmp esi, ebp
jg 0x14009b564
lea rdx, [0x1401202e0]
mov rcx, r14
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov rdx, r13
mov rcx, r15
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_MoveFileW]
mov rcx, r12
call fcn.1400f9794
cmp eax, ebp
jne 0x14009b602
mov rcx, rbx
call fcn.1400f9794
cmp eax, ebp
je 0x14009b602
xor r9d, r9d
lea rcx, [0x1401340d0]
xor r8d, r8d
lea edx, [r9 + 0xa]
call fcn.14001f844
sub edi, 0xa
cmp edi, ebp
jg 0x14009b5c1
lea rcx, [rsp + 0xe0]
call fcn.1400174c0
mov r14, qword [rsp + 0x180]
jmp 0x14009b710
lea rdx, [0x140120280]
mov rcx, r12
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
lea rsi, [r12 + 0x20]
mov r8d, 0x104
mov rdx, rsi
xor ecx, ecx
call qword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
mov rax, qword [rsp + 0x188]
mov ecx, 0x2a
mov word [rax], cx
add qword [rsp + 0x188], r13
movsxd rdi, edi
add rdi, rdi
mov rdx, rbx
add rsi, rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov rdx, qword [rsp + 0xb0]
add rsi, rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
lea rdx, [0x140120248]
mov rcx, rsi
call qword [sym.imp.KERNEL32.DLL_lstrcatW]
mov rcx, rsi
call qword [sym.imp.KERNEL32.DLL_lstrlenW]
mov r8d, dword [rsp + 0x58]
mov rdx, qword [rsp + 0xc8]
movsxd rcx, eax
lea rax, [rsi + rcx*2]
lea rcx, [rsp + 0x198]
mov qword [rsp + 0x198], rax
call fcn.1400697cc
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x198]
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rbp
lea r9, [rsp + 0x198]
mov r8, r14
mov rdx, r12
mov rcx, r14
mov qword [rsp + 0x28], rbp
mov word [rsp + 0x198], bp
mov dword [rsp + 0x20], ebp
call fcn.14000dfe4
mov dword [rsp + 0x50], eax
cmp qword [rsp + 0x120], rbp
je 0x14009b750
lea r9, [rsp + 0x110]
xor r8d, r8d
xor edx, edx
mov rcx, r14
call fcn.14001f844
mov rcx, qword [rsp + 0x120]
lea rdx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.DLL_GetExitCodeProcess]
mov rcx, qword [rsp + 0x120]
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
mov ebp, dword [rsp + 0x50]
jmp 0x14009bb2c
cmp eax, r12d
jl 0x14009b984
mov r15, qword [rsp + 0x78]
xor edx, edx
lea r8d, [rdx + 0x5c]
mov rcx, r15
call qword [sym.imp.SHLWAPI.DLL_StrRChrW]
cmp rax, rbp
je 0x14009b984
add rax, r13
je 0x14009b984
lea rdx, [0x140120228]
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_lstrcmpiW]
cmp eax, ebp
je 0x14009b984
mov rcx, qword [rsp + 0x108]
lea rdx, [0x140120210]
mov r8d, 0x12
call fcn.14001d310
movsxd rbx, dword [rsp + 0x58]
lea rdx, [0x1401201e8]
lea rcx, [r15 + rbx*2]
mov r8d, 0x24
call fcn.14001d310
mov rcx, r15
add ebx, 0x11
mov r12, rbp
mov edi, ebp
call fcn.1400f9794
cmp eax, ebp
mov ecx, ebp
sete cl
cmp ecx, ebp
je 0x14009b882
lea rcx, [0x1401201c8]
call fcn.14001b24c
cmp rax, rbp
jg 0x14009b97e
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x78], rbp
call fcn.1400047ec
movsxd rdi, eax
cmp edi, ebp
jle 0x14009b878
mov rcx, qword [rsp + 0x78]
cmp rcx, rbp
je 0x14009b878
cmp word [rcx], bp
je 0x14009b878
lea rcx, [rcx + rdi*2]
lea rdx, [0x140120228]
mov r8d, 0x1a
call fcn.14001d310
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xc8]
xor r8d, r8d
add edi, 0xc
call fcn.14005e974
mov rdx, qword [rsp + 0x78]
lea r11d, [rdi + 1]
movsxd r8, r11d
mov rcx, r15
add r8, r8
call fcn.14001d310
mov ebx, edi
mov r12, r15
lea rcx, [rsp + 0x78]
call fcn.140059370
movsxd rax, ebx
lea rdx, [0x1401201a0]
mov r8d, 0x28
lea rbx, [r15 + rax*2]
mov rcx, rbx
call fcn.14001d310
mov r8d, dword [rsp + 0x58]
mov rdx, qword [rsp + 0xc8]
lea rcx, [rsp + 0x90]
add rbx, 0x26
mov qword [rsp + 0x90], rbx
call fcn.1400697cc
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.KERNEL32.DLL_lstrcpyW]
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 0x38], rbp
mov eax, 1
mov qword [rsp + 0x30], rbp
lea r9, [rsp + 0x198]
mov r8, r14
mov rcx, r14
mov qword [rsp + 0x28], rbp
mov word [rsp + 0x198], bp
mov dword [rsp + 0x20], eax
call fcn.14000dfe4
mov rbx, rax
cmp r12, rbp
je 0x14009b92e
movsxd rdx, edi
mov rcx, r12
mov word [r12 + rdx*2], bp
call qword [sym.imp.KERNEL32.DLL_DeleteFileW]
lea rcx, [rsp + 0x68]
call fcn.140059370
lea rcx, [rsp + 0x60]
call fcn.140059370
lea rcx, [rsp + 0xa0]
call fcn.140059370
lea rcx, [rsp + 0x98]
call fcn.140059370
lea rcx, [rsp + 0x88]
call fcn.140059370
lea rcx, [rsp + 0xa8]
call fcn.140059370
movsxd rax, ebx
jmp 0x14009bb77
mov r12d, 1
cmp byte [rsp + 0x41], bpl
je 0x14009b99a
mov ebx, dword [rsp + 0x50]
add ebx, 0x1505
jmp 0x14009ba24
mov r9, qword [rsp + 0x188]
mov eax, 0x23
cmp ax, word [r9]
jne 0x14009ba06
or dword [rsp + 0x198], 0xffffffff
add r9, r13
lea r8d, [rax + 9]
lea rdx, [rsp + 0x198]
lea rcx, [rsp + 0x188]
mov qword [rsp + 0x188], r9
call fcn.140065c28
mov ebx, dword [rsp + 0x198]
cmp ebx, ebp
jl 0x14009ba9a
mov rcx, qword [rsp + 0x100]
call qword [sym.imp.KERNEL32.DLL_GetModuleHandleW]
mov rdi, rax
cmp rax, rbp
jne 0x14009ba40
mov rbp, r12
jmp 0x14009bb2c
lea rcx, [0x140120460]
mov rdx, r9
call fcn.14005aa28
cmp al, bpl
je 0x14009ba7b
mov ebx, dword [rsp + 0x50]
add ebx, 0x150a
cmp rsi, rbp
je 0x14009b9e8
cmp word [rsi], bp
je 0x14009b9e8
lea rcx, [rsp + 0x68]
mov rdx, rsi
call fcn.14006d9c8
mov rbx, qword [rax]
jmp 0x14009ba8d
lea rcx, [rsp + 0x68]
mov edx, 0x1001
call fcn.140061a40
mov r8, qword [rsp + 0x68]
mov r9d, 0x1000
mov edx, ebx
mov rcx, rdi
call qword [sym.imp.USER32.DLL_LoadStringW]
mov rbx, qword [rsp + 0x68]
cmp word [rbx], bp
je 0x14009b9fe
xor edx, edx
mov rcx, rbx
call fcn.1400597a4
jmp 0x14009ba8d
lea rcx, [rsp + 0x68]
mov rdx, r9
call fcn.14006d9c8
mov rbx, qword [rsp + 0x68]
mov rax, qword [rsp + 0xd0]
cmp word [rax], bp
jne 0x14009baa6
mov rbp, 0xffffffff80070057
jmp 0x14009bb2c
mov rcx, rax
call fcn.14001b86c
mov rcx, rax
mov rdi, rax
call fcn.1400f9794
cmp eax, ebp
jne 0x14009bac2
mov rbp, r13
jmp 0x14009bb2c
lea r8, [rsp + 0xe8]
lea rdx, [rsp + 0xa0]
mov rcx, rdi
call fcn.1400dc914
mov r11, qword [rsp + 0xe8]
cmp r11, rbp
je 0x14009b9fe
lea rdx, [0x140120180]
lea rcx, [rsp + 0x138]
mov word [r11 - 2], bp
call fcn.140017478
mov rdx, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xa0]
mov r8, rbx
call fcn.140008d98
lea rcx, [rsp + 0x138]
mov rbp, rax
call fcn.1400174c0
lea rcx, [rsp + 0x68]
call fcn.140059370
lea rcx, [rsp + 0x60]
call fcn.140059370
lea rcx, [rsp + 0xa0]
call fcn.140059370
lea rcx, [rsp + 0x98]
call fcn.140059370
lea rcx, [rsp + 0x88]
call fcn.140059370
lea rcx, [rsp + 0xa8]
call fcn.140059370
mov rax, rbp
mov rbx, qword [rsp + 0x190]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret