Function at 0x140012940
Capabilities:
Copy file
Get common file path
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x7b0]
sub rsp, 0x8b0
mov rax, qword [0x140194020]
xor rax, rsp
mov qword [rbp + 0x7a0], rax
xor edx, edx
lea rcx, [rsp + 0x60]
mov r8d, 0x208
call fcn.140019870
xor edx, edx
lea rcx, [rbp + 0x590]
mov r8d, 0x208
call fcn.140019870
xor edx, edx
lea rcx, [rbp + 0x170]
mov r8d, 0x208
call fcn.140019870
call fcn.14000b700
mov r14, rax
lea r9, str.InstallFontFromTTF
lea rax, str.Started.
mov edx, 2
mov qword [rsp + 0x28], rax
lea r8, str.C:BITDIRAVRETAILqhav_sourceupgradeupguiupgui.cpp
mov rcx, r14
mov dword [rsp + 0x20], 0x174
call fcn.14000a8e0
call fcn.1400097d0
xor r15d, r15d
lea r13, str.CopyFile___FAILED_with_error_:__ul
add eax, 0xffff3c87
mov ebx, 0x104
mov esi, 0x7ffffffe
lea r12d, [r15 + 0x5c]
cmp eax, 1
jbe 0x140012dca
mov edx, ebx
lea rcx, [rsp + 0x60]
mov dil, 1
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov ecx, ebx
lea rax, [rsp + 0x60]
nop dword [rax + rax]
cmp word [rax], r15w
je 0x140012a40
add rax, 2
sub rcx, 1
jne 0x140012a30
mov rax, rbx
sub rax, rcx
test rcx, rcx
cmove rax, r15
je 0x140012aa0
mov rdx, rbx
lea rcx, [rsp + 0x60]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140012a91
lea r9, str.FontsOpenSans_VariableFont_wdth_wght.ttf
mov rax, rsi
sub r9, rcx
nop dword [rax]
test rax, rax
je 0x140012a91
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140012a91
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140012a70
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], r15w
lea rdx, [rbp + 0x170]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov rcx, rbx
lea rax, [rbp + 0x170]
nop dword [rax]
cmp word [rax], r15w
je 0x140012ad0
add rax, 2
sub rcx, 1
jne 0x140012ac0
mov rax, rbx
sub rax, rcx
test rcx, rcx
cmove rax, r15
je 0x140012b30
mov rdx, rbx
lea rcx, [rbp + 0x170]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140012b21
lea r9, [0x140189550]
mov rax, rsi
sub r9, rcx
nop
test rax, rax
je 0x140012b21
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140012b21
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140012b00
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], r15w
lea rax, [rbp + 0x170]
mov edx, 2
mov qword [rsp + 0x30], rax
lea r9, str.InstallFontFromTTF
lea rax, str.szExistingFile_:__s
mov rcx, r14
mov qword [rsp + 0x28], rax
lea r8, str.C:BITDIRAVRETAILqhav_sourceupgradeupguiupgui.cpp
mov dword [rsp + 0x20], 0x18c
call fcn.14000a8e0
lea rax, [rsp + 0x60]
mov edx, 2
mov qword [rsp + 0x30], rax
lea r9, str.InstallFontFromTTF
lea rax, str.szNewFile_:__s
mov rcx, r14
mov qword [rsp + 0x28], rax
lea r8, str.C:BITDIRAVRETAILqhav_sourceupgradeupguiupgui.cpp
mov dword [rsp + 0x20], 0x18d
call fcn.14000a8e0
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x140012bf2
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea r9, str.InstallFontFromTTF
mov qword [rsp + 0x28], r13
mov edx, 1
lea r8, str.C:BITDIRAVRETAILqhav_sourceupgradeupguiupgui.cpp
mov dword [rsp + 0x20], 0x195
mov rcx, r14
call fcn.14000a8e0
xor dil, dil
lea r8, str.SOFTWAREMicrosoftWindows_NTCurrentVersionFonts
mov rdx, rbx
lea rcx, [rbp + 0x590]
call fcn.14000a280
test eax, eax
jns 0x140012c48
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea r9, str.InstallFontFromTTF
lea rax, str.StringCchPrintf___FAILED_with_error_:__ul
mov edx, 1
mov qword [rsp + 0x28], rax
lea r8, str.C:BITDIRAVRETAILqhav_sourceupgradeupguiupgui.cpp
mov rcx, r14
mov dword [rsp + 0x20], 0x19d
call fcn.14000a8e0
xor dil, dil
lea r8, [rbp + 0x590]
mov rdx, rbx
lea rax, [rbp + 0x380]
sub r8, rax
lea rcx, [rbp + 0x380]
lea rax, [rdx + 0x7ffffefa]
test rax, rax
je 0x140012c86
movzx eax, word [r8 + rcx]
test ax, ax
je 0x140012c86
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x140012c63
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], r15w
je 0x140012d64
nop dword [rax + rax]
mov edx, 0x7c
lea rcx, [rbp + 0x380]
call fcn.140019068
test rax, rax
je 0x140012cbc
mov word [rax], r12w
jmp 0x140012ca0
lea rax, [rsp + 0x50]
mov r9d, 0x20006
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x380]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140012d26
mov qword [rsp + 0x40], r15
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
lea rdx, [rbp + 0x380]
mov qword [rsp + 0x30], r15
xor r9d, r9d
mov dword [rsp + 0x28], 0x20006
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x20], r15d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140012d64
mov rcx, qword [rsp + 0x50]
lea rax, str.OpenSans_VariableFont_wdth_wght.ttf
mov dword [rsp + 0x28], 0x48
lea rdx, str.OpenSans_VariableFont_wdth_wght__TrueType_
mov r9d, 1
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x50]
test eax, eax
je 0x140012db0
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea r9, str.InstallFontFromTTF
lea rax, str.AddRegistryValue___FAILED_with_error_:__ul
mov edx, 1
mov qword [rsp + 0x28], rax
lea r8, str.C:BITDIRAVRETAILqhav_sourceupgradeupguiupgui.cpp
mov rcx, r14
mov dword [rsp + 0x20], 0x1a6
call fcn.14000a8e0
mov edx, 1
lea rcx, str.Open_Sans_font_installation_FAILED...___
mov eax, 0x1b0
jmp 0x140012ddb
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dil, 1
jne 0x140012d9d
mov eax, 0x1ac
lea rcx, str.Open_Sans_font_installed_successfully...___
jmp 0x140012dd6
mov eax, 0x17d
lea rcx, str.No_need_to_install_Open_Sans_font...___
mov edx, 2
mov qword [rsp + 0x28], rcx
lea r9, str.InstallFontFromTTF
mov rcx, r14
mov dword [rsp + 0x20], eax
lea r8, str.C:BITDIRAVRETAILqhav_sourceupgradeupguiupgui.cpp
call fcn.14000a8e0
xor edx, edx
lea rcx, [rsp + 0x60]
mov r8d, 0x208
mov dil, 1
call fcn.140019870
xor edx, edx
lea rcx, [rbp + 0x170]
mov r8d, 0x208
call fcn.140019870
mov edx, ebx
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
mov rcx, rbx
lea rax, [rsp + 0x60]
cmp word [rax], r15w
je 0x140012e48
add rax, 2
sub rcx, 1
jne 0x140012e38
mov rax, rbx
sub rax, rcx
test rcx, rcx
cmove rax, r15
je 0x140012ea5
mov rdx, rbx
lea rcx, [rsp + 0x60]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140012e96
lea r9, str.FontsRobotoCondensed_Medium.ttf
mov rax, rsi
sub r9, rcx
test rax, rax
je 0x140012e96
movzx r8d, word [r9 + rcx]
test r8w, r8w
je 0x140012e96
mov word [rcx], r8w
dec rax
add rcx, 2
sub rdx, 1
jne 0x140012e75
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], r15w
lea rdx, [rbp + 0x170]
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov rcx, rbx
lea rax, [rbp + 0x170]
nop
cmp word [rax], r15w
je 0x140012ed0
add rax, 2
sub rcx, 1
jne 0x140012ec0
mov rax, rbx
sub rax, rcx
test rcx, rcx
cmove rax, r15
je 0x140012f2e
mov rdx, rbx
lea rcx, [rbp + 0x170]
lea rcx, [rcx + rax*2]
sub rdx, rax
je 0x140012f1f
lea r8, [0x140189930]
sub r8, rcx
nop dword [rax]
test rsi, rsi
je 0x140012f1f
movzx eax, word [r8 + rcx]
test ax, ax
je 0x140012f1f
mov word [rcx], ax
dec rsi
add rcx, 2
sub rdx, 1
jne 0x140012f00
test rdx, rdx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], r15w
lea rax, [rbp + 0x170]
mov edx, 2
mov qword [rsp + 0x30], rax
lea r9, str.InstallFontFromTTF
lea rax, str.szExistingFile_:__s
mov rcx, r14
mov qword [rsp + 0x28], rax
lea r8, str.C:BITDIRAVRETAILqhav_sourceupgradeupguiupgui.cpp
mov dword [rsp + 0x20], 0x1c0
call fcn.14000a8e0
lea rax, [rsp + 0x60]
mov edx, 2
mov qword [rsp + 0x30], rax
lea r9, str.InstallFontFromTTF
lea rax, str.szNewFile_:__s
mov rcx, r14
mov qword [rsp + 0x28], rax
lea r8, str.C:BITDIRAVRETAILqhav_sourceupgradeupguiupgui.cpp
mov dword [rsp + 0x20], 0x1c1
call fcn.14000a8e0
xor r8d, r8d
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x170]
call qword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x140012ff0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea r9, str.InstallFontFromTTF
mov qword [rsp + 0x28], r13
mov edx, 1
lea r8, str.C:BITDIRAVRETAILqhav_sourceupgradeupguiupgui.cpp
mov dword [rsp + 0x20], 0x1c9
mov rcx, r14
call fcn.14000a8e0
xor dil, dil
lea r8, str.SOFTWAREMicrosoftWindows_NTCurrentVersionFonts
mov rdx, rbx
lea rcx, [rbp + 0x590]
call fcn.14000a280
test eax, eax
jns 0x140013046
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea r9, str.InstallFontFromTTF
lea rax, str.StringCchPrintf___FAILED_with_error_:__ul
mov edx, 1
mov qword [rsp + 0x28], rax
lea r8, str.C:BITDIRAVRETAILqhav_sourceupgradeupguiupgui.cpp
mov rcx, r14
mov dword [rsp + 0x20], 0x1d1
call fcn.14000a8e0
xor dil, dil
lea rdx, [rbp + 0x590]
lea rax, [rbp + 0x380]
sub rdx, rax
lea rcx, [rbp + 0x380]
nop
lea rax, [rbx + 0x7ffffefa]
test rax, rax
je 0x140013082
movzx eax, word [rdx + rcx]
test ax, ax
je 0x140013082
mov word [rcx], ax
add rcx, 2
sub rbx, 1
jne 0x140013060
test rbx, rbx
lea rax, [rcx - 2]
cmovne rax, rcx
mov word [rax], r15w
je 0x140013168
nop word [rax + rax]
mov edx, 0x7c
lea rcx, [rbp + 0x380]
call fcn.140019068
test rax, rax
je 0x1400130bc
mov word [rax], r12w
jmp 0x1400130a0
lea rax, [rsp + 0x50]
mov r9d, 0x20006
xor r8d, r8d
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x380]
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140013126
mov qword [rsp + 0x40], r15
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
lea rdx, [rbp + 0x380]
mov qword [rsp + 0x30], r15
xor r9d, r9d
mov dword [rsp + 0x28], 0x20006
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x20], r15d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140013168
mov rcx, qword [rsp + 0x50]
lea rax, str.RobotoCondensed_Medium.ttf
mov dword [rsp + 0x28], 0x36
lea rdx, str.RobotoCondensed_Medium__TrueType_
mov r9d, 1
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x50]
test eax, eax
je 0x14001324e
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x30], eax
lea r9, str.InstallFontFromTTF
lea rax, str.AddRegistryValue___FAILED_with_error_:__ul
mov edx, 1
mov qword [rsp + 0x28], rax
lea r8, str.C:BITDIRAVRETAILqhav_sourceupgradeupguiupgui.cpp
mov rcx, r14
mov dword [rsp + 0x20], 0x1da
call fcn.14000a8e0
xor dil, dil
lea rax, str.Roboto_font_installation_FAILED...___
movzx edx, dil
cmp dil, 1
lea rcx, str.Roboto_font_installed_successfully...___
lea r9, str.InstallFontFromTTF
cmovne rcx, rax
lea r8, str.C:BITDIRAVRETAILqhav_sourceupgradeupguiupgui.cpp
mov qword [rsp + 0x28], rcx
inc edx
movzx eax, dil
mov rcx, r14
xor eax, 1
lea eax, [rax*4 + 0x1e0]
mov dword [rsp + 0x20], eax
call fcn.14000a8e0
lea rax, str.Exit.
mov edx, 2
mov qword [rsp + 0x28], rax
lea r9, str.InstallFontFromTTF
lea r8, str.C:BITDIRAVRETAILqhav_sourceupgradeupguiupgui.cpp
mov dword [rsp + 0x20], 0x1e7
mov rcx, r14
call fcn.14000a8e0
mov al, 1
mov rcx, qword [rbp + 0x7a0]
xor rcx, rsp
call fcn.140016d70
lea r11, [rsp + 0x8b0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1400131a4