Function at 0x14002f290
Capabilities:
Check mutex on windows
Read .ini file

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1660
call fcn.140193d30
sub rsp, rax
mov qword [rsp + 0x158], 0xfffffffffffffffe
mov qword [rsp + 0x1698], rbx
mov qword [rsp + 0x16a0], rsi
mov rax, qword [0x140260d50]
xor rax, rsp
mov qword [rsp + 0x1650], rax
mov r12, rcx
mov qword [rsp + 0x58], rcx
xor r13d, r13d
mov dword [rsp + 0x78], r13d
xor r8d, r8d
lea rdx, str.CUNINSTALLERApp::InitInstance
lea rcx, [rsp + 0x30]
call fcn.14000b870
nop
mov r15d, r13d
mov dword [rsp + 0x50], r13d
call fcn.140014c60
cmp eax, 1
jne 0x14002f3c7
mov rdx, qword [r12 + 0x90]
lea rcx, [rsp + 0x68]
call fcn.140001110
nop
mov rax, qword [rsp + 0x68]
cmp dword [rax - 0x10], r13d
jl 0x14002f39c
lea rdx, [0x14021666c]
mov rcx, rax
call fcn.140190f4c
mov rdx, rax
test rax, rax
mov rax, qword [rsp + 0x68]
je 0x14002f355
sub rdx, rax
sar rdx, 1
cmp edx, 0xffffffff
jne 0x14002f382
cmp dword [rax - 0x10], 0
jl 0x14002f39c
lea rdx, [0x140210f60]
mov rcx, rax
call fcn.140190f4c
mov rdx, rax
test rax, rax
mov rax, qword [rsp + 0x68]
je 0x14002f39c
sub rdx, rax
sar rdx, 1
cmp edx, 0xffffffff
je 0x14002f39c
call fcn.14000e330
mov esi, 0x6a
cmp eax, 0x424
cmove r15d, esi
mov rax, qword [rsp + 0x68]
jmp 0x14002f3a2
mov r15d, 0x69
mov dword [rsp + 0x50], r15d
lea rdx, [rax - 0x18]
or rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002f3cb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14002f3cb
or rbx, 0xffffffffffffffff
mov dword [r12 + 0xa90], r13d
mov dword [rsp + 0x7c], r13d
lea rcx, str.kernel32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rcx, rax
lea rdx, str.IsWow64Process
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
je 0x14002f40d
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea rdx, [rsp + 0x7c]
call rdi
mov esi, r13d
mov eax, 0x10
cmp dword [rsp + 0x7c], r13d
cmovne esi, eax
call fcn.140015760
mov dword [r12 + 0x780], eax
test eax, eax
jne 0x14002f45e
call fcn.140014f20
test eax, eax
je 0x14002f45e
call fcn.140015280
test eax, eax
je 0x14002f45e
xor r9d, r9d
lea r8, str.return___08x
lea edx, [r9 + 2]
lea rcx, [rsp + 0x30]
call fcn.14000ba50
nop
jmp 0x140030669
lea r8, [rsp + 0xc10]
lea rdx, str.Uninst.ini
mov rcx, r12
call fcn.140034fe0
lea rdx, [rsp + 0xc10]
test rdx, rdx
je 0x14002f4ba
xor eax, eax
mov rcx, rbx
lea rdi, [rsp + 0xc10]
repne scasw ax, word [rdi]
not rcx
dec rcx
cmp ecx, 0x104
jae 0x14002f4ba
lea rcx, [r12 + 0x858]
lea r8, [rsp + 0xc10]
mov edx, 0x104
call fcn.140190fb0
test esi, esi
jne 0x14002f5e0
call fcn.140034e30
mov esi, eax
test eax, eax
jne 0x14002f5e0
mov esi, r13d
lea r8, str.h_PrinterDriverUnInstaller_PrevInstance
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexW]
mov rdi, rax
test rax, rax
je 0x14002f510
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x14002f507
cmp eax, 5
je 0x14002f507
mov r14d, 2
jmp 0x14002f519
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r14d, 2
mov esi, r14d
test esi, esi
jne 0x14002f5e6
mov esi, r13d
mov rax, qword [r12]
mov r8d, 1
lea rdx, str.h_PrinterDriver_Installer
mov rcx, r12
call qword [rax + 0x220]
test eax, eax
cmovne esi, r14d
test esi, esi
je 0x14002f5e6
mov rax, qword [r12]
mov r8d, 1
lea rdx, str.h_iWEMC_DRM_PrinterDriver_Installer
mov rcx, r12
call qword [rax + 0x220]
test eax, eax
je 0x14002f5e6
mov word [rsp + 0xe20], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xe22]
call fcn.140193010
lea rdx, [r12 + 0x858]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0xe20]
lea r8, [0x140216678]
lea rdx, str.CheckiWEMC_DRM
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [0x140216614]
lea rcx, [rsp + 0xe20]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov esi, r13d
test eax, eax
cmove esi, r14d
jmp 0x14002f5e6
mov r14d, 2
mov word [rsp + 0xa00], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xa02]
call fcn.140193010
lea rax, [r12 + 0x858]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [r12 + 0x370]
lea r8, str.UninsUI.dll
lea rdx, str.ResourceModule
lea rcx, str.ModuleInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea r8, [rsp + 0xa00]
lea rdx, [0x1402145dc]
mov rcx, r12
call fcn.140034fe0
lea rcx, [rsp + 0xa00]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea rdx, [r12 + 0x370]
lea rcx, [rsp + 0xa00]
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rdx, [rsp + 0xa00]
mov rcx, r12
call fcn.140034ef0
test eax, eax
cmovne esi, eax
cmp r15d, 0x69
jne 0x14002f84a
call fcn.14004cde4
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x14002f6b6
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x70], rax
lea rsi, [0x1402145dc]
mov rdi, rsi
shr rdi, 0x10
test rdi, rdi
jne 0x14002f6fc
movzx esi, si
mov ecx, esi
call fcn.14004cbb8
test rax, rax
je 0x14002f70e
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.1400012a0
jmp 0x14002f70e
xor r8d, r8d
mov rdx, rsi
lea rcx, [rsp + 0x70]
call fcn.1400014d0
jmp 0x14002f715
lea rsi, [0x1402145dc]
call fcn.14004cde4
mov rcx, rax
test rax, rax
setne r13b
test r13d, r13d
jne 0x14002f734
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x80], rax
test rdi, rdi
jne 0x14002f76f
movzx edi, si
mov ecx, edi
call fcn.14004cbb8
test rax, rax
je 0x14002f783
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.1400012a0
jmp 0x14002f783
xor r8d, r8d
mov rdx, rsi
lea rcx, [rsp + 0x80]
call fcn.1400014d0
nop
mov ecx, 0xa8c
call fcn.14004cbb8
test rax, rax
je 0x14002f7a5
mov r8d, 0xa8c
mov rdx, rax
lea rcx, [rsp + 0x70]
call fcn.1400012a0
mov ecx, 5
call fcn.14004cbb8
test rax, rax
je 0x14002f7ca
mov r8d, 5
mov rdx, rax
lea rcx, [rsp + 0x80]
call fcn.1400012a0
mov r9d, 0x10
mov rdi, qword [rsp + 0x80]
mov r8, rdi
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
mov dword [r12 + 0x270], 1
xor r9d, r9d
lea r8, str.return___08x
mov edx, r14d
lea rcx, [rsp + 0x30]
call fcn.14000ba50
nop
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002f827
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14002f845
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140030669
test esi, esi
jne 0x14002f869
lea rcx, [r12 + 0x798]
call fcn.1400472a0
mov r15d, 0x30
test eax, eax
cmovne esi, r15d
jmp 0x14002f86f
mov r15d, 0x30
lea rcx, str.conime.exe
call fcn.140012500
test eax, eax
jne 0x14002f888
lea ecx, [rax + 1]
call fcn.1400127c0
nop
mov ecx, 0x98
call fcn.14004ca70
mov qword [rsp + 0x88], rax
test rax, rax
je 0x14002f8b1
mov rdx, qword [r12 + 0x90]
mov rcx, rax
call fcn.1400020a0
jmp 0x14002f8b4
mov rax, r13
mov qword [r12 + 0x260], rax
mov rcx, rax
call fcn.140002480
mov rdx, qword [r12 + 0x260]
cmp dword [rdx + 0x48], 0
je 0x14002f905
xor r9d, r9d
lea r8d, [r9 + 9]
lea rdx, str.uninst.hlp
xor ecx, ecx
call qword [sym.imp.USER32.dll_WinHelpW]
xor r9d, r9d
lea r8, str.return___08x
mov edx, r14d
lea rcx, [rsp + 0x30]
call fcn.14000ba50
nop
jmp 0x140030669
cmp dword [rdx + 0x4c], 0
je 0x14002fb1f
mov rax, qword [r12 + 0x260]
mov ecx, 0x10
cmp dword [rax + 0x60], 0
je 0x14002f998
call fcn.14004ca70
mov rdi, rax
mov qword [rsp + 0x88], rax
test rax, rax
je 0x14002f962
lea rdx, [rsp + 0x118]
mov rcx, qword [r12 + 0x260]
call fcn.14002e040
nop
mov dword [rsp + 0x78], 1
mov rdx, qword [rax]
mov rcx, rdi
call fcn.140006cf0
jmp 0x14002f965
mov rax, r13
mov qword [r12 + 0x268], rax
test byte [rsp + 0x78], 1
je 0x14002f9e6
mov rdx, qword [rsp + 0x118]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002f9e6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14002f9e6
call fcn.14004ca70
mov rdi, rax
test rax, rax
je 0x14002f9db
call fcn.14004cde4
mov r11, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x14002f9c5
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rdi + 8], rax
mov qword [rdi], r13
jmp 0x14002f9de
mov rdi, r13
mov qword [r12 + 0x268], rdi
call fcn.14004cde4
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x14002fa06
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x98], rdi
mov ecx, 0x3b
call fcn.14004cbb8
test rax, rax
je 0x14002fa48
mov r8d, 0x3b
mov rdx, rax
lea rcx, [rsp + 0x98]
call fcn.1400012a0
mov rdi, qword [rsp + 0x98]
mov rdx, rdi
mov rcx, qword [r12 + 0x268]
call fcn.140006da0
lea rdx, [rsp + 0x110]
mov rcx, qword [r12 + 0x260]
call fcn.14002e070
nop
mov r8, rax
lea rdx, str.UNINSTAL.EXE
lea rcx, [rsp + 0x128]
call fcn.140035100
nop
mov rdx, qword [rax]
mov rcx, qword [r12 + 0x268]
call fcn.140006da0
nop
mov rdx, qword [rsp + 0x128]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002faba
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x110]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002fadc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [0x1402145dc]
mov rcx, qword [r12 + 0x268]
call fcn.140006da0
nop
mov rdx, qword [rsp + 0x98]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002fb1f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14002fb1f
mov rcx, qword [r12 + 0x260]
call fcn.140004140
test eax, eax
je 0x14002fb9b
lea rdx, [rsp + 0x108]
mov rcx, qword [r12 + 0x260]
call fcn.14002e0a0
nop
mov rdx, qword [rax]
mov rcx, r12
call fcn.1400340d0
nop
mov rdx, qword [rsp + 0x108]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14002fb72
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov dword [r12 + 0x270], 1
xor r9d, r9d
lea r8, str.return___08x
mov edx, r14d
lea rcx, [rsp + 0x30]
call fcn.14000ba50
nop
jmp 0x140030669
cmp esi, 0x20
je 0x14002fbb2
cmp esi, 0x21
je 0x14002fbb2
cmp dword [rsp + 0x50], 0x6a
mov eax, 0x6a
cmove esi, eax
call fcn.14004cde4
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x14002fbd2
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
call fcn.14004cde4
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x14002fc04
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
test esi, esi
je 0x14002fcd1
add esi, 0xfffffffe
cmp esi, 0x68
ja case.0x14002fc3f.3
lea rdx, [0x140000000]
movzx eax, byte [rdx + rsi + 0x306c0]
mov ecx, dword [rdx + rax*4 + 0x306a4]
add rcx, rdx
jmp rcx
mov edx, 0x48
jmp 0x14002fc71
mov edx, 0x44
lea r9d, [rdx - 0x34]
lea r8d, [rdx - 0x3f]
jmp 0x14002fc7a
mov edx, 0x9ca
jmp 0x14002fc71
mov edx, 0x9cb
jmp 0x14002fc71
mov edx, 0xa8d
jmp 0x14002fc71
mov edx, 0x96
mov r8d, 3
mov r9d, r15d
mov rcx, r12
call fcn.140033d80
mov dword [r12 + 0x270], 1
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002fcae
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14002fccc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140030669
mov rax, qword [r12 + 0x7a8]
call qword [rax + 0xa0]
test eax, eax
jne 0x14002fd5c
mov r9d, r15d
lea edx, [rax + 9]
lea r8d, [rax + 3]
mov rcx, r12
call fcn.140033d80
mov dword [r12 + 0x270], 1
xor r9d, r9d
lea r8, str.return___08x
mov edx, r14d
lea rcx, [rsp + 0x30]
call fcn.14000ba50
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002fd39
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14002fd57
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140030669
mov rcx, r12
call fcn.1400307c0
test eax, eax
jne 0x14002fddb
mov dword [r12 + 0x270], 1
xor r9d, r9d
lea r8, str.return___08x
mov edx, r14d
lea rcx, [rsp + 0x30]
call fcn.14000ba50
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002fdac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14002fdca
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x30]
call fcn.14000ba00
xor eax, eax
jmp 0x140030675
call fcn.14000e330
cmp eax, 4
je 0x14002fe62
mov r9d, r15d
mov edx, 0x84
mov r8d, 3
mov rcx, r12
call fcn.140033d80
mov dword [r12 + 0x270], 1
xor r9d, r9d
lea r8, str.return___08x
mov edx, r14d
lea rcx, [rsp + 0x30]
call fcn.14000ba50
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002fe3f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14002fe5d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140030669
call fcn.140010040
mov dword [r12 + 0xa8c], 1
mov rcx, qword [r12 + 0x260]
mov eax, r13d
cmp dword [rcx + 0x4c], eax
sete al
mov dword [0x140280b48], eax
mov eax, dword [rcx + 0x4c]
test eax, eax
je 0x14002fe97
cmp dword [rcx + 0x64], 0
jne 0x14002ff04
call fcn.14001a320
cmp eax, 1
jne 0x14002ff04
mov dword [r12 + 0x270], eax
xor r9d, r9d
lea r8, str.return___08x
mov edx, r14d
lea rcx, [rsp + 0x30]
call fcn.14000ba50
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002fee1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14002feff
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140030669
mov rax, qword [r12 + 0x260]
cmp dword [rax + 0x4c], 0
je 0x14003058a
mov ecx, 0x888
call fcn.14004ca70
mov qword [rsp + 0x88], rax
test rax, rax
je 0x14002ff3f
mov rcx, rax
call fcn.140035550
mov r15, rax
mov qword [rsp + 0x50], rax
jmp 0x14002ff47
mov r15, r13
mov qword [rsp + 0x50], r13
mov qword [rsp + 0x88], r15
mov rax, qword [r15]
xor r8d, r8d
lea edx, [r8 + 0x66]
mov rcx, r15
call qword [rax + 0x2c0]
test eax, eax
jne 0x14002ffd9
mov dword [r12 + 0x270], 1
xor r9d, r9d
lea r8, str.return___08x
mov edx, r14d
lea rcx, [rsp + 0x30]
call fcn.14000ba50
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14002ffaa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x14002ffc8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x30]
call fcn.14000ba00
xor eax, eax
jmp 0x140030675
mov qword [r12 + 0x40], r15
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov rcx, qword [r15 + 0x158]
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
jle 0x140030093
mov rax, qword [r12 + 0x260]
cmp dword [rax + 0x50], 0
jne 0x140030028
cmp dword [rax + 0x58], 0
jne 0x140030028
cmp dword [rax + 0x5c], 0
jne 0x140030028
cmp dword [rax + 0x6c], 0
jne 0x140030028
cmp dword [rax + 0x70], 0
je 0x1400303c3
call fcn.140062138
test rax, rax
je 0x140030040
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe8]
jmp 0x140030043
mov rax, r13
xor r9d, r9d
mov edx, 0x111
mov r8d, 0x3ea
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
call fcn.140062138
test rax, rax
je 0x140030073
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe8]
jmp 0x140030076
mov rax, r13
xor r9d, r9d
mov edx, 0x111
mov r8d, 0x3eb
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400303c3
mov r15, qword [r12 + 0x260]
mov edx, dword [r15 + 0x6c]
test edx, edx
je 0x140030295
xor eax, eax
lea rdi, [0x140214e04]
mov rsi, qword [r12 + 0x1c8]
mov rcx, r14
repe cmpsw word [rsi], word [rdi]
je 0x1400300c5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
je 0x140030295
mov word [rsp + 0x1240], r13w
xor edx, edx
mov r8d, 0x40e
lea rcx, [rsp + 0x1242]
call fcn.140193010
lea rdx, [rsp + 0x100]
mov rcx, r15
call fcn.14000cbe0
mov rcx, qword [rax]
lea rdx, [rsp + 0x1240]
nop dword [rax + rax]
movzx eax, word [rcx]
mov word [rdx], ax
add rcx, 2
add rdx, 2
test ax, ax
jne 0x140030110
mov rdx, qword [rsp + 0x100]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140030145
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.14004cde4
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140030165
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xe8], rax
mov word [rsp + 0x1030], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1032]
call fcn.140193010
lea r9, [rsp + 0x1030]
lea r8, [rsp + 0xe8]
lea rdx, [rsp + 0x1240]
mov rcx, qword [r12 + 0x40]
call fcn.140037270
test eax, eax
je 0x1400301f6
call fcn.140062138
test rax, rax
je 0x1400301d6
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe8]
jmp 0x1400301d9
mov rax, r13
xor r9d, r9d
mov edx, 0x111
mov r8d, 0x3eb
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140030284
call fcn.14004cde4
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140030216
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0xc0], rdi
mov ecx, 0x37
call fcn.14004cbb8
test rax, rax
je 0x140030258
mov r8d, 0x37
mov rdx, rax
lea rcx, [rsp + 0xc0]
call fcn.1400012a0
mov rdi, qword [rsp + 0xc0]
mov rdx, rdi
mov rcx, qword [r12 + 0x268]
call fcn.140006da0
nop
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140030284
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xe8]
add rdx, 0xffffffffffffffe8
jmp 0x1400303a8
cmp dword [r15 + 0x58], 0
jne 0x140030331
cmp dword [r15 + 0x5c], 0
jne 0x140030331
cmp dword [r15 + 0x50], 0
jne 0x140030331
test edx, edx
jne 0x140030331
cmp dword [r15 + 0x70], edx
jne 0x140030331
call fcn.14004cde4
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x1400302dc
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0xe0], rdi
mov ecx, 0x37
call fcn.14004cbb8
test rax, rax
je 0x14003031e
mov r8d, 0x37
mov rdx, rax
lea rcx, [rsp + 0xe0]
call fcn.1400012a0
mov rdi, qword [rsp + 0xe0]
mov rdx, rdi
mov rcx, qword [r12 + 0x268]
call fcn.140006da0
nop
jmp 0x1400303a4
call fcn.14004cde4
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140030351
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0xd0], rdi
mov ecx, 0x37
call fcn.14004cbb8
test rax, rax
je 0x140030393
mov r8d, 0x37
mov rdx, rax
lea rcx, [rsp + 0xd0]
call fcn.1400012a0
mov rdi, qword [rsp + 0xd0]
mov rdx, rdi
mov rcx, qword [r12 + 0x268]
call fcn.140006da0
nop
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400303be
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r15, qword [rsp + 0x50]
mov rax, qword [r12 + 0x260]
cmp dword [rax + 0x54], 0
je 0x1400304b2
lea rdx, [0x14021675c]
mov rcx, qword [r12 + 0x1c8]
call fcn.14018ea5c
test eax, eax
jne 0x140030425
call fcn.140062138
mov rcx, rax
test rax, rax
je 0x140030405
mov rax, qword [rax]
call qword [rax + 0xe8]
jmp 0x140030408
mov rax, r13
xor r9d, r9d
mov edx, 0x111
mov r8d, 0x3ed
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x1400304b2
call fcn.14004cde4
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140030445
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0xf0], rdi
mov ecx, 0x3a
call fcn.14004cbb8
test rax, rax
je 0x140030487
mov r8d, 0x3a
mov rdx, rax
lea rcx, [rsp + 0xf0]
call fcn.1400012a0
mov rdi, qword [rsp + 0xf0]
mov rdx, rdi
mov rcx, qword [r12 + 0x268]
call fcn.140006da0
nop
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400304b2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140062138
mov rcx, rax
test rax, rax
je 0x1400304cb
mov rax, qword [rax]
call qword [rax + 0xe8]
mov r13, rax
xor r9d, r9d
xor r8d, r8d
mov edx, r14d
mov rcx, qword [r13 + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
test r15, r15
je 0x1400304f2
mov rax, qword [r15]
mov edx, 1
mov rcx, r15
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x1400305cd
lea rcx, [rsp + 0x170]
call fcn.140035550
nop
lea rax, [rsp + 0x170]
mov qword [r12 + 0x40], rax
lea rcx, [rsp + 0x170]
call fcn.14005c630
nop
lea rcx, [rsp + 0x170]
call fcn.140030730
nop
jmp 0x1400305cd
xor r9d, r9d
lea r8, str.return___08x
mov edx, r14d
lea rcx, [rsp + 0x30]
call fcn.14000ba50
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140030605
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
dec ebx
test ebx, ebx
jg 0x140030623
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140030669
lea rcx, [rsp + 0x30]
call fcn.14000ba00
xor eax, eax
mov rcx, qword [rsp + 0x1650]
xor rcx, rsp
call fcn.14018e5d0
lea r11, [rsp + 0x1660]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret