Function at 0x140070bd0
Capabilities:
Identify system language via api

Disassembly:
push rbx
sub rsp, 0x40
mov qword [rsp + 0x30], 0
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
xor r8d, r8d
mov edx, 0xc0000000
mov dword [rsp + 0x20], 2
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, rbx
call fcn.140070300
mov rcx, rbx
add rsp, 0x40
pop rbx
jmp 0x140070bd0
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x478]
sub rsp, 0x550
mov qword [rbp + 0xf8], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140216b40]
xor rax, rsp
mov qword [rbp + 0x440], rax
mov qword [rbp + 0xd0], rcx
xor r15d, r15d
mov ebx, r15d
mov qword [rsp + 0x50], rbx
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
or r14, 0xffffffffffffffff
mov r9d, r14d
lea r8, str._tr__n
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov r13, rax
test rax, rax
je 0x140070c89
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._tr__n
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, edi
je 0x140070c89
mov rcx, r13
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140070c95
mov qword [rbp + 0x100], r13
test r13, r13
jne 0x140070ca0
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str.__tr__n
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov r12, rax
test rax, rax
je 0x140070d01
mov dword [rsp + 0x28], edi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str.__tr__n
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, edi
je 0x140070d01
mov rcx, r12
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140070d0d
mov qword [rbp + 0x108], r12
test r12, r12
jne 0x140070d18
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TABLE_class_systemConfig__id_Table1__cellSpacing_1__cellPadding_3__t_t_t___border_1__width_65___height__50____n
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x140070d79
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TABLE_class_systemConfig__id_Table1__cellSpacing_1__cellPadding_3__t_t_t___border_1__width_65___height__50____n
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x140070d79
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140070d85
mov qword [rbp + 0x110], rdi
test rdi, rdi
jne 0x140070d90
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140070dd1
mov qword [rsp + 0x58], r15
lea r8, [rsp + 0x58]
mov rdx, rdi
xor ecx, ecx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140070dc9
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 0x50], rbx
jmp 0x140070dd1
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TR_class_title___n
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x140070e3b
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TR_class_title___n
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x140070e3b
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140070e47
mov qword [rbp + 0x118], rdi
test rdi, rdi
jne 0x140070e52
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140070e95
mov qword [rsp + 0x60], r15
lea r8, [rsp + 0x60]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140070e8d
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rsp + 0x60]
mov qword [rsp + 0x50], rbx
jmp 0x140070e95
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TD_align_center__class_title___B_Parameter__B___TD__n
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x140070eff
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TD_align_center__class_title___B_Parameter__B___TD__n
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x140070eff
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140070f0b
mov qword [rbp + 0x120], rdi
test rdi, rdi
jne 0x140070f16
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140070f59
mov qword [rsp + 0x68], r15
lea r8, [rsp + 0x68]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140070f51
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rsp + 0x68]
mov qword [rsp + 0x50], rbx
jmp 0x140070f59
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TD_align_center__class_title___B_Value__B___TD__n
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x140070fc3
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TD_align_center__class_title___B_Value__B___TD__n
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x140070fc3
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140070fcf
mov qword [rbp + 0x128], rdi
test rdi, rdi
jne 0x140070fda
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x14007101d
mov qword [rsp + 0x70], r15
lea r8, [rsp + 0x70]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140071015
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rsp + 0x70]
mov qword [rsp + 0x50], rbx
jmp 0x14007101d
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._b_Configuration_Details__b__br__
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x140071087
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._b_Configuration_Details__b__br__
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x140071087
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140071093
mov qword [rbp + 0x130], rdi
test rdi, rdi
jne 0x14007109e
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x1400710e1
mov qword [rsp + 0x78], r15
lea r8, [rsp + 0x78]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x1400710d9
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rsp + 0x78]
mov qword [rsp + 0x50], rbx
jmp 0x1400710e1
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, r13
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x14007112a
mov qword [rbp - 0x80], r15
lea r8, [rbp - 0x80]
mov rdx, r13
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140071122
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp - 0x80]
mov qword [rsp + 0x50], rbx
jmp 0x14007112a
mov ecx, eax
call fcn.14004a980
int3
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TD_Product_Name__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x14007118b
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TD_Product_Name__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x14007118b
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140071197
mov qword [rbp + 0x138], rdi
test rdi, rdi
jne 0x1400711a2
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x1400711e2
mov qword [rbp - 0x78], r15
lea r8, [rbp - 0x78]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x1400711da
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp - 0x78]
mov qword [rsp + 0x50], rbx
jmp 0x1400711e2
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x14007124c
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x14007124c
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140071258
mov qword [rbp + 0x140], rdi
test rdi, rdi
jne 0x140071263
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x1400712a3
mov qword [rbp - 0x70], r15
lea r8, [rbp - 0x70]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x14007129b
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp - 0x70]
mov qword [rsp + 0x50], rbx
jmp 0x1400712a3
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str.HP_Help_Viewer
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x14007130d
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str.HP_Help_Viewer
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x14007130d
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140071319
mov qword [rbp + 0x148], rdi
test rdi, rdi
jne 0x140071324
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140071364
mov qword [rbp - 0x68], r15
lea r8, [rbp - 0x68]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x14007135c
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp - 0x68]
mov qword [rsp + 0x50], rbx
jmp 0x140071364
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str.__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x1400713ce
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str.__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x1400713ce
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x1400713da
mov qword [rbp + 0x150], rdi
test rdi, rdi
jne 0x1400713e5
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140071425
mov qword [rbp - 0x60], r15
lea r8, [rbp - 0x60]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x14007141d
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp - 0x60]
mov qword [rsp + 0x50], rbx
jmp 0x140071425
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, r12
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x14007146e
mov qword [rbp - 0x58], r15
lea r8, [rbp - 0x58]
mov rdx, r12
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140071466
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp - 0x58]
mov qword [rsp + 0x50], rbx
jmp 0x14007146e
mov ecx, eax
call fcn.14004a980
int3
mov rcx, r13
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x1400714ae
mov qword [rbp - 0x50], r15
lea r8, [rbp - 0x50]
mov rdx, r13
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x1400714a6
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp - 0x50]
mov qword [rsp + 0x50], rbx
jmp 0x1400714ae
mov ecx, eax
call fcn.14004a980
int3
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TD_Product_Version__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x14007150f
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TD_Product_Version__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x14007150f
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x14007151b
mov qword [rbp + 0x158], rdi
test rdi, rdi
jne 0x140071526
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140071566
mov qword [rbp - 0x48], r15
lea r8, [rbp - 0x48]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x14007155e
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp - 0x48]
mov qword [rsp + 0x50], rbx
jmp 0x140071566
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x1400715d0
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x1400715d0
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x1400715dc
mov qword [rbp + 0x160], rdi
test rdi, rdi
jne 0x1400715e7
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140071627
mov qword [rbp - 0x40], r15
lea r8, [rbp - 0x40]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x14007161f
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rax, qword [rbp - 0x40]
mov qword [rsp + 0x50], rax
jmp 0x140071627
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rdx, [rbp + 0xd8]
lea rcx, [0x14021cdd0]
call fcn.1400cc5b0
nop
mov rdx, qword [rax]
test rdx, rdx
jne 0x140071651
mov eax, r15d
jmp 0x14007165e
mov rax, r14
inc rax
cmp word [rdx + rax*2], 0
jne 0x140071654
mov r8d, eax
lea rcx, [rsp + 0x50]
call fcn.1400703c0
test eax, eax
jns 0x140071677
mov ecx, eax
call fcn.14004a980
nop
mov rdx, qword [rbp + 0xd8]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140071698
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str.__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x1400716f9
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str.__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, ebx
je 0x1400716f9
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140071705
mov qword [rbp + 0x168], rdi
test rdi, rdi
jne 0x140071710
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov rbx, qword [rsp + 0x50]
test eax, eax
je 0x140071755
mov qword [rbp - 0x38], r15
lea r8, [rbp - 0x38]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x14007174d
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp - 0x38]
mov qword [rsp + 0x50], rbx
jmp 0x140071755
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, r12
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x14007179e
mov qword [rbp - 0x30], r15
lea r8, [rbp - 0x30]
mov rdx, r12
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140071796
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp - 0x30]
mov qword [rsp + 0x50], rbx
jmp 0x14007179e
mov ecx, eax
call fcn.14004a980
int3
mov rcx, r13
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x1400717de
mov qword [rbp - 0x28], r15
lea r8, [rbp - 0x28]
mov rdx, r13
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x1400717d6
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp - 0x28]
mov qword [rsp + 0x50], rbx
jmp 0x1400717de
mov ecx, eax
call fcn.14004a980
int3
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TD_Product_configuration__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x14007183f
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TD_Product_configuration__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x14007183f
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x14007184b
mov qword [rbp + 0x170], rdi
test rdi, rdi
jne 0x140071856
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140071896
mov qword [rbp - 0x20], r15
lea r8, [rbp - 0x20]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x14007188e
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp - 0x20]
mov qword [rsp + 0x50], rbx
jmp 0x140071896
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x140071900
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x140071900
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x14007190c
mov qword [rbp + 0x178], rdi
test rdi, rdi
jne 0x140071917
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140071957
mov qword [rbp - 0x18], r15
lea r8, [rbp - 0x18]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x14007194f
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rax, qword [rbp - 0x18]
mov qword [rsp + 0x50], rax
jmp 0x140071957
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rdx, str.RELEASE
mov rax, r14
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x140071970
mov r8d, eax
lea rcx, [rsp + 0x50]
call fcn.1400703c0
test eax, eax
jns 0x140071993
mov ecx, eax
call fcn.14004a980
int3
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str.__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x1400719f4
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str.__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, ebx
je 0x1400719f4
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140071a00
mov qword [rbp + 0x180], rdi
test rdi, rdi
jne 0x140071a0b
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov rbx, qword [rsp + 0x50]
test eax, eax
je 0x140071a50
mov qword [rbp - 0x10], r15
lea r8, [rbp - 0x10]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140071a48
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp - 0x10]
mov qword [rsp + 0x50], rbx
jmp 0x140071a50
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, r12
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140071a99
mov qword [rbp - 8], r15
lea r8, [rbp - 8]
mov rdx, r12
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140071a91
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp - 8]
mov qword [rsp + 0x50], rbx
jmp 0x140071a99
mov ecx, eax
call fcn.14004a980
int3
call fcn.14004b618
mov rcx, rax
test rax, rax
jne 0x140071ab1
mov ecx, 0x80004005
call fcn.14004a980
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0x18], rax
lea rcx, [rbp + 0x1f8]
call qword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [rbp + 0x206]
movzx ecx, word [rbp + 0x204]
movzx edx, word [rbp + 0x202]
movzx r10d, word [rbp + 0x200]
movzx r11d, word [rbp + 0x1f8]
movzx r9d, word [rbp + 0x1fe]
movzx r8d, word [rbp + 0x1fa]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], ecx
mov dword [rsp + 0x30], edx
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r11d
lea rdx, str._d__d__d__d:_d:_d:_d__n
lea rcx, [rbp + 0x18]
call fcn.14004f2a8
mov rcx, r13
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140071b67
mov qword [rbp], r15
lea r8, [rbp]
mov rdx, r13
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140071b5f
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp]
mov qword [rsp + 0x50], rbx
jmp 0x140071b67
mov ecx, eax
call fcn.14004a980
int3
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TD_Time__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x140071bc8
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TD_Time__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x140071bc8
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140071bd4
mov qword [rbp + 0x188], rdi
test rdi, rdi
jne 0x140071bdf
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140071c1f
mov qword [rbp + 8], r15
lea r8, [rbp + 8]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140071c17
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 8]
mov qword [rsp + 0x50], rbx
jmp 0x140071c1f
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x140071c89
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, esi
je 0x140071c89
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140071c95
mov qword [rbp + 0x190], rdi
test rdi, rdi
jne 0x140071ca0
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140071ce0
mov qword [rbp + 0x10], r15
lea r8, [rbp + 0x10]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140071cd8
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rax, qword [rbp + 0x10]
mov qword [rsp + 0x50], rax
jmp 0x140071ce0
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rsi, qword [rbp + 0x18]
test rsi, rsi
jne 0x140071cf7
mov eax, r15d
jmp 0x140071d0a
mov rax, r14
nop word [rax + rax]
inc rax
cmp word [rsi + rax*2], 0
jne 0x140071d00
mov r8d, eax
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.1400703c0
test eax, eax
jns 0x140071d26
mov ecx, eax
call fcn.14004a980
int3
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str.__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x140071d87
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str.__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, ebx
je 0x140071d87
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140071d93
mov qword [rbp + 0x198], rdi
test rdi, rdi
jne 0x140071d9e
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov rbx, qword [rsp + 0x50]
test eax, eax
je 0x140071de3
mov qword [rbp + 0x20], r15
lea r8, [rbp + 0x20]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140071ddb
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0x20]
mov qword [rsp + 0x50], rbx
jmp 0x140071de3
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, r12
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140071e2c
mov qword [rbp + 0x28], r15
lea r8, [rbp + 0x28]
mov rdx, r12
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140071e24
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0x28]
mov qword [rsp + 0x50], rbx
jmp 0x140071e2c
mov ecx, eax
call fcn.14004a980
int3
mov rcx, r13
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140071e6c
mov qword [rbp + 0x30], r15
lea r8, [rbp + 0x30]
mov rdx, r13
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140071e64
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0x30]
mov qword [rsp + 0x50], rbx
jmp 0x140071e6c
mov ecx, eax
call fcn.14004a980
int3
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TD_Operating_System__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r15d, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x140071ed0
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TD_Operating_System__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, r15d
je 0x140071ed0
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140071edc
mov qword [rbp + 0x1a0], rdi
test rdi, rdi
jne 0x140071ee7
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
xor r15d, r15d
test eax, eax
je 0x140071f2a
mov qword [rbp + 0x38], r15
lea r8, [rbp + 0x38]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140071f22
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0x38]
mov qword [rsp + 0x50], rbx
jmp 0x140071f2a
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r15d, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x140071f97
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, r15d
je 0x140071f97
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140071fa3
mov qword [rbp + 0x1a8], rdi
test rdi, rdi
jne 0x140071fae
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
xor r15d, r15d
test eax, eax
je 0x140071ff1
mov qword [rbp + 0x40], r15
lea r8, [rbp + 0x40]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140071fe9
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0x40]
mov qword [rsp + 0x50], rbx
jmp 0x140071ff1
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rdx, [rbp + 0xe0]
mov rcx, qword [rbp + 0xd0]
call fcn.140072d70
nop
mov rdi, qword [rax]
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140072051
mov qword [rbp + 0x48], r15
lea r8, [rbp + 0x48]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140072049
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0x48]
mov qword [rsp + 0x50], rbx
jmp 0x140072051
mov ecx, eax
call fcn.14004a980
nop
mov rcx, qword [rbp + 0xe0]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str.__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r15d, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x1400720c2
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str.__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, r15d
je 0x1400720c2
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x1400720ce
mov qword [rbp + 0x1b0], rdi
test rdi, rdi
jne 0x1400720d9
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
xor r15d, r15d
test eax, eax
je 0x14007211c
mov qword [rbp + 0x50], r15
lea r8, [rbp + 0x50]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140072114
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0x50]
mov qword [rsp + 0x50], rbx
jmp 0x14007211c
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, r12
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140072165
mov qword [rbp + 0x58], r15
lea r8, [rbp + 0x58]
mov rdx, r12
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x14007215d
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0x58]
mov qword [rsp + 0x50], rbx
jmp 0x140072165
mov ecx, eax
call fcn.14004a980
int3
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
movzx ecx, ax
mov r9d, 0xa
mov r8d, 0x104
lea rdx, [rbp + 0x230]
call fcn.140103ea8
mov rcx, r13
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x1400721c6
mov qword [rbp + 0x60], r15
lea r8, [rbp + 0x60]
mov rdx, r13
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x1400721be
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0x60]
mov qword [rsp + 0x50], rbx
jmp 0x1400721c6
mov ecx, eax
call fcn.14004a980
int3
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TD_OS_Language_ID__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r15d, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x14007222a
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TD_OS_Language_ID__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, r15d
je 0x14007222a
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140072236
mov qword [rbp + 0x1b8], rdi
test rdi, rdi
jne 0x140072241
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
xor r15d, r15d
test eax, eax
je 0x140072284
mov qword [rbp + 0x68], r15
lea r8, [rbp + 0x68]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x14007227c
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0x68]
mov qword [rsp + 0x50], rbx
jmp 0x140072284
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r15d, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x1400722f1
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, r15d
je 0x1400722f1
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x1400722fd
mov qword [rbp + 0x1c0], rdi
test rdi, rdi
jne 0x140072308
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
xor r15d, r15d
test eax, eax
je 0x14007234b
mov qword [rbp + 0x70], r15
lea r8, [rbp + 0x70]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140072343
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rax, qword [rbp + 0x70]
mov qword [rsp + 0x50], rax
jmp 0x14007234b
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rcx, [rbp + 0x230]
mov rax, r14
nop
inc rax
cmp word [rcx + rax*2], 0
jne 0x140072360
mov r8d, eax
lea rdx, [rbp + 0x230]
lea rcx, [rsp + 0x50]
call fcn.1400703c0
test eax, eax
jns 0x14007238a
mov ecx, eax
call fcn.14004a980
int3
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str.__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ebx, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x1400723eb
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str.__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, ebx
je 0x1400723eb
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x1400723f7
mov qword [rbp + 0x1c8], rdi
test rdi, rdi
jne 0x140072402
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov rbx, qword [rsp + 0x50]
test eax, eax
je 0x140072447
mov qword [rbp + 0x78], r15
lea r8, [rbp + 0x78]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x14007243f
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0x78]
mov qword [rsp + 0x50], rbx
jmp 0x140072447
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, r12
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140072499
mov qword [rbp + 0x80], r15
lea r8, [rbp + 0x80]
mov rdx, r12
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140072491
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0x80]
mov qword [rsp + 0x50], rbx
jmp 0x140072499
mov ecx, eax
call fcn.14004a980
int3
mov rcx, r13
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x1400724e2
mov qword [rbp + 0x88], r15
lea r8, [rbp + 0x88]
mov rdx, r13
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x1400724da
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0x88]
mov qword [rsp + 0x50], rbx
jmp 0x1400724e2
mov ecx, eax
call fcn.14004a980
int3
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TD_Default_User_Language__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r15d, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x140072546
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TD_Default_User_Language__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, r15d
je 0x140072546
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140072552
mov qword [rbp + 0x1d0], rdi
test rdi, rdi
jne 0x14007255d
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
xor r15d, r15d
test eax, eax
je 0x1400725a9
mov qword [rbp + 0x90], r15
lea r8, [rbp + 0x90]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x1400725a1
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0x90]
mov qword [rsp + 0x50], rbx
jmp 0x1400725a9
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str._TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r15d, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x140072616
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str._TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, r15d
je 0x140072616
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140072622
mov qword [rbp + 0x1d8], rdi
test rdi, rdi
jne 0x14007262d
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
xor r15d, r15d
test eax, eax
je 0x140072679
mov qword [rbp + 0x98], r15
lea r8, [rbp + 0x98]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140072671
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0x98]
mov qword [rsp + 0x50], rbx
jmp 0x140072679
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
movzx r8d, ax
lea rdx, [0x1401870f8]
lea rcx, [rbp + 0x208]
call fcn.1400700e0
lea rcx, [rbp + 0x208]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov rdi, rax
mov qword [rbp + 0x1e0], rax
test rax, rax
jne 0x1400726c6
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x14007270f
mov qword [rbp + 0xa0], r15
lea r8, [rbp + 0xa0]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140072707
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0xa0]
mov qword [rsp + 0x50], rbx
jmp 0x14007270f
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str.__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r15d, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x14007277c
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str.__TD_
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, r15d
je 0x14007277c
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x140072788
mov qword [rbp + 0x1e8], rdi
test rdi, rdi
jne 0x140072793
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
xor r15d, r15d
test eax, eax
je 0x1400727df
mov qword [rbp + 0xa8], r15
lea r8, [rbp + 0xa8]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x1400727d7
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0xa8]
mov qword [rsp + 0x50], rbx
jmp 0x1400727df
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, r12
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140072831
mov qword [rbp + 0xb0], r15
lea r8, [rbp + 0xb0]
mov rdx, r12
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x140072829
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0xb0]
mov qword [rsp + 0x50], rbx
jmp 0x140072831
mov ecx, eax
call fcn.14004a980
int3
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], r15
mov r9d, r14d
lea r8, str.__TR__n
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov r15d, eax
lea edx, [rax - 1]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
mov rdi, rax
test rax, rax
je 0x140072895
mov dword [rsp + 0x28], r15d
mov qword [rsp + 0x20], rax
mov r9d, r14d
lea r8, str.__TR__n
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
cmp eax, r15d
je 0x140072895
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
jmp 0x1400728a1
mov qword [rbp + 0x1f0], rdi
test rdi, rdi
jne 0x1400728ac
mov ecx, 0x8007000e
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
xor r15d, r15d
test eax, eax
je 0x1400728f8
mov qword [rbp + 0xb8], r15
lea r8, [rbp + 0xb8]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x1400728f0
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0xb8]
mov qword [rsp + 0x50], rbx
jmp 0x1400728f8
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rdx, str.__TABLE__n
lea rcx, [rbp + 0xe8]
call fcn.140070140
nop
mov rdi, qword [rbp + 0xe8]
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x140072965
mov qword [rbp + 0xc0], r15
lea r8, [rbp + 0xc0]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x14007295d
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0xc0]
mov qword [rsp + 0x50], rbx
jmp 0x140072965
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
lea rdx, str._br___br__
lea rcx, [rbp + 0xf0]
call fcn.140070140
nop
mov rdi, qword [rbp + 0xf0]
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
je 0x1400729d2
mov qword [rbp + 0xc8], r15
lea r8, [rbp + 0xc8]
mov rdx, rdi
mov rcx, rbx
call sub.OLEAUT32.dll_VarBstrCmp
test eax, eax
js 0x1400729ca
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rbx, qword [rbp + 0xc8]
mov qword [rsp + 0x50], rbx
jmp 0x1400729d2
mov ecx, eax
call fcn.14004a980
nop
mov rcx, rdi
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
mov r9, rbx
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, qword [rbp + 0xd0]
call fcn.140070830
nop
lea rdx, [rsi - 0x18]
lock xadd dword [rdx + 0x10], r14d
sub r14d, 1
jg 0x140072a1a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, r12
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, r13
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
nop
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov rcx, qword [rbp + 0x440]
xor rcx, rsp
call fcn.1400dd830
lea r11, [rsp + 0x550]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret