Function at 0x14000e5c0
Capabilities:
Check if file exists
Get common file path
Get program files directory
Query or enumerate registry value
Read .ini file

Disassembly:
push rbx
push rdi
push r13
mov eax, 0x10e0
call fcn.14002c8a0
sub rsp, rax
mov rax, qword [0x140039680]
xor rax, rsp
mov qword [rsp + 0x10c0], rax
mov r13, rcx
lea rcx, [rsp + 0x672]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x670], 0
call fcn.140011ab0
lea rcx, [rsp + 0xca2]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0xca0], 0
call fcn.140011ab0
lea rcx, [rsp + 0x882]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x880], 0
call fcn.140011ab0
lea rcx, [rsp + 0xa92]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0xa90], 0
call fcn.140011ab0
lea rcx, [rsp + 0x252]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x250], 0
call fcn.140011ab0
lea rcx, [rsp + 0x42]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x40], 0
call fcn.140011ab0
xor r9d, r9d
lea rdx, [rsp + 0x670]
lea r8d, [r9 + 0x2c]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
mov edx, dword [0x14002ee8c]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x670]
lea r9, [rsp + 0xca0]
repne scasw ax, word [rdi]
or rcx, 0xffffffffffffffff
lea r8, [0x14002f704]
mov dword [rdi - 2], edx
lea rdi, [rsp + 0x670]
repne scasw ax, word [rdi]
mov rax, qword [str.DongFangInput]
or rcx, 0xffffffffffffffff
mov qword [rdi - 2], rax
mov rax, qword [0x14002f980]
mov qword [rdi + 6], rax
mov rax, qword [0x14002f988]
mov qword [rdi + 0xe], rax
mov eax, dword [0x14002f990]
mov dword [rdi + 0x16], eax
xor eax, eax
lea rdi, [rsp + 0x670]
repne scasw ax, word [rdi]
or rcx, 0xffffffffffffffff
mov dword [rdi - 2], edx
lea rdi, [rsp + 0x670]
lea rdx, str.InstallPath
repne scasw ax, word [rdi]
mov rax, qword [str.DongFang]
or rcx, 0xffffffffffffffff
mov qword [rdi - 2], rax
mov rax, qword [0x140030538]
mov qword [rdi + 6], rax
movzx eax, word [0x140030540]
mov word [rdi + 0xe], ax
xor eax, eax
lea rdi, [rsp + 0x670]
repne scasw ax, word [rdi]
mov rax, qword [str..ini]
mov qword [rdi - 2], rax
movzx eax, word [0x140030528]
mov word [rdi + 6], ax
lea rax, [rsp + 0x670]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea rcx, str.Globals
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor ebx, ebx
mov rcx, rbx
nop
movzx eax, word [rsp + rcx + 0xca0]
add rcx, 2
test ax, ax
mov word [rsp + rcx + 0x24e], ax
jne 0x14000e7b0
mov rcx, rbx
nop
movzx eax, word [rsp + rcx + 0x250]
add rcx, 2
test ax, ax
mov word [rsp + rcx + 0x3e], ax
jne 0x14000e7d0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x40]
repne scasw ax, word [rdi]
mov rax, qword [str.2.5.0.0425]
or rcx, 0xffffffffffffffff
mov qword [rdi - 2], rax
mov rax, qword [0x140030600]
mov qword [rsp + 0x1108], rbp
mov qword [rdi + 6], rax
mov eax, dword [0x140030608]
mov qword [rsp + 0x1110], rsi
mov dword [rdi + 0xe], eax
movzx eax, word [0x14003060c]
mov qword [rsp + 0x10d8], r12
mov word [rdi + 0x12], ax
xor eax, eax
lea rdi, [rsp + 0x40]
repne scasw ax, word [rdi]
mov eax, dword [0x14002ee8c]
lea rcx, [rsp + 0x40]
mov dword [rdi - 2], eax
mov qword [rsp + 0x10d0], r14
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14000eb61
lea rcx, [rsp + 0x462]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x460], bx
call fcn.140011ab0
mov rdx, rbx
nop
nop
movzx eax, word [rsp + rdx + 0x40]
add rdx, 2
test ax, ax
mov word [rsp + rdx + 0x45e], ax
jne 0x14000e890
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x460]
repne scasw ax, word [rdi]
mov rax, qword [str.DFConfig.exe]
lea rcx, [rsp + 0x460]
mov qword [rdi - 2], rax
mov rax, qword [0x1400305e0]
mov qword [rdi + 6], rax
mov rax, qword [0x1400305e8]
mov qword [rdi + 0xe], rax
movzx eax, word [0x1400305f0]
mov word [rdi + 0x16], ax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14000eb61
mov rdx, qword [r13 + 0xe8]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x250]
repne scasw ax, word [rdi]
cmp rdx, 8
not rcx
lea r12, [rcx - 1]
jb 0x14000e92a
lea rdi, [r13 + 0xd0]
mov rax, qword [rdi]
jmp 0x14000e934
lea rdi, [r13 + 0xd0]
mov rax, rdi
lea rcx, [rsp + 0x250]
movabs rbp, 0x7ffffffffffffffe
cmp rcx, rax
jb 0x14000e9a3
cmp rdx, 8
jb 0x14000e956
mov rcx, qword [rdi]
jmp 0x14000e959
mov rcx, rdi
mov rax, qword [r13 + 0xe0]
lea rcx, [rcx + rax*2]
lea rax, [rsp + 0x250]
cmp rcx, rax
jbe 0x14000e9a3
cmp rdx, 8
jb 0x14000e97a
mov rdi, qword [rdi]
lea r8, [rsp + 0x250]
lea rdx, [r13 + 0xc8]
lea rcx, [r13 + 0xc8]
sub r8, rdi
mov r9, r12
sar r8, 1
call fcn.140001940
jmp 0x14000ea33
cmp r12, rbp
jbe 0x14000e9ad
call fcn.1400117b0
mov rax, qword [r13 + 0xe8]
cmp rax, r12
jae 0x14000e9e6
mov r8, qword [r13 + 0xe0]
lea rcx, [r13 + 0xc8]
mov rdx, r12
call fcn.1400013e0
test r12, r12
je 0x14000ea33
mov rdx, qword [r13 + 0xe8]
cmp rdx, 8
jb 0x14000ea00
mov rcx, qword [rdi]
jmp 0x14000ea03
test r12, r12
jne 0x14000e9cf
cmp rax, 8
mov qword [r13 + 0xe0], rbx
jb 0x14000e9fb
mov rdi, qword [rdi]
mov word [rdi], bx
jmp 0x14000ea33
mov rcx, rdi
lea r14, [r12 + r12]
lea r8, [rsp + 0x250]
add rdx, rdx
mov r9, r14
call fcn.140011dd0
cmp qword [r13 + 0xe8], 8
mov qword [r13 + 0xe0], r12
jb 0x14000ea2e
mov rdi, qword [rdi]
mov word [r14 + rdi], bx
mov rdx, qword [r13 + 0x110]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x40]
repne scasw ax, word [rdi]
cmp rdx, 8
not rcx
lea r12, [rcx - 1]
jb 0x14000ea61
lea rdi, [r13 + 0xf8]
mov rax, qword [rdi]
jmp 0x14000ea6b
lea rdi, [r13 + 0xf8]
mov rax, rdi
lea rcx, [rsp + 0x40]
cmp rcx, rax
jb 0x14000eac7
cmp rdx, 8
jb 0x14000ea80
mov rcx, qword [rdi]
jmp 0x14000ea83
mov rcx, rdi
mov rax, qword [r13 + 0x108]
lea rcx, [rcx + rax*2]
lea rax, [rsp + 0x40]
cmp rcx, rax
jbe 0x14000eac7
cmp rdx, 8
jb 0x14000eaa1
mov rdi, qword [rdi]
lea r8, [rsp + 0x40]
lea rdx, [r13 + 0xf0]
lea rcx, [r13 + 0xf0]
sub r8, rdi
mov r9, r12
sar r8, 1
call fcn.140001940
jmp 0x14000f7c7
cmp r12, rbp
jbe 0x14000ead1
call fcn.1400117b0
mov rax, qword [r13 + 0x110]
cmp rax, r12
jae 0x14000eb0e
mov r8, qword [r13 + 0x108]
lea rcx, [r13 + 0xf0]
mov rdx, r12
call fcn.1400013e0
test r12, r12
je 0x14000f7c7
mov rdx, qword [r13 + 0x110]
cmp rdx, 8
jb 0x14000eb2b
mov rcx, qword [rdi]
jmp 0x14000eb2e
test r12, r12
jne 0x14000eaf3
cmp rax, 8
mov qword [r13 + 0x108], rbx
jb 0x14000eb23
mov rdi, qword [rdi]
mov word [rdi], bx
jmp 0x14000f7c7
mov rcx, rdi
lea rbx, [r12 + r12]
lea r8, [rsp + 0x40]
add rdx, rdx
mov r9, rbx
call fcn.140011dd0
cmp qword [r13 + 0x110], 8
mov qword [r13 + 0x108], r12
jb 0x14000eb56
mov rdi, qword [rdi]
mov word [rbx + rdi], 0
jmp 0x14000f7c7
lea rcx, [rsp + 0xeb2]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0xeb0], bx
call fcn.140011ab0
mov rdx, rbx
lea rcx, str.SOFTWARE_
nop
nop
movzx eax, word [rdx + rcx]
add rdx, 2
test ax, ax
mov word [rsp + rdx + 0xeae], ax
jne 0x14000eb90
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0xeb0]
repne scasw ax, word [rdi]
mov rax, qword [str.DongFangInput]
lea rdx, [rsp + 0xeb0]
mov qword [rdi - 2], rax
mov rax, qword [0x14002f980]
mov r9d, 0x20019
mov qword [rdi + 6], rax
mov rax, qword [0x14002f988]
xor r8d, r8d
mov qword [rdi + 0xe], rax
mov eax, dword [0x14002f990]
mov rcx, 0xffffffff80000002
mov dword [rdi + 0x16], eax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14000f010
mov rcx, qword [rsp + 0x38]
lea rax, [rsp + 0x30]
lea rdx, str.InstallPath
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0xa90]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x30], 0x104
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x14000f010
mov rcx, rbx
nop
nop
nop
nop
movzx eax, word [rsp + rcx + 0xa90]
add rcx, 2
test ax, ax
mov word [rsp + rcx + 0x24e], ax
jne 0x14000ec60
mov rcx, rbx
nop
movzx eax, word [rsp + rcx + 0x250]
add rcx, 2
test ax, ax
mov word [rsp + rcx + 0x3e], ax
jne 0x14000ec80
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x40]
repne scasw ax, word [rdi]
mov rax, qword [str.2.5.0.0425]
or rcx, 0xffffffffffffffff
mov qword [rdi - 2], rax
mov rax, qword [0x140030600]
mov qword [rdi + 6], rax
mov eax, dword [0x140030608]
mov dword [rdi + 0xe], eax
movzx eax, word [0x14003060c]
mov word [rdi + 0x12], ax
xor eax, eax
lea rdi, [rsp + 0x40]
repne scasw ax, word [rdi]
mov eax, dword [0x14002ee8c]
lea rcx, [rsp + 0x40]
mov dword [rdi - 2], eax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14000f010
lea rcx, [rsp + 0x462]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x460], bx
call fcn.140011ab0
mov rdx, rbx
nop
nop
movzx eax, word [rsp + rdx + 0x40]
add rdx, 2
test ax, ax
mov word [rsp + rdx + 0x45e], ax
jne 0x14000ed20
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x460]
repne scasw ax, word [rdi]
mov rax, qword [str.DFConfig.exe]
lea rcx, [rsp + 0x460]
mov qword [rdi - 2], rax
mov rax, qword [0x1400305e0]
mov qword [rdi + 6], rax
mov rax, qword [0x1400305e8]
mov qword [rdi + 0xe], rax
movzx eax, word [0x1400305f0]
mov word [rdi + 0x16], ax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14000f010
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdx, qword [r13 + 0xe8]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x250]
repne scasw ax, word [rdi]
cmp rdx, 8
not rcx
lea r12, [rcx - 1]
jb 0x14000edc5
lea rdi, [r13 + 0xd0]
mov rax, qword [rdi]
jmp 0x14000edcf
lea rdi, [r13 + 0xd0]
mov rax, rdi
lea rcx, [rsp + 0x250]
movabs rbp, 0x7ffffffffffffffe
cmp rcx, rax
jb 0x14000ee3e
cmp rdx, 8
jb 0x14000edf1
mov rcx, qword [rdi]
jmp 0x14000edf4
mov rcx, rdi
mov rax, qword [r13 + 0xe0]
lea rcx, [rcx + rax*2]
lea rax, [rsp + 0x250]
cmp rcx, rax
jbe 0x14000ee3e
cmp rdx, 8
jb 0x14000ee15
mov rdi, qword [rdi]
lea r8, [rsp + 0x250]
lea rdx, [r13 + 0xc8]
lea rcx, [r13 + 0xc8]
sub r8, rdi
mov r9, r12
sar r8, 1
call fcn.140001940
jmp 0x14000eece
cmp r12, rbp
jbe 0x14000ee48
call fcn.1400117b0
mov rax, qword [r13 + 0xe8]
cmp rax, r12
jae 0x14000ee81
mov r8, qword [r13 + 0xe0]
lea rcx, [r13 + 0xc8]
mov rdx, r12
call fcn.1400013e0
test r12, r12
je 0x14000eece
mov rdx, qword [r13 + 0xe8]
cmp rdx, 8
jb 0x14000ee9b
mov rcx, qword [rdi]
jmp 0x14000ee9e
test r12, r12
jne 0x14000ee6a
cmp rax, 8
mov qword [r13 + 0xe0], rbx
jb 0x14000ee96
mov rdi, qword [rdi]
mov word [rdi], bx
jmp 0x14000eece
mov rcx, rdi
lea r14, [r12 + r12]
lea r8, [rsp + 0x250]
add rdx, rdx
mov r9, r14
call fcn.140011dd0
cmp qword [r13 + 0xe8], 8
mov qword [r13 + 0xe0], r12
jb 0x14000eec9
mov rdi, qword [rdi]
mov word [rdi + r14], bx
mov rdx, qword [r13 + 0x110]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x40]
repne scasw ax, word [rdi]
cmp rdx, 8
not rcx
lea r12, [rcx - 1]
jb 0x14000eefc
lea rdi, [r13 + 0xf8]
mov rax, qword [rdi]
jmp 0x14000ef06
lea rdi, [r13 + 0xf8]
mov rax, rdi
lea rcx, [rsp + 0x40]
cmp rcx, rax
jb 0x14000ef6a
cmp rdx, 8
jb 0x14000ef1b
mov rcx, qword [rdi]
jmp 0x14000ef1e
mov rcx, rdi
mov rax, qword [r13 + 0x108]
lea rcx, [rcx + rax*2]
lea rax, [rsp + 0x40]
cmp rcx, rax
jbe 0x14000ef6a
cmp rdx, 8
jb 0x14000ef3c
mov rdi, qword [rdi]
lea r8, [rsp + 0x40]
lea rdx, [r13 + 0xf0]
lea rcx, [r13 + 0xf0]
sub r8, rdi
mov r9, r12
sar r8, 1
call fcn.140001940
mov rcx, r13
call fcn.14000c3c0
jmp 0x14000f7c7
cmp r12, rbp
jbe 0x14000ef74
call fcn.1400117b0
mov rax, qword [r13 + 0x110]
cmp rax, r12
jae 0x14000efad
mov r8, qword [r13 + 0x108]
lea rcx, [r13 + 0xf0]
mov rdx, r12
call fcn.1400013e0
test r12, r12
je 0x14000f003
mov rdx, qword [r13 + 0x110]
cmp rdx, 8
jb 0x14000efd2
mov rcx, qword [rdi]
jmp 0x14000efd5
test r12, r12
jne 0x14000ef96
cmp rax, 8
mov qword [r13 + 0x108], rbx
jb 0x14000efc2
mov rdi, qword [rdi]
mov rcx, r13
mov word [rdi], bx
call fcn.14000c3c0
jmp 0x14000f7c7
mov rcx, rdi
lea rbx, [r12 + r12]
lea r8, [rsp + 0x40]
add rdx, rdx
mov r9, rbx
call fcn.140011dd0
cmp qword [r13 + 0x110], 8
mov qword [r13 + 0x108], r12
jb 0x14000effd
mov rdi, qword [rdi]
mov word [rdi + rbx], 0
mov rcx, r13
call fcn.14000c3c0
jmp 0x14000f7c7
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor r9d, r9d
lea rdx, [rsp + 0x880]
lea r8d, [r9 + 0x2a]
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
mov edx, dword [0x14002ee8c]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x880]
repne scasw ax, word [rdi]
or rcx, 0xffffffffffffffff
mov dword [rdi - 2], edx
lea rdi, [rsp + 0x880]
repne scasw ax, word [rdi]
mov rax, qword [str.DongFangInput]
or rcx, 0xffffffffffffffff
mov qword [rdi - 2], rax
mov rax, qword [0x14002f980]
mov qword [rdi + 6], rax
mov rax, qword [0x14002f988]
mov qword [rdi + 0xe], rax
mov eax, dword [0x14002f990]
mov dword [rdi + 0x16], eax
lea rdi, [rsp + 0x880]
xor eax, eax
repne scasw ax, word [rdi]
mov rcx, rbx
mov dword [rdi - 2], edx
nop
movzx eax, word [rsp + rcx + 0x880]
add rcx, 2
test ax, ax
mov word [rsp + rcx + 0x24e], ax
jne 0x14000f0a0
mov rcx, rbx
nop
movzx eax, word [rsp + rcx + 0x250]
add rcx, 2
test ax, ax
mov word [rsp + rcx + 0x3e], ax
jne 0x14000f0c0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x40]
repne scasw ax, word [rdi]
mov rax, qword [str.2.5.0.0425]
or rcx, 0xffffffffffffffff
mov qword [rdi - 2], rax
mov rax, qword [0x140030600]
mov qword [rdi + 6], rax
mov eax, dword [0x140030608]
mov dword [rdi + 0xe], eax
movzx eax, word [0x14003060c]
mov word [rdi + 0x12], ax
xor eax, eax
lea rdi, [rsp + 0x40]
repne scasw ax, word [rdi]
lea rcx, [rsp + 0x40]
mov dword [rdi - 2], edx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14000f3f1
lea rcx, [rsp + 0x462]
xor edx, edx
mov r8d, 0x206
mov word [rsp + 0x460], bx
call fcn.140011ab0
mov rdx, rbx
movzx eax, word [rsp + rdx + 0x40]
add rdx, 2
test ax, ax
mov word [rsp + rdx + 0x45e], ax
jne 0x14000f152
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x460]
repne scasw ax, word [rdi]
mov rax, qword [str.DFConfig.exe]
lea rcx, [rsp + 0x460]
mov qword [rdi - 2], rax
mov rax, qword [0x1400305e0]
mov qword [rdi + 6], rax
mov rax, qword [0x1400305e8]
mov qword [rdi + 0xe], rax
movzx eax, word [0x1400305f0]
mov word [rdi + 0x16], ax
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14000f3f1
mov rdx, qword [r13 + 0xe8]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x250]
repne scasw ax, word [rdi]
cmp rdx, 8
not rcx
lea r12, [rcx - 1]
jb 0x14000f1ec
lea rdi, [r13 + 0xd0]
mov rax, qword [rdi]
jmp 0x14000f1f6
lea rdi, [r13 + 0xd0]
mov rax, rdi
lea rcx, [rsp + 0x250]
movabs rbp, 0x7ffffffffffffffe
cmp rcx, rax
jb 0x14000f265
cmp rdx, 8
jb 0x14000f218
mov rcx, qword [rdi]
jmp 0x14000f21b
mov rcx, rdi
mov rax, qword [r13 + 0xe0]
lea rcx, [rcx + rax*2]
lea rax, [rsp + 0x250]
cmp rcx, rax
jbe 0x14000f265
cmp rdx, 8
jb 0x14000f23c
mov rdi, qword [rdi]
lea r8, [rsp + 0x250]
lea rdx, [r13 + 0xc8]
lea rcx, [r13 + 0xc8]
sub r8, rdi
mov r9, r12
sar r8, 1
call fcn.140001940
jmp 0x14000f2f5
cmp r12, rbp
jbe 0x14000f26f
call fcn.1400117b0
mov rax, qword [r13 + 0xe8]
cmp rax, r12
jae 0x14000f2a8
mov r8, qword [r13 + 0xe0]
lea rcx, [r13 + 0xc8]
mov rdx, r12
call fcn.1400013e0
test r12, r12
je 0x14000f2f5
mov rdx, qword [r13 + 0xe8]
cmp rdx, 8
jb 0x14000f2c2
mov rcx, qword [rdi]
jmp 0x14000f2c5
test r12, r12
jne 0x14000f291
cmp rax, 8
mov qword [r13 + 0xe0], rbx
jb 0x14000f2bd
mov rdi, qword [rdi]
mov word [rdi], bx
jmp 0x14000f2f5
mov rcx, rdi
lea r14, [r12 + r12]
lea r8, [rsp + 0x250]
add rdx, rdx
mov r9, r14
call fcn.140011dd0
cmp qword [r13 + 0xe8], 8
mov qword [r13 + 0xe0], r12
jb 0x14000f2f0
mov rdi, qword [rdi]
mov word [rdi + r14], bx
mov rdx, qword [r13 + 0x110]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x40]
repne scasw ax, word [rdi]
cmp rdx, 8
not rcx
lea r12, [rcx - 1]
jb 0x14000f323
lea rdi, [r13 + 0xf8]
mov rax, qword [rdi]
jmp 0x14000f32d
lea rdi, [r13 + 0xf8]
mov rax, rdi
lea rcx, [rsp + 0x40]
cmp rcx, rax
jb 0x14000f369
cmp rdx, 8
jb 0x14000f342
mov rcx, qword [rdi]
jmp 0x14000f345
mov rcx, rdi
mov rax, qword [r13 + 0x108]
lea rcx, [rcx + rax*2]
lea rax, [rsp + 0x40]
cmp rcx, rax
jbe 0x14000f369
cmp rdx, 8
jb 0x14000eaa1
jmp 0x14000ea9e
cmp r12, rbp
jbe 0x14000f373
call fcn.1400117b0
mov rax, qword [r13 + 0x110]
cmp rax, r12
jae 0x14000f397
mov r8, qword [r13 + 0x108]
lea rcx, [r13 + 0xf0]
mov rdx, r12
call fcn.1400013e0
jmp 0x14000f3a0
test r12, r12
je 0x14000eb13
test r12, r12
je 0x14000f7c7
mov rdx, qword [r13 + 0x110]
cmp rdx, 8
jb 0x14000f3bb
mov rcx, qword [rdi]
jmp 0x14000f3be
mov rcx, rdi
lea rbx, [r12 + r12]
lea r8, [rsp + 0x40]
add rdx, rdx
mov r9, rbx
call fcn.140011dd0
mov qword [r13 + 0x108], r12
cmp qword [r13 + 0x110], 8
jb 0x14000f3e6
mov rdi, qword [rdi]
mov word [rdi + rbx], 0
jmp 0x14000f7c7
lea rcx, [rsp + 0xca0]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14000f69c
mov rcx, rbx
nop
nop
movzx eax, word [rsp + rcx + 0xca0]
add rcx, 2
test ax, ax
mov word [rsp + rcx + 0x24e], ax
jne 0x14000f410
mov rcx, rbx
nop
movzx eax, word [rsp + rcx + 0x250]
add rcx, 2
test ax, ax
mov word [rsp + rcx + 0x3e], ax
jne 0x14000f430
mov rdx, qword [r13 + 0xe8]
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x40]
repne scasw ax, word [rdi]
mov rax, qword [str.2.5.0.0425]
or rcx, 0xffffffffffffffff
mov qword [rdi - 2], rax
mov rax, qword [0x140030600]
mov qword [rdi + 6], rax
mov eax, dword [0x140030608]
mov dword [rdi + 0xe], eax
movzx eax, word [0x14003060c]
mov word [rdi + 0x12], ax
xor eax, eax
lea rdi, [rsp + 0x40]
repne scasw ax, word [rdi]
mov eax, dword [0x14002ee8c]
or rcx, 0xffffffffffffffff
mov dword [rdi - 2], eax
xor eax, eax
lea rdi, [rsp + 0x250]
repne scasw ax, word [rdi]
cmp rdx, 8
not rcx
lea r12, [rcx - 1]
jb 0x14000f4c6
lea rdi, [r13 + 0xd0]
mov rax, qword [rdi]
jmp 0x14000f4d0
lea rdi, [r13 + 0xd0]
mov rax, rdi
lea rcx, [rsp + 0x250]
movabs rbp, 0x7ffffffffffffffe
cmp rcx, rax
jb 0x14000f53f
cmp rdx, 8
jb 0x14000f4f2
mov rcx, qword [rdi]
jmp 0x14000f4f5
mov rcx, rdi
mov rax, qword [r13 + 0xe0]
lea rcx, [rcx + rax*2]
lea rax, [rsp + 0x250]
cmp rcx, rax
jbe 0x14000f53f
cmp rdx, 8
jb 0x14000f516
mov rdi, qword [rdi]
lea r8, [rsp + 0x250]
lea rdx, [r13 + 0xc8]
lea rcx, [r13 + 0xc8]
sub r8, rdi
mov r9, r12
sar r8, 1
call fcn.140001940
jmp 0x14000f5cf
cmp r12, rbp
jbe 0x14000f549
call fcn.1400117b0
mov rax, qword [r13 + 0xe8]
cmp rax, r12
jae 0x14000f582
mov r8, qword [r13 + 0xe0]
lea rcx, [r13 + 0xc8]
mov rdx, r12
call fcn.1400013e0
test r12, r12
je 0x14000f5cf
mov rdx, qword [r13 + 0xe8]
cmp rdx, 8
jb 0x14000f59c
mov rcx, qword [rdi]
jmp 0x14000f59f
test r12, r12
jne 0x14000f56b
cmp rax, 8
mov qword [r13 + 0xe0], rbx
jb 0x14000f597
mov rdi, qword [rdi]
mov word [rdi], bx
jmp 0x14000f5cf
mov rcx, rdi
lea r14, [r12 + r12]
lea r8, [rsp + 0x250]
add rdx, rdx
mov r9, r14
call fcn.140011dd0
cmp qword [r13 + 0xe8], 8
mov qword [r13 + 0xe0], r12
jb 0x14000f5ca
mov rdi, qword [rdi]
mov word [rdi + r14], bx
mov rdx, qword [r13 + 0x110]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x40]
repne scasw ax, word [rdi]
cmp rdx, 8
not rcx
lea r12, [rcx - 1]
jb 0x14000f5fd
lea rdi, [r13 + 0xf8]
mov rax, qword [rdi]
jmp 0x14000f607
lea rdi, [r13 + 0xf8]
mov rax, rdi
lea rcx, [rsp + 0x40]
cmp rcx, rax
jb 0x14000f643
cmp rdx, 8
jb 0x14000f61c
mov rcx, qword [rdi]
jmp 0x14000f61f
mov rcx, rdi
mov rax, qword [r13 + 0x108]
lea rcx, [rcx + rax*2]
lea rax, [rsp + 0x40]
cmp rcx, rax
jbe 0x14000f643
cmp rdx, 8
jb 0x14000eaa1
jmp 0x14000ea9e
cmp r12, rbp
jbe 0x14000f64d
call fcn.1400117b0
mov rax, qword [r13 + 0x110]
cmp rax, r12
jae 0x14000f671
mov r8, qword [r13 + 0x108]
lea rcx, [r13 + 0xf0]
mov rdx, r12
call fcn.1400013e0
jmp 0x14000f67a
test r12, r12
je 0x14000eb13
test r12, r12
je 0x14000f7c7
mov rdx, qword [r13 + 0x110]
cmp rdx, 8
jb 0x14000f3bb
mov rcx, qword [rdi]
jmp 0x14000f3be
lea rcx, [rsp + 0xa90]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14000f6e8
mov rcx, rbx
movzx eax, word [rsp + rcx + 0xa90]
add rcx, 2
test ax, ax
mov word [rsp + rcx + 0x24e], ax
jne 0x14000f6b1
nop
nop
movzx eax, word [rsp + rbx + 0x250]
add rbx, 2
test ax, ax
mov word [rsp + rbx + 0x3e], ax
jne 0x14000f6d0
jmp 0x14000f726
mov rcx, rbx
nop
nop
movzx eax, word [rsp + rcx + 0x880]
add rcx, 2
test ax, ax
mov word [rsp + rcx + 0x24e], ax
jne 0x14000f6f0
nop
nop
movzx eax, word [rsp + rbx + 0x250]
add rbx, 2
test ax, ax
mov word [rsp + rbx + 0x3e], ax
jne 0x14000f710
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x40]
repne scasw ax, word [rdi]
mov rax, qword [str.2.5.0.0425]
or rcx, 0xffffffffffffffff
mov qword [rdi - 2], rax
mov rax, qword [0x140030600]
lea rdx, [rsp + 0x250]
mov qword [rdi + 6], rax
mov eax, dword [0x140030608]
mov dword [rdi + 0xe], eax
movzx eax, word [0x14003060c]
mov word [rdi + 0x12], ax
xor eax, eax
lea rdi, [rsp + 0x40]
repne scasw ax, word [rdi]
mov eax, dword [0x14002ee8c]
or rcx, 0xffffffffffffffff
mov dword [rdi - 2], eax
xor eax, eax
lea rdi, [rsp + 0x250]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [r13 + 0xc8]
call fcn.140001b40
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x40]
lea rdx, [rsp + 0x40]
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [r13 + 0xf0]
call fcn.140001b40
mov r14, qword [rsp + 0x10d0]
mov r12, qword [rsp + 0x10d8]
mov rsi, qword [rsp + 0x1110]
mov rbp, qword [rsp + 0x1108]
mov rcx, qword [rsp + 0x10c0]
xor rcx, rsp
call fcn.140011c90
add rsp, 0x10e0
pop r13
pop rdi
pop rbx
ret