Function at 0x140036a90
Capabilities:
Check mutex on windows
Extract resource via kernel32 functions
Get geographical location
Identify system language via api
Read .ini file

Disassembly:
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x1ca0
call fcn.14019e810
sub rsp, rax
mov qword [rsp + 0x238], 0xfffffffffffffffe
mov qword [rsp + 0x1cd8], rbx
mov qword [rsp + 0x1ce0], rsi
mov rax, qword [0x14026fdb0]
xor rax, rsp
mov qword [rsp + 0x1c90], rax
mov r12, rcx
mov qword [rsp + 0x60], rcx
xor r13d, r13d
mov dword [rsp + 0xcc], r13d
xor r8d, r8d
lea rdx, str.CUNINSTALLERApp::InitInstance
lea rcx, [rsp + 0x40]
call fcn.140001190
nop
mov edi, r13d
mov dword [rsp + 0x80], r13d
call fcn.14001e9e0
cmp eax, 1
jne 0x140036be2
mov rdx, qword [r12 + 0x90]
lea rcx, [rsp + 0xa8]
call fcn.1400054e0
nop
mov rax, qword [rsp + 0xa8]
cmp dword [rax - 0x10], r13d
jl 0x140036bb7
lea rdx, [0x14022259c]
mov rcx, rax
call fcn.1401998b4
mov rdx, rax
test rax, rax
mov rax, qword [rsp + 0xa8]
je 0x140036b64
sub rdx, rax
sar rdx, 1
cmp edx, 0xffffffff
jne 0x140036b94
cmp dword [rax - 0x10], 0
jl 0x140036bb7
lea rdx, [0x14021d0b8]
mov rcx, rax
call fcn.1401998b4
mov rdx, rax
test rax, rax
mov rax, qword [rsp + 0xa8]
je 0x140036bb7
sub rdx, rax
sar rdx, 1
cmp edx, 0xffffffff
je 0x140036bb7
call fcn.140017e00
mov ebx, 0x6a
cmp eax, 0x424
cmove edi, ebx
mov dword [rsp + 0x80], edi
mov rax, qword [rsp + 0xa8]
jmp 0x140036bc2
mov dword [rsp + 0x80], VarBstrFromDisp
lea rdx, [rax - 0x18]
or rsi, 0xffffffffffffffff
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140036be6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140036be6
or rsi, 0xffffffffffffffff
mov dword [r12 + 0xa88], r13d
mov dword [rsp + 0xc0], 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 0x140036c2e
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea rdx, [rsp + 0xc0]
call rdi
mov ebx, r13d
mov r15d, 0x10
cmp dword [rsp + 0xc0], ebx
cmovne ebx, r15d
mov dword [rsp + 0x30], ebx
call fcn.14001f4e0
mov dword [r12 + 0x778], eax
test eax, eax
jne 0x140036c87
call fcn.14001eca0
test eax, eax
je 0x140036c87
call fcn.14001f000
test eax, eax
je 0x140036c87
xor r9d, r9d
lea r8, str.return___08x
lea edx, [r15 - 0xe]
lea rcx, [rsp + 0x40]
call fcn.140001370
nop
jmp 0x140038e3a
xor edx, edx
mov r8d, 0x208
lea rcx, [rsp + 0x1250]
call fcn.14019d7c0
lea r8, [rsp + 0x1250]
lea rdx, str.Uninst.ini
mov rcx, r12
call fcn.14003dc50
lea rdx, [rsp + 0x1250]
test rdx, rdx
je 0x140036cf8
xor eax, eax
mov rcx, rsi
lea rdi, [rsp + 0x1250]
repne scasw ax, word [rdi]
not rcx
dec rcx
cmp ecx, 0x104
jae 0x140036cf8
lea rcx, [r12 + 0x850]
lea r8, [rsp + 0x1250]
mov edx, 0x104
call fcn.14019a840
test ebx, ebx
jne 0x140036e2e
call fcn.14003daa0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140036e2e
mov ebx, r13d
mov dword [rsp + 0x30], ebx
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 0x140036d54
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x140036d4b
cmp eax, 5
je 0x140036d4b
mov r14d, 2
jmp 0x140036d61
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r14d, 2
mov ebx, r14d
mov dword [rsp + 0x30], ebx
test ebx, ebx
jne 0x140036e2e
mov ebx, 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 ebx, r14d
mov dword [rsp + 0x30], ebx
test ebx, ebx
je 0x140036e2e
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 0x140036e2e
mov word [rsp + 0x1460], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1462]
call fcn.14019d7c0
lea rdx, [r12 + 0x850]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x104
lea r9, [rsp + 0x1460]
lea r8, [0x1402225a8]
lea rdx, str.CheckiWEMC_DRM
lea rcx, str.Profiles
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rdx, [0x140222524]
lea rcx, [rsp + 0x1460]
call qword [sym.imp.KERNEL32.dll_lstrcmpiW]
mov edx, r13d
test eax, eax
cmove edx, r14d
mov dword [rsp + 0x30], edx
mov r14d, 2
mov word [rsp + 0xe30], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xe32]
call fcn.14019d7c0
lea rbx, [r12 + 0x368]
lea rax, [r12 + 0x850]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
mov r9, rbx
lea r8, str.UninsUI.dll
lea rdx, str.ResourceModule
lea rcx, str.ModuleInfo
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov word [rsp + 0x1040], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1042]
call fcn.14019d7c0
mov dword [rsp + 0xc8], r13d
lea r8, [rsp + 0x1040]
lea rdx, str.UninstLocale.ini
mov rcx, r12
call fcn.14003dc50
xor eax, eax
mov rcx, rsi
lea rdi, [rsp + 0x1040]
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, [rsp + 0x1040]
lea rcx, [r12 + 0xab8]
call fcn.1400059f0
mov word [rsp + 0xb50], r13w
xor eax, eax
mov qword [rsp + 0xb52], rax
mov qword [rsp + 0xb5a], rax
mov qword [rsp + 0xb62], rax
mov dword [rsp + 0xb6a], eax
mov word [rsp + 0xb6e], ax
lea rax, [rsp + 0x1040]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r15d
lea r9, [rsp + 0xb50]
xor r8d, r8d
lea rdx, str.CurrentLocaleID
lea rcx, str.Locale
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea r15, [r12 + 0xab0]
test rbx, rbx
jne 0x140036f6b
mov ecx, r13d
jmp 0x140036f7c
xor eax, eax
mov rcx, rsi
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
dec rcx
mov r8d, ecx
mov rdx, rbx
mov rcx, r15
call fcn.1400059f0
mov rcx, qword [r15]
cmp dword [rcx - 0x10], 0
jl 0x140037e24
lea rdx, [0x14021db24]
call fcn.1401998b4
test rax, rax
je 0x140037e24
sub rax, qword [r15]
sar rax, 1
test eax, eax
js 0x140037e24
mov word [rsp + 0xc20], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0xc22]
call fcn.14019d7c0
lea r8, [rsp + 0xc20]
lea rdx, [0x1402209ac]
mov rcx, r12
call fcn.14003dc50
lea rcx, [rsp + 0xc20]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x14003701d
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0xa0], rbx
lea rcx, [rsp + 0xc20]
lea rax, [rsp + 0xc20]
test rax, 0xffffffffffff0000
jne 0x140037075
movzx edi, cx
mov ecx, edi
call fcn.140056158
test rax, rax
je 0x14003718d
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0xa0]
call fcn.140005730
jmp 0x14003718d
xor eax, eax
mov rcx, rsi
lea rdi, [rsp + 0xc20]
repne scasw ax, word [rdi]
not rcx
dec rcx
mov rdi, rcx
test ecx, ecx
jne 0x1400370f4
lea rdx, [rbx - 0x18]
mov rdi, qword [rdx]
cmp dword [rdx + 8], eax
je 0x14003718d
cmp dword [rdx + 0x10], eax
jge 0x1400370c4
cmp dword [rbx - 0xc], eax
jge 0x1400370b7
mov ecx, 0x80070057
call fcn.140004550
int3
mov dword [rbx - 0x10], r13d
mov word [rbx], r13w
jmp 0x14003718d
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400370da
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xa0], rax
jmp 0x14003718d
mov r15d, dword [rbx - 0x10]
lea r14, [rsp + 0xc20]
sub r14, rbx
sar r14, 1
test ecx, ecx
jns 0x140037115
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14003713d
mov edx, edi
lea rcx, [rsp + 0xa0]
call fcn.140005ae0
mov rbx, qword [rsp + 0xa0]
movsxd rax, edi
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
add rdx, rdx
cmp r14, r15
lea r15, [rax + rax]
mov r9, r15
ja 0x140037161
lea r8, [rbx + r14*2]
call fcn.140199418
jmp 0x14003716e
lea r8, [rsp + 0xc20]
call fcn.140199918
cmp edi, dword [rbx - 0xc]
jg 0x140037e19
mov dword [rbx - 0x10], edi
mov word [r15 + rbx], r13w
mov r14d, 2
lea r15, [r12 + 0xab0]
mov edx, 0xa
lea rcx, [rsp + 0x288]
call fcn.14006cb94
nop
mov edx, 0xa
lea rcx, [rsp + 0x250]
call fcn.14006cb94
nop
lea rcx, [rsp + 0x1e8]
call fcn.140069bc0
nop
mov r8, r15
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x1d0]
call fcn.140012280
nop
xor r8d, r8d
mov rdx, qword [rax]
lea rcx, [rsp + 0x1e8]
call fcn.140069cc8
mov edi, eax
mov rdx, qword [rsp + 0x1d0]
add rdx, 0xffffffffffffffe8
mov ecx, esi
lock xadd dword [rdx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140037211
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [r15]
cmp dword [rcx - 0x10], 0
jg 0x14003721e
mov ebx, esi
jmp 0x14003723a
mov edx, 0x2a
call fcn.140199ab0
mov rbx, rax
test rax, rax
jne 0x140037234
mov ebx, esi
jmp 0x14003723a
sub rbx, qword [r15]
sar rbx, 1
mov qword [rsp + 0x78], rbx
test edi, edi
jne 0x140037390
mov dword [rsp + 0xc8], 1
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140037272
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xe0], rax
lea rdx, str.Resource_
test rdx, 0xffffffffffff0000
jne 0x1400372bb
movzx edi, dx
mov ecx, edi
call fcn.140056158
test rax, rax
je 0x1400372cf
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0xe0]
call fcn.140005730
jmp 0x1400372cf
mov r8d, 9
lea rcx, [rsp + 0xe0]
call fcn.1400059f0
nop
lea r8, [rsp + 0xe0]
lea rdx, [rsp + 0xa0]
lea rcx, [rsp + 0x1e0]
call fcn.140012280
nop
mov r8, r15
mov rdx, rax
lea rcx, [rsp + 0x1c8]
call fcn.140012280
nop
xor r8d, r8d
mov rdx, qword [rax]
lea rcx, [rsp + 0x1e8]
call fcn.140069cc8
mov edi, eax
mov rdx, qword [rsp + 0x1c8]
add rdx, 0xffffffffffffffe8
mov ecx, esi
lock xadd dword [rdx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140037339
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x1e0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003735c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xe0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003737e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test edi, edi
je 0x1400376fe
nop word [rax + rax]
lea rcx, [rsp + 0x1e8]
call fcn.1400696e8
mov edi, eax
mov dword [rsp + 0xc4], eax
mov edx, 0x10
lea rcx, [rsp + 0x1e8]
mov rax, qword [rsp + 0x1e8]
call qword [rax + VarBstrFromDisp]
test eax, eax
jne 0x1400376cc
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x1e8]
call fcn.14006a130
mov r8d, r14d
xor edx, edx
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov r15, rax
mov rdx, qword [rsp + 0x1a0]
add rdx, 0xffffffffffffffe8
mov ecx, esi
lock xadd dword [rdx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14003740e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test r15, r15
je 0x1400376cc
mov edx, 0x12f7
mov r8d, 0xa
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FindResourceW]
test rax, rax
je 0x1400376c3
mov rdx, rax
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x1400376c3
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
movzx edi, word [rax]
call fcn.140056384
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x1400376eb
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0x128], rax
mov r8d, edi
lea rdx, [0x14021d1b4]
lea rcx, [rsp + 0x128]
call fcn.14000bfe0
lea rdx, [rsp + 0x88]
lea rcx, [rsp + 0x1e8]
call fcn.14006a1fc
nop
mov rax, qword [rsp + 0x88]
cmp dword [rax - 0x10], 0
jg 0x1400374bf
mov eax, esi
jmp 0x1400374e5
mov edx, 0x2e
mov rcx, qword [rsp + 0x88]
call fcn.140199ab0
test rax, rax
jne 0x1400374da
mov eax, esi
jmp 0x1400374e5
sub rax, qword [rsp + 0x88]
sar rax, 1
cmp eax, ebx
jle 0x140037677
sub eax, ebx
mov r9d, eax
mov r8d, ebx
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x88]
call fcn.14000b960
nop
mov rdx, qword [rsp + 0x128]
lea rcx, [rsp + 0x288]
call fcn.14006ceac
mov rbx, rax
mov rdx, qword [rsp + 0x88]
lea rcx, [rdx - 0x18]
mov rdi, qword [rax]
sub rdi, 0x18
cmp rcx, rdi
je 0x14003757f
cmp dword [rdi + 0x10], 0
jl 0x140037573
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140037573
call fcn.140006db0
mov r14, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14003756a
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [r14 + 0x18]
mov qword [rbx], rax
jmp 0x14003757f
mov r8d, dword [rdx - 0x10]
mov rcx, rbx
call fcn.1400059f0
mov rdi, qword [rsp + 0xf0]
movsxd rbx, dword [rdi - 0x10]
test ebx, ebx
js 0x1400376e0
mov ecx, 1
sub ecx, dword [rdi - 8]
mov eax, dword [rdi - 0xc]
sub eax, ebx
or eax, ecx
jge 0x1400375bb
mov edx, ebx
lea rcx, [rsp + 0xf0]
call fcn.140005ae0
mov rdi, qword [rsp + 0xf0]
lea eax, [rbx + 1]
movsxd rdx, eax
mov rcx, rdi
call fcn.1401998ac
cmp ebx, dword [rdi - 0xc]
jg 0x1400376d5
mov dword [rdi - 0x10], ebx
mov word [rdi + rbx*2], r13w
mov rdx, rdi
lea rcx, [rsp + 0x250]
call fcn.14006ceac
mov r14, rax
mov rdx, qword [rsp + 0x88]
lea rcx, [rdx - 0x18]
mov rbx, qword [rax]
sub rbx, 0x18
cmp rcx, rbx
je 0x140037652
cmp dword [rbx + 0x10], 0
jl 0x140037645
mov r8, qword [rbx]
cmp qword [rcx], r8
jne 0x140037645
call fcn.140006db0
mov rdi, rax
mov ecx, esi
lock xadd dword [rbx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140037634
mov rcx, qword [rbx]
mov rax, qword [rcx]
mov rdx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rdi + 0x18]
mov qword [r14], rax
mov rdi, qword [rsp + 0xf0]
jmp 0x140037652
mov r8d, dword [rdx - 0x10]
mov rcx, rax
call fcn.1400059f0
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003766c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, 2
mov rbx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x88]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003769a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x128]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400376bc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edi, dword [rsp + 0xc4]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test edi, edi
je 0x1400376f6
jmp 0x140037390
mov ecx, 0x80070057
call fcn.140004550
int3
mov ecx, 0x80070057
call fcn.140004550
nop
mov ecx, 0x80004005
call fcn.140004550
int3
lea r15, [r12 + 0xab0]
call qword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx ebx, ax
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140037727
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x68], rax
mov rcx, qword [r15]
sub rcx, 0x18
call fcn.140006db0
add rax, 0x18
mov qword [rsp + 0x38], rax
lea r8, str.en_US
lea rdx, [0x14021db24]
lea rcx, [rsp + 0x38]
call fcn.140014f00
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0xb50]
lea rcx, [rsp + 0x288]
call fcn.14006ccb0
test eax, eax
je 0x1400377ef
mov rdx, qword [rsp + 0x68]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x38]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x140037d70
cmp dword [rdi + 0x10], 0
jl 0x1400377dc
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x1400377dc
call fcn.140006db0
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1400377ce
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x38], rax
jmp 0x140037d70
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.1400059f0
jmp 0x140037d70
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x14003780f
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x110], rax
mov r8d, ebx
lea rdx, [0x14021d1b4]
lea rcx, [rsp + 0x110]
call fcn.14000bfe0
lea r8, [rsp + 0x68]
mov rdx, qword [rsp + 0x110]
lea rcx, [rsp + 0x288]
call fcn.14006ccb0
test eax, eax
je 0x1400378c4
mov rdx, qword [rsp + 0x68]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x38]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x140037d4e
cmp dword [rdi + 0x10], 0
jl 0x1400378b1
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x1400378b1
call fcn.140006db0
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1400378a3
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x38], rax
jmp 0x140037d4e
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.1400059f0
jmp 0x140037d4e
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rdi, r13
test rax, rax
je 0x1400378ec
lea rdx, str.GetUserPreferredUILanguages
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
mov word [rsp + 0xb70], r13w
xor edx, edx
mov r8d, 0xa8
lea rcx, [rsp + 0xb72]
call fcn.14019d7c0
mov r9d, 0x55
lea r8, [rsp + 0xb70]
mov ecx, ebx
test rdi, rdi
je 0x140037b82
lea edx, [r9 + 0x18]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
lea rdx, [rsp + 0xb70]
lea rcx, [rsp + 0x100]
call fcn.1400054e0
nop
lea rcx, [rsp + 0x100]
call fcn.140005620
lea r8, [rsp + 0x68]
mov rdx, qword [rsp + 0x100]
lea rcx, [rsp + 0x250]
call fcn.14006ccb0
test eax, eax
je 0x1400379d9
mov rdx, qword [rsp + 0x68]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x38]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x140037b57
cmp dword [rdi + 0x10], 0
jl 0x1400379c6
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x1400379c6
call fcn.140006db0
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x1400379b8
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x38], rax
jmp 0x140037b57
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.1400059f0
jmp 0x140037b57
mov dword [rsp + 0x90], r13d
mov dword [rsp + 0x70], r13d
lea r9, [rsp + 0x90]
xor r8d, r8d
lea rdx, [rsp + 0x70]
lea ecx, [r8 + 8]
call rdi
mov edx, dword [rsp + 0x90]
mov rax, r14
mul rdx
cmovo rax, rsi
mov rcx, rax
call fcn.140056054
mov r14, rax
test rax, rax
je 0x140037b57
lea r9, [rsp + 0x90]
mov r8, rax
lea rdx, [rsp + 0x70]
mov ecx, 8
call rdi
test eax, eax
je 0x140037b4e
mov rdi, r14
mov ebx, r13d
cmp dword [rsp + 0x70], ebx
jbe 0x140037b4e
mov rdx, rdi
lea rcx, [rsp + 0xf8]
call fcn.1400054e0
nop
lea rcx, [rsp + 0xf8]
call fcn.140005620
lea r8, [rsp + 0x68]
mov rdx, qword [rsp + 0xf8]
lea rcx, [rsp + 0x250]
call fcn.14006ccb0
test eax, eax
jne 0x140037acc
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
inc eax
cdqe
lea rdi, [rdi + rax*2]
mov rdx, qword [rsp + 0xf8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140037abf
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
inc ebx
cmp ebx, dword [rsp + 0x70]
jb 0x140037a50
jmp 0x140037b4e
mov rdx, qword [rsp + 0x68]
lea rcx, [rdx - 0x18]
mov rdi, qword [rsp + 0x38]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x140037b2c
cmp dword [rdi + 0x10], 0
jl 0x140037b1d
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x140037b1d
call fcn.140006db0
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140037b12
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x38], rax
jmp 0x140037b2c
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.1400059f0
nop
mov rdx, qword [rsp + 0xf8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140037b4e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, r14
call fcn.14005605c
nop
mov rdx, qword [rsp + 0x100]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140037d4e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140037d4e
mov edx, 0x59
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov rdx, qword [rsp + 0x268]
neg rdx
sbb rax, rax
mov qword [rsp + 0x158], rax
je 0x140037d4e
nop dword [rax]
call fcn.140056384
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x140037d43
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0xd0], rax
call fcn.140056384
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
je 0x140037d38
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rsp + 0xb0], rax
lea r9, [rsp + 0xb0]
lea r8, [rsp + 0xd0]
lea rdx, [rsp + 0x158]
lea rcx, [rsp + 0x250]
call fcn.14006cce4
mov r8, r14
mov rdx, qword [rsp + 0xd0]
lea rcx, [rsp + 0xb70]
call fcn.140199c9c
test eax, eax
je 0x140037ca0
mov rdx, qword [rsp + 0xb0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140037c6a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xd0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140037c8c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp qword [rsp + 0x158], 0
jne 0x140037bb0
jmp 0x140037d4e
mov rax, qword [rsp + 0xb0]
lea rdx, [rax - 0x18]
mov rdi, qword [rsp + 0x38]
add rdi, 0xffffffffffffffe8
cmp rdx, rdi
je 0x140037d10
cmp dword [rdi + 0x10], 0
jl 0x140037cf7
mov rcx, qword [rdi]
cmp qword [rdx], rcx
jne 0x140037cf7
mov rcx, rdx
call fcn.140006db0
mov rbx, rax
mov ecx, esi
lock xadd dword [rdi + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x140037cec
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x38], rax
jmp 0x140037d08
mov r8d, dword [rax - 0x10]
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.1400059f0
mov rax, qword [rsp + 0xb0]
lea rdx, [rax - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140037d2b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xd0]
jmp 0x140037b5f
mov ecx, 0x80004005
call fcn.140004550
nop
mov ecx, 0x80004005
call fcn.140004550
nop
mov rdx, qword [rsp + 0x110]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140037d70
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdi, qword [rsp + 0x38]
mov rdx, rdi
lea rbx, [r12 + 0x368]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcpyW]
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140037da5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140037dc5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x1e8]
call fcn.140069c20
nop
lea rcx, [rsp + 0x250]
call fcn.14006cca0
nop
lea rcx, [rsp + 0x288]
call fcn.14006cca0
nop
mov rdx, qword [rsp + 0xa0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140037e11
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov r14d, 2
jmp 0x140037e24
mov ecx, 0x80070057
call fcn.140004550
nop
lea r15, [0x1402209ac]
lea r8, [rsp + 0xe30]
mov rdx, r15
mov rcx, r12
call fcn.14003dc50
lea rcx, [rsp + 0xe30]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
cmp dword [rsp + 0xc8], 0
je 0x140037e93
lea rdi, [rsp + 0xe30]
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
mov rax, qword [str.Resource_]
mov qword [rdi - 2], rax
mov rax, qword [0x140222518]
mov qword [rdi + 6], rax
mov eax, dword [0x140222520]
mov dword [rdi + 0xe], eax
lea rcx, [rsp + 0xe30]
call qword [sym.imp.SHLWAPI.dll_PathAddBackslashW]
lea rdi, [rsp + 0xe30]
xor eax, eax
mov rcx, rsi
repne scasw ax, word [rdi]
xor ecx, ecx
nop word [rax + rax]
movzx eax, word [rbx + rcx]
mov word [rdi + rcx - 2], ax
add rcx, 2
test ax, ax
jne 0x140037eb0
lea rdx, [rsp + 0xe30]
mov rcx, r12
call fcn.14003db60
test eax, eax
mov edi, dword [rsp + 0x30]
cmovne edi, eax
mov dword [rsp + 0x30], edi
cmp dword [rsp + 0x80], 0x69
jne 0x1400380a6
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140037f0d
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xb8], rax
mov rdi, r15
shr rdi, 0x10
test rdi, rdi
jne 0x140037f53
movzx ebx, r15w
mov ecx, ebx
call fcn.140056158
test rax, rax
je 0x140037f67
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0xb8]
call fcn.140005730
jmp 0x140037f67
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0xb8]
call fcn.1400059f0
nop
call fcn.140056384
mov rcx, rax
test rax, rax
setne r13b
test r13d, r13d
jne 0x140037f86
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0xd8], rax
test rdi, rdi
jne 0x140037fc2
movzx edi, r15w
mov ecx, edi
call fcn.140056158
test rax, rax
je 0x140037fd6
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0xd8]
call fcn.140005730
jmp 0x140037fd6
xor r8d, r8d
mov rdx, r15
lea rcx, [rsp + 0xd8]
call fcn.1400059f0
nop
mov ecx, 0xa8c
call fcn.140056158
test rax, rax
je 0x140037ffb
mov r8d, 0xa8c
mov rdx, rax
lea rcx, [rsp + 0xb8]
call fcn.140005730
mov ecx, 5
call fcn.140056158
test rax, rax
je 0x140038020
mov r8d, 5
mov rdx, rax
lea rcx, [rsp + 0xd8]
call fcn.140005730
mov r9d, 0x10
mov rdi, qword [rsp + 0xd8]
mov r8, rdi
mov rdx, qword [rsp + 0xb8]
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 + 0x40]
call fcn.140001370
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140038080
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xb8]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x1400380a1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140038e3a
test edi, edi
jne 0x1400380c7
lea rcx, [r12 + 0x790]
call fcn.140050830
mov ebx, 0x30
test eax, eax
cmovne edi, ebx
mov dword [rsp + 0x30], edi
jmp 0x1400380cc
mov ebx, 0x30
lea rcx, str.conime.exe
call fcn.14001c190
test eax, eax
jne 0x1400380e5
lea ecx, [rax + 1]
call fcn.14001c450
nop
mov ecx, 0xa8
call fcn.140056010
mov qword [rsp + 0x78], rax
test rax, rax
je 0x14003810b
mov rdx, qword [r12 + 0x90]
mov rcx, rax
call fcn.140007e40
jmp 0x14003810e
mov rax, r13
mov qword [r12 + 0x260], rax
mov rcx, rax
call fcn.140008270
mov rdx, qword [r12 + 0x260]
cmp dword [rdx + 0x48], 0
je 0x14003815f
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 + 0x40]
call fcn.140001370
nop
jmp 0x140038e3a
cmp dword [rdx + 0x4c], 0
je 0x14003837c
mov rax, qword [r12 + 0x260]
mov ecx, 0x10
cmp dword [rax + 0x60], 0
je 0x1400381f5
call fcn.140056010
mov rdi, rax
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1400381bc
lea rdx, [rsp + 0x1c0]
mov rcx, qword [r12 + 0x260]
call fcn.140035690
nop
mov dword [rsp + 0xcc], 1
mov rdx, qword [rax]
mov rcx, rdi
call fcn.1400126c0
jmp 0x1400381bf
mov rax, r13
mov qword [r12 + 0x268], rax
test byte [rsp + 0xcc], 1
je 0x140038243
mov rdx, qword [rsp + 0x1c0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140038243
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140038243
call fcn.140056010
mov rdi, rax
test rax, rax
je 0x140038238
call fcn.140056384
mov r11, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140038222
mov ecx, 0x80004005
call fcn.140004550
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 0x14003823b
mov rdi, r13
mov qword [r12 + 0x268], rdi
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140038263
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x120], rdi
mov ecx, 0x3b
call fcn.140056158
test rax, rax
je 0x1400382a5
mov r8d, 0x3b
mov rdx, rax
lea rcx, [rsp + 0x120]
call fcn.140005730
mov rdi, qword [rsp + 0x120]
mov rdx, rdi
mov rcx, qword [r12 + 0x268]
call fcn.140012770
lea rdx, [rsp + 0x1d8]
mov rcx, qword [r12 + 0x260]
call fcn.1400356c0
nop
mov r8, rax
lea rdx, str.UNINSTAL.EXE
lea rcx, [rsp + 0x1b0]
call fcn.14003dd70
nop
mov rdx, qword [rax]
mov rcx, qword [r12 + 0x268]
call fcn.140012770
nop
mov rdx, qword [rsp + 0x1b0]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140038317
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x1d8]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140038339
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rdx, r15
mov rcx, qword [r12 + 0x268]
call fcn.140012770
nop
mov rdx, qword [rsp + 0x120]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140038378
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140038378
mov edi, dword [rsp + 0x30]
mov rcx, qword [r12 + 0x260]
call fcn.14000a100
test eax, eax
je 0x1400383f8
lea rdx, [rsp + 0x1b8]
mov rcx, qword [r12 + 0x260]
call fcn.1400356f0
nop
mov rdx, qword [rax]
mov rcx, r12
call fcn.14003cae0
nop
mov rdx, qword [rsp + 0x1b8]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x1400383cf
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 + 0x40]
call fcn.140001370
nop
jmp 0x140038e3a
cmp edi, 0x20
je 0x140038412
cmp edi, 0x21
je 0x140038412
cmp dword [rsp + 0x80], 0x6a
mov eax, 0x6a
cmove edi, eax
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140038432
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140038464
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x58], rax
test edi, edi
je 0x140038531
lea eax, [rdi - 2]
cmp eax, 0x68
ja case.0x14003849f.8
lea rdx, [0x140000000]
movzx eax, byte [rdx + rax + 0x38e90]
mov ecx, dword [rdx + rax*4 + 0x38e74]
add rcx, rdx
jmp rcx
mov edx, 0x48
jmp 0x1400384d1
mov edx, 0x44
lea r9d, [rdx - 0x34]
lea r8d, [rdx - 0x3f]
jmp 0x1400384da
mov edx, 0x9ca
jmp 0x1400384d1
mov edx, 0x9cb
jmp 0x1400384d1
mov edx, 0xa8d
jmp 0x1400384d1
mov edx, 0x96
mov r8d, 3
mov r9d, ebx
mov rcx, r12
call fcn.14003c790
mov dword [r12 + 0x270], 1
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003850e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x14003852c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140038e3a
mov rax, qword [r12 + 0x7a0]
call qword [rax + 0xa0]
test eax, eax
jne 0x1400385bc
mov r9d, ebx
lea edx, [rax + 9]
lea r8d, [rax + 3]
mov rcx, r12
call fcn.14003c790
mov dword [r12 + 0x270], 1
xor r9d, r9d
lea r8, str.return___08x
mov edx, r14d
lea rcx, [rsp + 0x40]
call fcn.140001370
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140038599
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x1400385b7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140038e3a
mov rcx, r12
call fcn.140038f90
test eax, eax
jne 0x14003863b
mov dword [r12 + 0x270], 1
xor r9d, r9d
lea r8, str.return___08x
mov edx, r14d
lea rcx, [rsp + 0x40]
call fcn.140001370
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003860c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x14003862a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x40]
call fcn.140001320
xor eax, eax
jmp 0x140038e46
call fcn.140017e00
cmp eax, 4
je 0x1400386c2
mov r9d, ebx
mov edx, 0x84
mov r8d, 3
mov rcx, r12
call fcn.14003c790
mov dword [r12 + 0x270], 1
xor r9d, r9d
lea r8, str.return___08x
mov edx, r14d
lea rcx, [rsp + 0x40]
call fcn.140001370
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14003869f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x1400386bd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140038e3a
call fcn.140019c70
mov dword [r12 + 0xa84], 1
mov rcx, qword [r12 + 0x260]
mov eax, r13d
cmp dword [rcx + 0x4c], eax
sete al
mov dword [0x140292e28], eax
mov eax, dword [rcx + 0x4c]
test eax, eax
je 0x1400386f7
cmp dword [rcx + 0x64], 0
jne 0x140038764
call fcn.1400241f0
cmp eax, 1
jne 0x140038764
mov dword [r12 + 0x270], eax
xor r9d, r9d
lea r8, str.return___08x
mov edx, r14d
lea rcx, [rsp + 0x40]
call fcn.140001370
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140038741
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x14003875f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140038e3a
mov rax, qword [r12 + 0x260]
cmp dword [rax + 0x4c], 0
je 0x140038d5d
mov ecx, 0x888
call fcn.140056010
mov qword [rsp + 0x78], rax
test rax, rax
je 0x140038797
mov rcx, rax
call fcn.14003df90
mov rbx, rax
jmp 0x14003879a
mov rbx, r13
mov qword [rsp + 0x78], rbx
mov rax, qword [rbx]
xor r8d, r8d
lea edx, [r8 + 0x66]
mov rcx, rbx
call qword [rax + 0x2c0]
test eax, eax
jne 0x140038829
mov dword [r12 + 0x270], 1
xor r9d, r9d
lea r8, str.return___08x
mov edx, r14d
lea rcx, [rsp + 0x40]
call fcn.140001370
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x1400387fa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x140038818
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
lea rcx, [rsp + 0x40]
call fcn.140001320
xor eax, eax
jmp 0x140038e46
mov qword [r12 + 0x40], rbx
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1004
mov rcx, qword [rbx + 0x158]
call qword [sym.imp.USER32.dll_SendMessageW]
test eax, eax
mov rax, qword [r12 + 0x260]
jle 0x1400388b3
cmp dword [rax + 0x50], 0
jne 0x140038874
cmp dword [rax + 0x58], 0
jne 0x140038874
cmp dword [rax + 0x5c], 0
jne 0x140038874
cmp dword [rax + 0x6c], 0
jne 0x140038874
cmp dword [rax + 0x70], 0
je 0x140038bc4
call fcn.140035630
xor r9d, r9d
mov edx, 0x111
mov r8d, 0x3ea
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
call fcn.140035630
xor r9d, r9d
mov edx, 0x111
mov r8d, 0x3eb
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140038bc4
cmp dword [rax + 0x6c], 0
je 0x140038a8f
lea rdx, [r12 + 0x1c8]
lea rcx, [0x14021d928]
call fcn.140034090
test al, al
je 0x140038a8f
mov word [rsp + 0x1880], r13w
xor edx, edx
mov r8d, 0x40e
lea rcx, [rsp + 0x1882]
call fcn.14019d7c0
lea rdx, [rsp + 0x188]
mov rcx, qword [r12 + 0x260]
call fcn.140016670
mov rcx, qword [rax]
lea rdx, [rsp + 0x1880]
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rdx], ax
add rcx, 2
add rdx, 2
test ax, ax
jne 0x140038920
mov rdx, qword [rsp + 0x188]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140038955
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140038975
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x168], rax
mov word [rsp + 0x1670], r13w
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x1672]
call fcn.14019d7c0
lea r9, [rsp + 0x1670]
lea r8, [rsp + 0x168]
lea rdx, [rsp + 0x1880]
mov rcx, qword [r12 + 0x40]
call fcn.14003fc70
test eax, eax
je 0x1400389f0
call fcn.140035630
xor r9d, r9d
mov edx, 0x111
mov r8d, 0x3eb
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140038a7e
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140038a10
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x148], rdi
mov ecx, 0x37
call fcn.140056158
test rax, rax
je 0x140038a52
mov r8d, 0x37
mov rdx, rax
lea rcx, [rsp + 0x148]
call fcn.140005730
mov rdi, qword [rsp + 0x148]
mov rdx, rdi
mov rcx, qword [r12 + 0x268]
call fcn.140012770
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140038a7e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x168]
add rdx, 0xffffffffffffffe8
jmp 0x140038bad
mov rax, qword [r12 + 0x260]
cmp dword [rax + 0x58], 0
jne 0x140038b36
cmp dword [rax + 0x5c], 0
jne 0x140038b36
cmp dword [rax + 0x50], 0
jne 0x140038b36
cmp dword [rax + 0x6c], 0
jne 0x140038b36
cmp dword [rax + 0x70], 0
jne 0x140038b36
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140038ae1
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x130], rdi
mov ecx, 0x37
call fcn.140056158
test rax, rax
je 0x140038b23
mov r8d, 0x37
mov rdx, rax
lea rcx, [rsp + 0x130]
call fcn.140005730
mov rdi, qword [rsp + 0x130]
mov rdx, rdi
mov rcx, qword [r12 + 0x268]
call fcn.140012770
nop
jmp 0x140038ba9
call fcn.140056384
mov rdx, rax
mov ecx, r13d
test rax, rax
setne cl
test ecx, ecx
jne 0x140038b56
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x138], rdi
mov ecx, 0x37
call fcn.140056158
test rax, rax
je 0x140038b98
mov r8d, 0x37
mov rdx, rax
lea rcx, [rsp + 0x138]
call fcn.140005730
mov rdi, qword [rsp + 0x138]
mov rdx, rdi
mov rcx, qword [r12 + 0x268]
call fcn.140012770
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140038bc4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [r12 + 0x260]
cmp dword [rax + 0x54], 0
je 0x140038c99
lea rdx, [0x140222714]
mov rcx, qword [r12 + 0x1c8]
call fcn.140199570
test eax, eax
jne 0x140038c10
call fcn.140035630
xor r9d, r9d
mov edx, 0x111
mov r8d, 0x3ed
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
jmp 0x140038c99
call fcn.140056384
mov rcx, rax
test rax, rax
setne r13b
test r13d, r13d
jne 0x140038c2f
mov ecx, 0x80004005
call fcn.140004550
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x140], rdi
mov ecx, 0x3a
call fcn.140056158
test rax, rax
je 0x140038c6e
mov r8d, 0x3a
mov rdx, rax
lea rcx, [rsp + 0x140]
call fcn.140005730
mov rdi, qword [rsp + 0x140]
mov rdx, rdi
mov rcx, qword [r12 + 0x268]
call fcn.140012770
nop
lea rdx, [rdi - 0x18]
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140038c99
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
call fcn.140035630
xor r9d, r9d
xor r8d, r8d
mov edx, r14d
mov rcx, qword [rax + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
test rbx, rbx
je 0x140038cc5
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140038d9a
lea rcx, [rsp + 0x2c0]
call fcn.14003df90
nop
lea rax, [rsp + 0x2c0]
mov qword [r12 + 0x40], rax
lea rcx, [rsp + 0x2c0]
call fcn.14005ba48
nop
lea rcx, [rsp + 0x2c0]
call fcn.140038f00
nop
jmp 0x140038d9a
mov eax, 2
xor r9d, r9d
lea r8, str.return___08x
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.140001370
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, esi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x140038dd6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], esi
dec esi
test esi, esi
jg 0x140038df4
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
jmp 0x140038e3a
lea rcx, [rsp + 0x40]
call fcn.140001320
xor eax, eax
mov rcx, qword [rsp + 0x1c90]
xor rcx, rsp
call fcn.140198b40
lea r11, [rsp + 0x1ca0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret