Function at 0x140099820
Capabilities:
Query environment variable

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xe60]
sub rsp, 0xf60
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0xfa0], rbx
mov r12, r9
mov rbx, r8
mov r14, rdx
mov r13, rcx
test rdx, rdx
jne 0x140099876
mov r8d, 0x5cc
lea rdx, str.CSynTPEnh.cpp
lea rcx, str.hwMain
call fcn.1400eb260
test rbx, rbx
jne 0x140099894
mov r8d, 0x5ce
lea rdx, str.CSynTPEnh.cpp
lea rcx, str.pszCmdLine
call fcn.1400eb260
call fcn.140004d50
mov rdx, rax
xor edi, edi
mov ecx, edi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400998b5
mov ecx, 0x80004005
call fcn.140004d00
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp + 0xea8], rax
or r15, 0xffffffffffffffff
test rbx, rbx
je 0x14009990f
test rbx, 0xffffffffffff0000
jne 0x140099900
movzx ebx, bx
xor edx, edx
mov ecx, ebx
call fcn.14000f670
test rax, rax
je 0x140099924
mov r8d, ebx
mov rdx, rax
lea rcx, [rbp + 0xea8]
call fcn.14000fa20
jmp 0x140099924
mov rax, r15
inc rax
cmp word [rbx + rax*2], 0
jne 0x140099903
jmp 0x140099911
mov eax, edi
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0xea8]
call fcn.14000fc20
nop
lea r8, [0x140154384]
lea rdx, [0x1401513d8]
lea rcx, [rbp + 0xea8]
call fcn.1400a3de0
lea r8, [0x140154388]
lea rdx, [0x140154390]
lea rcx, [rbp + 0xea8]
call fcn.1400a3de0
mov rbx, qword [rbp + 0xea8]
cmp dword [rbx - 0x10], 0
jge 0x14009996e
mov dword [r12], edi
jmp 0x140099bbb
lea rdx, [0x140154388]
mov rcx, rbx
call fcn.1400fd558
mov dword [r12], edi
test rax, rax
je 0x140099bbb
sub rax, rbx
sar rax, 1
cmp eax, 0xffffffff
jle 0x140099bbb
mov r14d, edi
movsxd rdi, eax
add rdi, 2
lea rdi, [rbx + rdi*2]
mov esi, 1
nop dword [rax]
movzx ecx, word [rdi]
call fcn.1401024c4
cmp eax, 0x53
je 0x1400999ca
movzx ecx, word [rdi]
call fcn.1401024c4
cmp eax, 0x52
jne 0x1400999df
movzx ecx, word [rdi]
call fcn.1401024c4
cmp eax, 0x53
cmove r14d, esi
add rdi, 2
jmp 0x1400999b0
mov qword [rsp + 0x48], 7
xor eax, eax
mov qword [rsp + 0x40], rax
mov word [rsp + 0x30], ax
xor r8d, r8d
lea rdx, [0x14013f6e0]
lea rcx, [rsp + 0x30]
call fcn.14000b9c0
nop
cmp word [rdi], 0x5b
jne 0x140099aca
cmp word [rdi + 2], 0
jne 0x140099a1f
xor r8d, r8d
jmp 0x140099a2e
mov r8, r15
inc r8
cmp word [rdi + r8*2 + 2], 0
jne 0x140099a22
lea rdx, [rdi + 2]
lea rcx, [rsp + 0x30]
call fcn.14000b9c0
mov edx, 0x5d
xor r8d, r8d
lea rcx, [rsp + 0x30]
call fcn.14000bd60
xor r8d, r8d
lea rcx, [rsp + 0x30]
cmp rax, 0xffffffffffffffff
je 0x140099abe
mov r9, rax
lea rdx, [rsp + 0x58]
call fcn.14008d420
mov rdi, rax
lea rax, [rsp + 0x30]
cmp rax, rdi
je 0x140099aaa
cmp qword [rsp + 0x48], 8
jb 0x140099a88
mov rcx, qword [rsp + 0x30]
call fcn.1400fa318
mov qword [rsp + 0x48], 7
xor eax, eax
mov qword [rsp + 0x40], rax
mov word [rsp + 0x30], ax
mov rdx, rdi
lea rcx, [rsp + 0x30]
call fcn.14003d2b0
cmp qword [rsp + 0x70], 8
jb 0x140099aca
mov rcx, qword [rsp + 0x58]
call fcn.1400fa318
jmp 0x140099aca
lea rdx, [0x14013f6e0]
call fcn.14000b9c0
mov rcx, qword [0x140296cb8]
test rcx, rcx
jne 0x140099add
lea rcx, [0x140296cc0]
mov rax, qword [rcx]
call qword [rax + 0x18]
test eax, eax
jne 0x140099aeb
mov edi, esi
jmp 0x140099aef
xor eax, eax
mov edi, eax
xor edx, edx
lea rcx, str.SynTPEnhWndClass
call qword [sym.imp.USER32.dll_FindWindowW]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8023
mov rcx, rax
call qword [sym.imp.USER32.dll_SendMessageW]
test edi, edi
je 0x140099b33
mov rdx, qword [r13 + 0x1668]
test rdx, rdx
je 0x140099b27
xor r13d, r13d
jmp 0x140099b39
lea rdx, [r13 + 0x1670]
xor r13d, r13d
jmp 0x140099b39
xor r13d, r13d
mov edx, r13d
xor r8d, r8d
lea rcx, [rbp + 0x3a0]
call fcn.1400debf0
nop
mov dword [rbp + 0x81c], r14d
lea rcx, [rbp + 0x3a0]
cmp qword [rsp + 0x40], 0
jne 0x140099b6e
xor r9d, r9d
mov r8d, esi
xor edx, edx
call fcn.1400e0260
jmp 0x140099b8f
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rdx, qword [rsp + 0x30]
mov dword [rsp + 0x20], r13d
xor r9d, r9d
xor r8d, r8d
call fcn.1400dee70
mov dword [r12], esi
lea rcx, [rbp + 0x3a0]
call fcn.1400dedf0
nop
cmp qword [rsp + 0x48], 8
jb 0x140099eb7
mov rcx, qword [rsp + 0x30]
call fcn.1400fa318
jmp 0x140099eb7
movsxd rdi, dword [rbx - 0x10]
test edi, edi
jns 0x140099bce
mov ecx, 0x80070057
call fcn.140004d00
int3
mov esi, 1
mov ecx, esi
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x140099bf6
mov edx, edi
lea rcx, [rbp + 0xea8]
call fcn.14000d530
mov rbx, qword [rbp + 0xea8]
lea eax, [rdi + 1]
movsxd rdx, eax
mov rcx, rbx
call fcn.140102d24
cmp edi, dword [rbx - 0xc]
jg 0x140099ed0
mov dword [rbx - 0x10], edi
mov rax, rdi
xor edi, edi
mov word [rbx + rax*2], di
lea rdx, [0x140154398]
mov rcx, rbx
call fcn.1400fd558
test rax, rax
je 0x140099c53
mov edx, 0x1b1a
mov rcx, r13
call fcn.14009a6d0
xor r9d, r9d
xor r8d, r8d
mov edx, 0x47c
mov rcx, r14
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x140099eb5
lea rdx, [0x1401543a0]
mov rcx, rbx
call fcn.1400fd558
test rax, rax
je 0x140099c96
lea rdx, [rax + 6]
mov rcx, r13
call fcn.1400967f0
cmp eax, 0xffffffff
je 0x140099eb5
lea r8, str.1Multifinger_Gestures
mov edx, eax
lea rcx, [0x140295650]
call fcn.140096ef0
jmp 0x140099eb5
lea rdx, [0x1401543a8]
mov rcx, rbx
call fcn.1400fd558
test rax, rax
je 0x140099cc3
xor r9d, r9d
xor r8d, r8d
mov edx, 0x800b
mov rcx, r14
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x140099eb5
lea rdx, [0x1401543b0]
mov rcx, rbx
call fcn.1400fd558
test rax, rax
je 0x140099ce3
mov dword [r13 + 0x7f0], edi
jmp 0x140099eb5
lea rdx, [0x1401543b8]
mov rcx, rbx
call fcn.1400fd558
test rax, rax
je 0x140099d10
xor r9d, r9d
xor r8d, r8d
mov edx, 0x47d
mov rcx, r14
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x140099eb5
lea rdx, [0x1401543c0]
mov rcx, rbx
call fcn.1400fd558
test rax, rax
je 0x140099d3d
xor r9d, r9d
xor r8d, r8d
mov edx, 0x47e
mov rcx, r14
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x140099eb5
lea rdx, str._REGPLUGIN
mov rcx, rbx
call fcn.1400fd558
test rax, rax
je 0x140099d6a
xor r9d, r9d
xor r8d, r8d
mov edx, 0x800a
mov rcx, r14
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x140099eb5
lea rdx, str._PROFILES
mov rcx, rbx
call fcn.1400fd558
test rax, rax
je 0x140099d97
xor r9d, r9d
xor r8d, r8d
mov edx, 0x8028
mov rcx, r14
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x140099eb5
lea rdx, str._INFORMATION
mov rcx, rbx
call fcn.1400fd558
test rax, rax
je 0x140099dc4
xor r9d, r9d
xor r8d, r8d
mov edx, 0x802b
mov rcx, r14
call qword [sym.imp.USER32.dll_PostMessageW]
jmp 0x140099eb5
lea rdx, str._HELPER
mov rcx, rbx
call fcn.1400fd558
test rax, rax
je 0x140099e4a
lea rcx, [rbp + 0xeb0]
call fcn.140097de0
mov rcx, qword [rax]
lea rdx, [rbp + 0x190]
nop
movzx eax, word [rcx]
mov word [rdx], ax
lea rcx, [rcx + 2]
lea rdx, [rdx + 2]
test ax, ax
jne 0x140099df0
mov rdx, qword [rbp + 0xeb0]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140099e1e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, 0x104
lea rcx, [rbp + 0x190]
call fcn.1400ef5f0
xor r9d, r9d
xor r8d, r8d
mov edx, esi
lea rcx, [rbp + 0x190]
call fcn.1400f4dc0
mov rbx, qword [rbp + 0xea8]
lea rdx, str._OSDOEM
mov rcx, rbx
call fcn.1400fd558
test rax, rax
je 0x140099e94
lea rcx, [r13 + 0x1a0]
mov r8d, 0x104
lea rdx, [rbp - 0x80]
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov edx, 0x104
lea rcx, [rbp - 0x80]
call fcn.1400ef5f0
xor r9d, r9d
xor r8d, r8d
mov edx, esi
lea rcx, [rbp - 0x80]
call fcn.1400f4dc0
lea rdx, str._PROMO
mov rcx, rbx
call fcn.1400fd558
test rax, rax
je 0x140099eb5
mov edx, 0x8000
mov rcx, r14
call fcn.1400f4d40
mov edi, esi
lea rdx, [rbx - 0x18]
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140099ecc
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov eax, edi
jmp 0x140099edb
mov ecx, 0x80070057
call fcn.140004d00
nop
mov rbx, qword [rsp + 0xfa0]
add rsp, 0xf60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret