Function at 0x140026b50
Capabilities:
Get file size
Read .ini file
Read file on windows
Set thread local storage value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xe40]
sub rsp, 0xf40
mov rax, qword [0x1401737a8]
xor rax, rsp
mov qword [rbp + 0xe30], rax
mov r12, rdx
mov qword [rbp + 0x178], rdx
mov r15, rcx
mov qword [rbp + 0xf8], rcx
xor r13d, r13d
mov esi, r13d
mov dword [rsp + 0x40], r13d
cmp qword [0x140179270], rsi
jne 0x140026bf6
lea edx, [r13 + 1]
lea rcx, str.Kernel32.dll
call fcn.140035800
mov rcx, rax
lea rdx, str.GetSystemDefaultLocaleName
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140179270], rax
lea edx, [r13 + 1]
lea rcx, str.Kernel32.dll
call fcn.140035800
mov rcx, rax
lea rdx, str.GetUserDefaultLocaleName
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140179278], rax
mov rdx, qword [r12]
mov rcx, r12
call fcn.140026770
mov rax, qword [r12]
mov qword [rax], rax
mov rax, qword [r12]
mov qword [rax + 8], rax
mov qword [r12 + 8], r13
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x78], xmm0
mov edx, 1
lea rcx, [rsp + 0x78]
call fcn.14002a440
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rsp + 0x78], rax
xor r12d, r12d
mov edi, r12d
xor r8d, r8d
lea rdx, str.Section_d
lea rcx, [rbp + 0x370]
call fcn.140017950
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x5f0]
call fcn.1400e36c0
mov rcx, r15
call fcn.140026b40
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0x5f0]
lea r8, [0x14011eaa0]
lea rdx, [rbp + 0x370]
lea rcx, str.Root
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
movabs r13, 0xaaaaaaaaaaaaaaa
test eax, eax
je 0x140026d7f
lea rcx, [rbp + 0x5f0]
call fcn.1400f7970
mov r14d, eax
mov rbx, qword [rsp + 0x78]
cmp qword [rbp - 0x80], r13
je 0x140029458
lea rax, [rsp + 0x78]
mov qword [rbp + 0x198], rax
mov qword [rbp + 0x1a0], r12
mov edx, 1
lea rcx, [rsp + 0x78]
call fcn.14002a440
mov dword [rax + 0x10], r14d
inc qword [rbp - 0x80]
mov rcx, qword [rbx + 8]
mov qword [rax], rbx
mov qword [rax + 8], rcx
mov qword [rbp + 0x1a0], r12
mov qword [rbx + 8], rax
mov qword [rcx], rax
inc edi
mov r8d, edi
lea rdx, str.Section_d
lea rcx, [rbp + 0x370]
call fcn.140017950
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x5f0]
call fcn.1400e36c0
mov rcx, r15
call fcn.140026b40
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0x5f0]
lea r8, [0x14011eaa0]
lea rdx, [rbp + 0x370]
lea rcx, str.Root
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jne 0x140026cb3
mov r14d, r12d
nop dword [rax]
nop word [rax + rax]
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0xa10]
call fcn.1400e36c0
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rbx, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140026de1
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str..disabled
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x14002935b
jmp 0x140026de4
mov rbx, r12
mov qword [rbp + 0xa0], rbx
test rbx, rbx
je 0x14002944d
mov rax, qword [r15]
mov qword [rbp + 0x10], rax
test rax, rax
je 0x140026e08
lock inc dword [rax + 0x10]
mov esi, dword [rsp + 0x40]
bts esi, 7
mov dword [rsp + 0x40], esi
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov qword [rbp + 0xe8], rax
test rax, rax
je 0x140026e3e
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x10]
mov rcx, rax
call fcn.1400051c0
mov rbx, rax
jmp 0x140026e41
mov rbx, r12
test rbx, rbx
je 0x140029350
lea rcx, [rbp + 0x10]
call fcn.1400176f0
mov qword [rbp + 0x10], rbx
mov rbx, qword [rbx]
mov edx, r14d
lea rcx, [rbp + 0x180]
call fcn.14002a1f0
mov rcx, qword [rax]
test rcx, rcx
je 0x140026e76
mov rcx, qword [rcx]
jmp 0x140026e79
mov rcx, r12
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0xa10]
lea r8, [0x14011eaa0]
lea rdx, str.PrivateSetting_GadgetName
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ebx, eax
lea rcx, [rbp + 0x180]
call fcn.1400176f0
btr esi, 7
mov dword [rsp + 0x40], esi
lea rcx, [rbp + 0x10]
call fcn.1400176f0
nop
lea rcx, [rbp + 0xa0]
call fcn.1400176f0
test ebx, ebx
je 0x140026f2f
mov ebx, r14d
not ebx
mov rdi, qword [rsp + 0x78]
cmp qword [rbp - 0x80], r13
je 0x140029465
lea rax, [rsp + 0x78]
mov qword [rbp + 0x1a8], rax
mov qword [rbp + 0x1b0], r12
mov edx, 1
lea rcx, [rsp + 0x78]
call fcn.14002a440
mov dword [rax + 0x10], ebx
inc qword [rbp - 0x80]
mov rcx, qword [rdi + 8]
mov qword [rax], rdi
mov qword [rax + 8], rcx
mov qword [rbp + 0x1b0], r12
mov qword [rdi + 8], rax
mov qword [rcx], rax
inc r14d
jmp 0x140026d90
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rcx]
cmp rdi, rcx
je 0x1400292e8
mov r13, 0xffffffffffffffff
nop word [rax + rax]
mov qword [rbp - 0x58], r12
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x50], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x40], xmm1
movdqa xmmword [rbp - 0x30], xmm0
mov r14d, dword [rdi + 0x10]
mov dword [rbp - 0x60], r14d
xor edx, edx
mov r8d, 0x208
lea rcx, [rbp + 0x3e0]
call fcn.1400e36c0
test r14d, r14d
js 0x140027093
mov rcx, r15
call fcn.140026b40
mov r15, rax
mov r8d, r14d
lea rdx, str.Section__d
lea rcx, [rbp + 0xc20]
call fcn.140017950
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x310], rax
test rax, rax
je 0x140026fee
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [rbp + 0xc20]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x140029366
jmp 0x140026ff1
mov rbx, r12
test rbx, rbx
je 0x140029472
or esi, 1
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0x3e0]
lea r8, [0x14011eaa0]
lea rdx, str.PrivateSetting_Enabled
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov eax, r13d
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140027069
mov rcx, qword [rbx]
test rcx, rcx
je 0x14002704a
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14002705c
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
lea rdx, [0x140125190]
lea rcx, [rbp + 0x3e0]
call fcn.1400e89f4
test eax, eax
setne byte [rbp - 0x5c]
mov r14d, dword [rbp - 0x60]
mov esi, dword [rsp + 0x40]
mov r15, qword [rbp + 0xf8]
jmp 0x140027097
mov byte [rbp - 0x5c], 0
mov word [rbp + 0x3e0], r12w
test r14d, r14d
js 0x140027102
mov rcx, r15
call fcn.140026b40
mov rbx, rax
mov edx, r14d
lea rcx, [rbp + 0x188]
call fcn.14002a1f0
mov rcx, qword [rax]
test rcx, rcx
je 0x1400270cb
mov rcx, qword [rcx]
jmp 0x1400270ce
mov rcx, r12
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0x3e0]
lea r8, [0x14011eaa0]
lea rdx, str.PrivateSetting_GadgetName
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rbp + 0x188]
jmp 0x14002722b
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x330], rax
test rax, rax
je 0x140027141
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str..disabled
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x140029371
jmp 0x140027144
mov rbx, r12
mov qword [rbp + 0xa8], rbx
test rbx, rbx
je 0x140029581
mov rax, qword [r15]
mov qword [rbp + 0x18], rax
test rax, rax
je 0x14002716c
lock inc dword [rax + 0x10]
mov r14d, dword [rbp - 0x60]
mov esi, dword [rsp + 0x40]
or esi, 0x10
mov dword [rsp + 0x40], esi
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov qword [rbp + 0x368], rax
test rax, rax
je 0x1400271a1
lea r8, [rbp + 0xa8]
lea rdx, [rbp + 0x18]
mov rcx, rax
call fcn.1400051c0
mov rbx, rax
jmp 0x1400271a4
mov rbx, r12
test rbx, rbx
je 0x140029576
lea rcx, [rbp + 0x18]
call fcn.1400176f0
mov qword [rbp + 0x18], rbx
mov rbx, qword [rbx]
mov edx, r13d
sub edx, r14d
lea rcx, [rbp + 0x190]
call fcn.14002a1f0
mov rcx, qword [rax]
test rcx, rcx
je 0x1400271dc
mov rcx, qword [rcx]
jmp 0x1400271df
mov rcx, r12
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0x3e0]
lea r8, [0x14011eaa0]
lea rdx, str.PrivateSetting_GadgetName
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rbp + 0x190]
call fcn.1400176f0
and esi, 0xffffffef
mov dword [rsp + 0x40], esi
lea rcx, [rbp + 0x18]
call fcn.1400176f0
nop
lea rcx, [rbp + 0xa8]
call fcn.1400176f0
mov dword [rbp + 0x80], 0x104
mov r9d, 0x100000
lea r8, [rbp + 0x80]
xor edx, edx
lea rcx, [rbp + 0x3e0]
call qword [sym.imp.SHLWAPI.dll_UrlUnescapeW]
mov dword [rbp - 0x10], r12d
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
lea rdx, [rbp - 0x10]
call qword [sym.imp.KERNEL32.dll_IsWow64Process]
test eax, eax
je 0x1400272e0
cmp dword [rbp - 0x10], 0
je 0x1400272e0
lea rdx, str._PROGRAMFILES_
lea rcx, [rbp + 0x3e0]
call fcn.1400e3cd4
test rax, rax
je 0x1400272e0
movups xmm0, xmmword [str._ProgramW6432]
movups xmmword [rbp + 0x1c8], xmm0
movsd xmm1, qword [0x140125080]
movsd qword [rbp + 0x1d8], xmm1
mov ecx, dword [0x140125088]
mov dword [rbp + 0x1e0], ecx
lea rcx, [rbp + 0x1c8]
mov r8, r13
inc r8
cmp word [rcx + r8*2], 0
jne 0x1400272c3
add r8, r8
lea rdx, [rbp + 0x1c8]
mov rcx, rax
call fcn.1400e3010
lea rdx, [rbp + 0x3e0]
lea rcx, [rbp + 0x160]
call fcn.140018990
nop
mov r14, qword [rax]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x320], rax
test rax, rax
je 0x140027337
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
mov rcx, r14
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x14002733a
test r14, r14
jne 0x14002937c
jmp 0x14002733a
mov rbx, r12
mov qword [rbp - 0x58], rbx
test rbx, rbx
je 0x14002956b
mov rcx, qword [rbp + 0x160]
call fcn.1400e825c
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
mov edx, 0x104
lea rcx, [rbp + 0x800]
call qword [0x140179278]
test eax, eax
je 0x140027777
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov r13, rax
mov qword [rbp + 0x328], rax
test rax, rax
je 0x1400273b7
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [0x14011eb8c]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [r13], rax
test rax, rax
je 0x140029387
jmp 0x1400273ba
mov r13, r12
mov qword [rbp + 0x338], r13
test r13, r13
je 0x140029560
mov qword [rbp + 0x100], rbx
test rbx, rbx
je 0x1400273e2
lock inc dword [rbx + 0x10]
mov rbx, qword [rbp - 0x58]
mov esi, dword [rsp + 0x40]
or esi, 0x20
mov dword [rsp + 0x40], esi
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov r14, rax
mov qword [rbp + 0x340], rax
test rax, rax
je 0x1400274c5
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
test rbx, rbx
je 0x140027429
mov rcx, qword [rbx]
test rcx, rcx
je 0x140027429
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov r15d, eax
jmp 0x14002742c
mov r15d, r12d
mov rcx, qword [r13]
test rcx, rcx
je 0x14002743e
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov r12d, eax
lea esi, [r12 + r15]
cmp esi, r12d
jb 0x140029392
mov eax, esi
add rax, rax
mov ecx, 0xffffffff
cmp rax, rcx
ja 0x140029392
lea edx, [rsi + rsi]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_DllRegisterServer]
mov rcx, rax
mov qword [r14], rax
test rax, rax
jne 0x14002747e
test esi, esi
jne 0x140029392
jmp 0x1400274c0
test rbx, rbx
je 0x14002749d
mov r8, qword [rbx]
test r8, r8
je 0x14002749d
lea r9d, [r15 + 1]
add r9, r9
lea edx, [rsi + 1]
add rdx, rdx
call fcn.14002a4c0
mov r8, qword [r13]
test r8, r8
je 0x1400274c0
lea edx, [r12 + 1]
add rdx, rdx
mov ecx, r15d
mov rax, qword [r14]
lea rcx, [rax + rcx*2]
mov r9, rdx
call fcn.14002a4c0
xor r12d, r12d
jmp 0x1400274c8
mov r14, r12
test r14, r14
je 0x140029493
test rbx, rbx
je 0x140027519
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140027519
mov rbx, qword [rbp - 0x58]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400274fa
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14002750c
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
mov qword [rbp + 0x100], r14
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x360], rax
test rax, rax
je 0x14002755f
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [rbp + 0x800]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x14002939d
jmp 0x140027562
mov rbx, r12
mov qword [rbp + 0xb8], rbx
test rbx, rbx
je 0x140029493
mov qword [rbp + 0x28], r14
lock inc dword [r14 + 0x10]
or dword [rsp + 0x40], 8
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov qword [rbp + 0x218], rax
test rax, rax
je 0x1400275ae
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x28]
mov rcx, rax
call fcn.1400051c0
mov rsi, rax
jmp 0x1400275b1
mov rsi, r12
test rsi, rsi
je 0x140029488
lea rcx, [rbp + 0x28]
call fcn.1400176f0
mov qword [rbp + 0x28], rsi
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x220], rax
test rax, rax
je 0x140027606
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.Gadget.xml
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x1400293a8
jmp 0x140027609
mov rbx, r12
mov qword [rbp + 0xb0], rbx
test rbx, rbx
je 0x140029488
mov qword [rbp + 0x20], rsi
lock inc dword [rsi + 0x10]
or dword [rsp + 0x40], 0x40
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov qword [rbp + 0x228], rax
test rax, rax
je 0x140027654
lea r8, [rbp + 0xb0]
lea rdx, [rbp + 0x20]
mov rcx, rax
call fcn.1400051c0
mov rsi, rax
jmp 0x140027657
mov rsi, r12
test rsi, rsi
je 0x14002947d
lea rcx, [rbp + 0x20]
call fcn.1400176f0
mov qword [rbp + 0x20], rsi
mov qword [rsp + 0x68], rsi
lock inc dword [rsi + 0x10]
mov ebx, dword [rsp + 0x40]
and ebx, 0xffffffbf
lea rcx, [rbp + 0x20]
call fcn.1400176f0
nop
lea rcx, [rbp + 0xb0]
call fcn.1400176f0
and ebx, 0xfffffff7
lea rcx, [rbp + 0x28]
call fcn.1400176f0
nop
lea rcx, [rbp + 0xb8]
call fcn.1400176f0
and ebx, 0xffffffdf
mov dword [rsp + 0x40], ebx
mov eax, 0xffffffff
lock xadd dword [r14 + 0x10], eax
cmp eax, 1
jne 0x1400276f4
mov rcx, qword [r14]
test rcx, rcx
je 0x1400276d4
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [r14], r12
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x1400276e6
call fcn.1400e0fb8
mov qword [r14 + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, r14
call fcn.1400e0fb8
nop
mov eax, 0xffffffff
lock xadd dword [r13 + 0x10], eax
cmp eax, 1
jne 0x140027736
mov rcx, qword [r13]
test rcx, rcx
je 0x140027717
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [r13], r12
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x140027729
call fcn.1400e0fb8
mov qword [r13 + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, r13
call fcn.1400e0fb8
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rcx, qword [rsi]
call fcn.140008e40
mov r15, rax
mov r13, 0xffffffffffffffff
cmp rax, r13
jne 0x140027f95
mov rbx, qword [rbp - 0x58]
mov esi, dword [rsp + 0x40]
mov edx, 0x104
lea rcx, [rbp + 0x800]
call qword [0x140179270]
test eax, eax
je 0x140027ab9
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov r14, rax
mov qword [rbp + 0x230], rax
test rax, rax
je 0x1400277d0
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [0x14011eb8c]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [r14], rax
test rax, rax
je 0x1400293b3
jmp 0x1400277d3
mov r14, r12
mov qword [rbp + 0xc8], r14
test r14, r14
je 0x140029560
mov qword [rbp + 0x40], rbx
test rbx, rbx
je 0x1400277f8
lock inc dword [rbx + 0x10]
mov rbx, qword [rbp - 0x58]
mov esi, dword [rsp + 0x40]
bts esi, 0xa
mov dword [rsp + 0x40], esi
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov qword [rbp + 0x238], rax
test rax, rax
je 0x14002782e
lea r8, [rbp + 0xc8]
lea rdx, [rbp + 0x40]
mov rcx, rax
call fcn.1400051c0
mov rsi, rax
jmp 0x140027831
mov rsi, r12
test rsi, rsi
je 0x1400294b4
test rbx, rbx
je 0x140027880
mov eax, r13d
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140027880
mov rbx, qword [rbp - 0x58]
mov rcx, qword [rbx]
test rcx, rcx
je 0x140027861
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140027873
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
mov qword [rbp + 0x40], rsi
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x240], rax
test rax, rax
je 0x1400278c3
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [rbp + 0x800]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x1400293be
jmp 0x1400278c6
mov rbx, r12
mov qword [rbp + 0xc0], rbx
test rbx, rbx
je 0x1400294b4
mov qword [rbp + 8], rsi
lock inc dword [rsi + 0x10]
or dword [rsp + 0x40], 0x100
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov qword [rbp + 0x248], rax
test rax, rax
je 0x140027914
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 8]
mov rcx, rax
call fcn.1400051c0
mov rsi, rax
jmp 0x140027917
mov rsi, r12
test rsi, rsi
je 0x1400294a9
lea rcx, [rbp + 8]
call fcn.1400176f0
mov qword [rbp + 8], rsi
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x250], rax
test rax, rax
je 0x14002796c
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.Gadget.xml
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x1400293c9
jmp 0x14002796f
mov rbx, r12
mov qword [rbp + 0xe0], rbx
test rbx, rbx
je 0x1400294a9
mov qword [rbp + 0x30], rsi
lock inc dword [rsi + 0x10]
or dword [rsp + 0x40], 0x200
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov qword [rbp + 0x258], rax
test rax, rax
je 0x1400279bd
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0x30]
mov rcx, rax
call fcn.1400051c0
mov r14, rax
jmp 0x1400279c0
mov r14, r12
test r14, r14
je 0x14002949e
lea rcx, [rbp + 0x30]
call fcn.1400176f0
mov qword [rbp + 0x30], r14
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140027a22
mov ecx, r13d
lock xadd dword [rax + 0x10], ecx
cmp ecx, 1
jne 0x140027a22
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rbx]
test rcx, rcx
je 0x140027a03
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140027a15
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
mov qword [rsp + 0x68], r14
lock inc dword [r14 + 0x10]
mov esi, dword [rsp + 0x40]
btr esi, 9
lea rcx, [rbp + 0x30]
call fcn.1400176f0
nop
lea rcx, [rbp + 0xe0]
call fcn.1400176f0
btr esi, 8
lea rcx, [rbp + 8]
call fcn.1400176f0
nop
lea rcx, [rbp + 0xc0]
call fcn.1400176f0
btr esi, 0xa
mov dword [rsp + 0x40], esi
lea rcx, [rbp + 0x40]
call fcn.1400176f0
nop
lea rcx, [rbp + 0xc8]
call fcn.1400176f0
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rcx, qword [r14]
call fcn.140008e40
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x140027f8e
mov rbx, qword [rbp - 0x58]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov r15, rax
mov qword [rbp + 0x260], rax
test rax, rax
je 0x140027af8
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.en_usGadget.xml
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [r15], rax
test rax, rax
je 0x1400293d4
jmp 0x140027afb
mov r15, r12
mov qword [rbp + 0x108], r15
test r15, r15
je 0x140029560
mov qword [rbp + 0x268], rbx
test rbx, rbx
je 0x140027b23
lock inc dword [rbx + 0x10]
mov rbx, qword [rbp - 0x58]
mov esi, dword [rsp + 0x40]
or esi, 2
mov dword [rsp + 0x40], esi
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rsi, rax
mov qword [rbp + 0x270], rax
test rax, rax
je 0x140027c44
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
test rbx, rbx
je 0x140027b6a
mov rcx, qword [rbx]
test rcx, rcx
je 0x140027b6a
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov r13d, eax
jmp 0x140027b6d
mov r13d, r12d
mov rcx, qword [r15]
test rcx, rcx
je 0x140027b7e
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov r12d, eax
lea r14d, [r12 + r13]
cmp r14d, r12d
jb 0x1400293df
mov eax, r14d
add rax, rax
mov ecx, 0xffffffff
cmp rax, rcx
ja 0x1400293df
lea edx, [r14 + r14]
xor ecx, ecx
call qword [sym.imp.OLEAUT32.dll_DllRegisterServer]
mov rcx, rax
mov qword [rsi], rax
test rax, rax
jne 0x140027bc1
test r14d, r14d
jne 0x1400293df
jmp 0x140027c3f
test rbx, rbx
je 0x140027c04
mov rdx, qword [rbx]
test rdx, rdx
je 0x140027c04
lea r8d, [r13 + 1]
lea r9d, [r14 + 1]
add r9, r9
add r8, r8
je 0x140027c04
cmp r9, r8
jb 0x140027bea
call fcn.1400e3010
jmp 0x140027c04
mov r8, r9
xor edx, edx
call fcn.1400e36c0
call fcn.1400e864c
mov dword [rax], 0x22
call fcn.1400e8140
mov rdx, qword [r15]
test rdx, rdx
je 0x140027c3f
lea r8d, [r12 + 1]
add r8, r8
mov ecx, r13d
mov rax, qword [rsi]
lea rcx, [rax + rcx*2]
je 0x140027c3f
test rcx, rcx
jne 0x140027c3a
call fcn.1400e864c
mov dword [rax], SafeArrayPutElement
call fcn.1400e8140
xor r12d, r12d
jmp 0x140027c47
call fcn.1400e3010
xor r12d, r12d
jmp 0x140027c47
mov rsi, r12
test rsi, rsi
je 0x140029555
mov r13, 0xffffffffffffffff
test rbx, rbx
je 0x140027c9d
mov eax, r13d
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140027c9d
mov rbx, qword [rbp - 0x58]
mov rcx, qword [rbx]
test rcx, rcx
je 0x140027c7e
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140027c90
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140027ce9
mov ecx, r13d
lock xadd dword [rax + 0x10], ecx
cmp ecx, 1
jne 0x140027ce9
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rbx]
test rcx, rcx
je 0x140027cca
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140027cdc
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
mov qword [rsp + 0x68], rsi
lock inc dword [rsi + 0x10]
and dword [rsp + 0x40], 0xfffffffd
mov eax, r13d
lock xadd dword [rsi + 0x10], eax
cmp eax, 1
jne 0x140027d35
mov rcx, qword [rsi]
test rcx, rcx
je 0x140027d15
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], r12
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x140027d27
call fcn.1400e0fb8
mov qword [rsi + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rsi
call fcn.1400e0fb8
nop
lea rcx, [rbp + 0x108]
call fcn.1400176f0
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rcx, qword [rsi]
call fcn.140008e40
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x140027f95
lea ecx, [rax + 0x19]
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x278], rax
test rax, rax
je 0x140027db1
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.Gadget.xml
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x1400293ea
jmp 0x140027db4
mov rbx, r12
mov qword [rbp + 0xd0], rbx
test rbx, rbx
je 0x140029560
mov r14, qword [rbp - 0x58]
mov qword [rbp + 0x110], r14
test r14, r14
je 0x140027ddd
lock inc dword [r14 + 0x10]
mov r14, qword [rbp - 0x58]
or dword [rsp + 0x40], 4
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov qword [rbp + 0x280], rax
test rax, rax
je 0x140027e13
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0x110]
mov rcx, rax
call fcn.1400051c0
mov rbx, rax
jmp 0x140027e16
mov rbx, r12
test rbx, rbx
je 0x1400294bf
test r14, r14
je 0x140027e66
mov eax, r13d
lock xadd dword [r14 + 0x10], eax
cmp eax, 1
jne 0x140027e66
mov r14, qword [rbp - 0x58]
mov rcx, qword [r14]
test rcx, rcx
je 0x140027e47
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [r14], r12
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x140027e59
call fcn.1400e0fb8
mov qword [r14 + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, r14
call fcn.1400e0fb8
mov eax, r13d
lock xadd dword [rsi + 0x10], eax
cmp eax, 1
jne 0x140027ea3
mov rcx, qword [rsi]
test rcx, rcx
je 0x140027e84
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], r12
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x140027e96
call fcn.1400e0fb8
mov qword [rsi + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rsi
call fcn.1400e0fb8
mov qword [rsp + 0x68], rbx
lock inc dword [rbx + 0x10]
and dword [rsp + 0x40], 0xfffffffb
mov eax, r13d
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140027eef
mov rcx, qword [rbx]
test rcx, rcx
je 0x140027ecf
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140027ee1
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
nop
lea rcx, [rbp + 0xd0]
call fcn.1400176f0
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rcx, qword [rbx]
call fcn.140008e40
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x140027f95
lea ecx, [rax + 0x19]
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x288], rax
test rax, rax
je 0x140027f67
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [0x14011eaa0]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x1400293f5
jmp 0x140027f6a
mov rbx, r12
mov qword [rsp + 0x60], rbx
test rbx, rbx
je 0x140029560
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x1400280e2
jmp 0x1400280de
mov r13, 0xffffffffffffffff
xor edx, edx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
mov ecx, eax
call fcn.1400e17ec
mov rsi, rax
lea edx, [rbx + 1]
mov eax, 2
mul rdx
cmovo rax, r13
mov rcx, rax
call fcn.1400e17ec
mov r14, rax
mov dword [rbp - 0xc], r12d
mov qword [rsp + 0x20], r12
lea r9, [rbp - 0xc]
mov r8d, ebx
mov rdx, rsi
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [rbp - 0xc]
cmp eax, 3
jb 0x14002800a
cmp byte [rsi], 0xef
jne 0x14002800a
cmp byte [rsi + 1], 0xbb
jne 0x14002800a
cmp byte [rsi + 2], 0xbf
jne 0x14002800a
lea r9d, [rbx - 3]
lea r8, [rsi + 3]
mov ecx, 0xfde9
jmp 0x140028053
cmp eax, 2
jb 0x14002804b
cmp byte [rsi], 0xff
jne 0x14002804b
cmp byte [rsi + 1], 0xfe
jne 0x14002804b
shr ebx, 1
lea r9d, [rbx - 1]
cmp ebx, 1
jbe 0x140028044
lea rcx, [rsi + 2]
mov rdx, r14
mov r8d, r9d
nop
movzx eax, word [rcx]
mov word [rdx], ax
lea rdx, [rdx + 2]
lea rcx, [rcx + 2]
sub r8, 1
jne 0x140028030
mov word [r14 + r9*2], r12w
jmp 0x14002806b
mov r9d, ebx
mov r8, rsi
xor ecx, ecx
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], r14
xor edx, edx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ecx, eax
mov word [r14 + rcx*2], r12w
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x290], rax
test rax, rax
je 0x1400280ab
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
mov rcx, r14
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x1400280ae
test r14, r14
jne 0x140029400
jmp 0x1400280ae
mov rbx, r12
mov qword [rsp + 0x60], rbx
test rbx, rbx
je 0x14002954a
mov rcx, r14
call fcn.1400e0fb8
mov rcx, rsi
call fcn.1400e0fb8
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rax, qword [rsp + 0x68]
mov qword [rbp - 0x50], rax
lock inc dword [rax + 0x10]
mov rax, qword [rsp + 0x68]
mov ecx, r13d
lock xadd dword [rax + 0x10], ecx
cmp ecx, 1
jne 0x140028130
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14002810a
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14002811c
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
nop dword [rax]
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x14002813f
mov rcx, qword [rbx]
jmp 0x140028142
mov rcx, r12
mov r8d, 4
lea rdx, [0x1401251e0]
call fcn.1400e8940
test eax, eax
jne 0x140028211
test rbx, rbx
je 0x140028166
mov rcx, qword [rbx]
jmp 0x140028169
mov rcx, r12
lea rdx, [0x1401251f0]
call fcn.1400e3cd4
mov rsi, rax
test rax, rax
je 0x140028211
add rsi, 6
movzx ecx, word [rsi]
call fcn.1400f7a6c
test eax, eax
je 0x1400281a1
add rsi, 2
movzx ecx, word [rsi]
call fcn.1400f7a6c
test eax, eax
jne 0x140028191
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x298], rax
test rax, rax
je 0x1400281dc
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x14002940b
jmp 0x1400281df
mov rbx, r12
test rbx, rbx
je 0x1400294ca
lea rcx, [rsp + 0x60]
call fcn.1400176f0
mov qword [rsp + 0x60], rbx
lock inc dword [rbx + 0x10]
mov eax, r13d
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140028130
jmp 0x1400280f9
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov qword [rbp - 0x20], r12
mov rax, qword [0x140178828]
test rax, rax
je 0x140028243
mov ecx, 1
call rax
mov edx, 0x200
mov ecx, dword [0x140178818]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea r9, [0x14013c850]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x14013dc28]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
mov rdx, qword [0x140178828]
test rdx, rdx
je 0x140028290
xor ecx, ecx
call rdx
mov edx, 0x100
mov ecx, dword [0x140178818]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov rdx, qword [0x140178828]
test esi, esi
jne 0x140028f5b
mov word [rsp + 0x58], r12w
test rdx, rdx
je 0x1400282b9
lea ecx, [rsi + 1]
call rdx
mov edx, 0x200
mov ecx, dword [0x140178818]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
test rbx, rbx
je 0x1400282ca
mov rdx, qword [rbx]
jmp 0x1400282cd
mov rdx, r12
lea r8, [rsp + 0x58]
call qword [rax + 0x208]
mov rax, qword [0x140178828]
test rax, rax
je 0x1400282f9
xor ecx, ecx
call rax
mov edx, 0x100
mov ecx, dword [0x140178818]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
cmp word [rsp + 0x58], 0
jne 0x14002838f
mov qword [rbp - 0x18], r12
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
lea rdx, [rbp - 0x18]
call qword [rax + 0x1e0]
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x140028383
mov qword [rbp + 0x118], r12
mov dword [rbp + 0x38], r13d
mov dword [rbp + 0x84], r13d
mov qword [rbp + 0x120], r12
mov rax, qword [rcx]
lea rdx, [rbp + 0x118]
call qword [rax + 0x48]
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
lea rdx, [rbp + 0x38]
call qword [rax + 0x58]
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
lea rdx, [rbp + 0x84]
call qword [rax + 0x60]
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
lea rdx, [rbp + 0x120]
call qword [rax + 0x50]
mov rcx, qword [rbp - 0x18]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
cmp word [rsp + 0x58], 0
je 0x140028f5b
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax]
mov r14, qword [rcx + 0x128]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rsi, rax
mov qword [rbp + 0x2a0], rax
test rax, rax
je 0x1400283d2
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.gadget
call fcn.1400e0e20
mov qword [rsi], rax
jmp 0x1400283d5
mov rsi, r12
mov qword [rbp + 0x128], rsi
test rsi, rsi
je 0x140029532
lea r8, [rsp + 0x70]
mov rdx, qword [rsi]
mov rcx, qword [rbp - 0x20]
call r14
mov esi, eax
lea rcx, [rbp + 0x128]
call fcn.1400176f0
test esi, esi
jne 0x140028f5b
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
mov r14, qword [rcx + 0x128]
lea ecx, [rsi + 0x18]
call fcn.1400e1108
mov rsi, rax
mov qword [rbp + 0x2a8], rax
test rax, rax
je 0x14002844c
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.name
call fcn.1400e0e20
mov qword [rsi], rax
jmp 0x14002844f
mov rsi, r12
mov qword [rbp + 0x130], rsi
test rsi, rsi
je 0x140029527
lea r8, [rsp + 0x50]
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x70]
call r14
mov esi, eax
lea rcx, [rbp + 0x130]
call fcn.1400176f0
test esi, esi
jne 0x1400284d8
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
mov rsi, qword [rcx + 0xd0]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov qword [rbp], rax
test rax, rax
je 0x1400284b3
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
mov qword [rax], r12
jmp 0x1400284b6
mov rax, r12
mov qword [rbp - 0x48], rax
test rax, rax
je 0x140029527
mov rdx, rax
mov rcx, qword [rsp + 0x50]
call rsi
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
mov r14, qword [rcx + 0x128]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rsi, rax
mov qword [rbp + 0x318], rax
test rax, rax
je 0x14002851c
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.description
call fcn.1400e0e20
mov qword [rsi], rax
jmp 0x14002851f
mov rsi, r12
mov qword [rbp + 0x138], rsi
test rsi, rsi
je 0x140029527
lea r8, [rsp + 0x50]
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x70]
call r14
mov esi, eax
lea rcx, [rbp + 0x138]
call fcn.1400176f0
test esi, esi
jne 0x1400285da
lea rcx, [rbp + 0x348]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea rdx, [rbp + 0x348]
call qword [rax + 0x40]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
mov rsi, qword [rcx + 0xd0]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov qword [rbp], rax
test rax, rax
je 0x1400285a7
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
mov qword [rax], r12
jmp 0x1400285aa
mov rax, r12
mov qword [rbp - 0x38], rax
test rax, rax
je 0x1400294d5
mov rdx, rax
mov rcx, qword [rsp + 0x50]
call rsi
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rbp + 0x348]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
mov r14, qword [rcx + 0x128]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rsi, rax
mov qword [rbp + 0x2b0], rax
test rax, rax
je 0x14002861e
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.author
call fcn.1400e0e20
mov qword [rsi], rax
jmp 0x140028621
mov rsi, r12
mov qword [rbp + 0x140], rsi
test rsi, rsi
je 0x140029527
lea r8, [rsp + 0x50]
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x70]
call r14
mov esi, eax
lea rcx, [rbp + 0x140]
call fcn.1400176f0
test esi, esi
jne 0x14002874b
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea rdx, [rbp + 0x50]
call qword [rax + 0x88]
test eax, eax
jne 0x140028740
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax]
mov r14, qword [rcx + 0x38]
lea ecx, [rsi + 0x18]
call fcn.1400e1108
mov rsi, rax
mov qword [rbp + 0x2b8], rax
test rax, rax
je 0x1400286af
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.name
call fcn.1400e0e20
mov qword [rsi], rax
jmp 0x1400286b2
mov rsi, r12
mov qword [rbp + 0x148], rsi
test rsi, rsi
je 0x1400294e0
lea r8, [rbp + 0x48]
mov rdx, qword [rsi]
mov rcx, qword [rbp + 0x50]
call r14
mov esi, eax
lea rcx, [rbp + 0x148]
call fcn.1400176f0
test esi, esi
jne 0x140028736
mov rax, qword [rbp + 0x48]
mov rcx, qword [rax]
mov rsi, qword [rcx + 0xd0]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov qword [rbp], rax
test rax, rax
je 0x140028713
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
mov qword [rax], r12
jmp 0x140028716
mov rax, r12
mov qword [rbp - 0x40], rax
test rax, rax
je 0x1400294e0
mov rdx, rax
mov rcx, qword [rbp + 0x48]
call rsi
mov rcx, qword [rbp + 0x48]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rbp + 0x50]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
mov r14, qword [rcx + 0x128]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rsi, rax
mov qword [rbp + 0x2c0], rax
test rax, rax
je 0x14002878f
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.version
call fcn.1400e0e20
mov qword [rsi], rax
jmp 0x140028792
mov rsi, r12
mov qword [rbp + 0x150], rsi
test rsi, rsi
je 0x140029527
lea r8, [rsp + 0x50]
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x70]
call r14
mov esi, eax
lea rcx, [rbp + 0x150]
call fcn.1400176f0
test esi, esi
jne 0x14002881b
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
mov rsi, qword [rcx + 0xd0]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov qword [rbp], rax
test rax, rax
je 0x1400287f6
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
mov qword [rax], r12
jmp 0x1400287f9
mov rax, r12
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140029527
mov rdx, rax
mov rcx, qword [rsp + 0x50]
call rsi
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
mov r14, qword [rcx + 0x128]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rsi, rax
mov qword [rbp + 0x2c8], rax
test rax, rax
je 0x14002885f
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.icons
call fcn.1400e0e20
mov qword [rsi], rax
jmp 0x140028862
mov rsi, r12
mov qword [rbp], rsi
test rsi, rsi
je 0x140029527
lea r8, [rsp + 0x50]
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x70]
call r14
mov esi, eax
lea rcx, [rbp]
call fcn.1400176f0
test esi, esi
jne 0x140028f50
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea rdx, [rbp + 0x78]
call qword [rax + 0x60]
test eax, eax
jne 0x140028f45
mov r14d, 0x1000
mov rcx, qword [rbp + 0x78]
mov rax, qword [rcx]
lea rdx, [rbp + 0x70]
call qword [rax + 0x48]
test eax, eax
jne 0x140028f3b
mov rcx, qword [rbp + 0x70]
mov rax, qword [rcx]
lea rdx, [rbp - 0x70]
call qword [rax + 0x88]
test eax, eax
jne 0x140028f16
lea rcx, [rbp + 0x88]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax]
mov rsi, qword [rcx + 0x38]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x2d0], rax
test rax, rax
je 0x14002892c
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.height
call fcn.1400e0e20
mov qword [rbx], rax
jmp 0x14002892f
mov rbx, r12
mov qword [rbp + 0x158], rbx
test rbx, rbx
je 0x14002951c
lea r8, [rbp - 0x78]
mov rdx, qword [rbx]
mov rcx, qword [rbp - 0x70]
call rsi
mov ebx, eax
lea rcx, [rbp + 0x158]
call fcn.1400176f0
test ebx, ebx
jne 0x140028a7e
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
lea rdx, [rbp + 0x88]
call qword [rax + 0x40]
mov qword [rbp + 0x58], r12
cmp word [rbp + 0x88], 8
jne 0x1400289db
mov rsi, qword [rbp + 0x90]
lea ecx, [rbx + 0x18]
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x2d8], rax
test rax, rax
je 0x1400289c6
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x1400289c9
test rsi, rsi
jne 0x140029416
jmp 0x1400289c9
mov rbx, r12
mov qword [rbp + 0x58], rbx
test rbx, rbx
je 0x140029421
jmp 0x140028a58
lea rcx, [rbp + 0x1e8]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov r9d, 8
xor r8d, r8d
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x1e8]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
js 0x1400294f6
mov rbx, qword [rbp + 0x1f0]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov qword [rbp + 0x2e0], rax
test rax, rax
je 0x140028a3b
mov rdx, rbx
mov rcx, rax
call fcn.140026800
mov rbx, rax
jmp 0x140028a3e
mov rbx, r12
mov qword [rbp + 0x58], rbx
test rbx, rbx
je 0x1400294eb
lea rcx, [rbp + 0x1e8]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbx]
call fcn.1400f7970
mov r15d, eax
mov dword [rbp + 0xe8], eax
lea rcx, [rbp + 0x58]
call fcn.1400176f0
mov rcx, qword [rbp - 0x78]
mov rdx, qword [rcx]
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140028a85
mov r15d, dword [rbp + 0xe8]
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rcx]
mov rsi, qword [rdx + 0x38]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x2e8], rax
test rax, rax
je 0x140028ac5
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.width
call fcn.1400e0e20
mov qword [rbx], rax
jmp 0x140028ac8
mov rbx, r12
mov qword [rbp + 0xf0], rbx
test rbx, rbx
je 0x14002951c
lea r8, [rbp - 0x78]
mov rdx, qword [rbx]
mov rcx, qword [rbp - 0x70]
call rsi
mov ebx, eax
lea rcx, [rbp + 0xf0]
call fcn.1400176f0
test ebx, ebx
jne 0x140028c58
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
lea rdx, [rbp + 0x88]
call qword [rax + 0x40]
cmp word [rbp + 0x88], 8
jne 0x140028b6c
mov rsi, qword [rbp + 0x90]
lea ecx, [rbx + 0x18]
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x2f0], rax
test rax, rax
je 0x140028b5b
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x140028b5e
test rsi, rsi
jne 0x14002942c
jmp 0x140028b5e
mov rbx, r12
test rbx, rbx
je 0x140029437
jmp 0x140028bff
lea rcx, [rbp + 0x200]
call qword [sym.imp.OLEAUT32.dll_VariantClear]
nop
mov r9d, 8
xor r8d, r8d
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x200]
call qword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
test eax, eax
js 0x140029509
mov rsi, qword [rbp + 0x208]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x2f8], rax
test rax, rax
je 0x140028be6
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
mov rcx, rsi
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
jne 0x140028be9
test rsi, rsi
jne 0x140029442
jmp 0x140028be9
mov rbx, r12
test rbx, rbx
je 0x1400294fe
lea rcx, [rbp + 0x200]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbx]
call fcn.1400f7970
mov esi, eax
mov dword [rbp - 8], eax
mov ecx, r13d
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x140028c4c
mov rcx, qword [rbx]
test rcx, rcx
je 0x140028c2a
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140028c3c
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
mov dword [rbp - 8], esi
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
jmp 0x140028c5b
mov esi, dword [rbp - 8]
cmp r15d, 0x10
jl 0x140028efe
cmp esi, 0x10
jl 0x140028efe
add r15d, esi
cmp r15d, r14d
jge 0x140028efe
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax]
mov rsi, qword [rcx + 0x38]
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov rbx, rax
mov qword [rbp + 0x300], rax
test rax, rax
je 0x140028cba
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [0x140125240]
call fcn.1400e0e20
mov qword [rbx], rax
jmp 0x140028cbd
mov rbx, r12
mov qword [rbp + 0x168], rbx
test rbx, rbx
je 0x14002951c
lea r8, [rbp - 0x78]
mov rdx, qword [rbx]
mov rcx, qword [rbp - 0x70]
call rsi
mov ebx, eax
lea rcx, [rbp + 0x168]
call fcn.1400176f0
test ebx, ebx
jne 0x140028efe
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
lea rdx, [rbp + 0x88]
call qword [rax + 0x40]
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x68]
call fcn.140026850
nop
mov rax, qword [rbp + 0x68]
test rax, rax
je 0x140028d20
mov rcx, qword [rax]
jmp 0x140028d23
mov rcx, r12
mov edx, gethostbyaddr
call fcn.1400e3bac
test rax, rax
je 0x140028d5a
mov r12d, 0x5c
nop dword [rax + rax]
mov word [rax], r12w
mov edx, gethostbyaddr
lea rcx, [rax + 2]
call fcn.1400e3bac
test rax, rax
jne 0x140028d40
xor r12d, r12d
lea rdx, [0x14011eb8c]
lea rcx, [rbp + 0xd8]
call fcn.140005360
nop
mov rbx, qword [rbp - 0x58]
mov qword [rbp + 0x60], rbx
test rbx, rbx
je 0x140028d83
lock inc dword [rbx + 0x10]
mov rbx, qword [rbp - 0x58]
or dword [rsp + 0x40], 0x800
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e1108
mov qword [rbp + 0x308], rax
test rax, rax
je 0x140028db9
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x60]
mov rcx, rax
call fcn.1400051c0
mov rsi, rax
jmp 0x140028dbc
mov rsi, r12
test rsi, rsi
je 0x140029511
test rbx, rbx
je 0x140028e0b
mov eax, r13d
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x140028e0b
mov rbx, qword [rbp - 0x58]
mov rcx, qword [rbx]
test rcx, rcx
je 0x140028dec
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140028dfe
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
mov qword [rbp + 0x60], rsi
lea r8, [rbp + 0x68]
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x60]
call fcn.140017ab0
mov r14, rax
lea rax, [rbp - 0x28]
cmp rax, r14
je 0x140028e89
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x140028e79
mov ecx, r13d
lock xadd dword [rdx + 0x10], ecx
cmp ecx, 1
jne 0x140028e79
mov rbx, qword [rbp - 0x28]
mov rcx, qword [rbx]
test rcx, rcx
je 0x140028e5a
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140028e6c
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
mov rax, qword [r14]
mov qword [rbp - 0x28], rax
test rax, rax
je 0x140028e89
lock inc dword [rax + 0x10]
lea rcx, [rbp + 0x170]
call fcn.1400176f0
and dword [rsp + 0x40], 0xfffff7ff
mov eax, r13d
lock xadd dword [rsi + 0x10], eax
cmp eax, 1
jne 0x140028edb
mov rcx, qword [rsi]
test rcx, rcx
je 0x140028ebb
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], r12
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x140028ecd
call fcn.1400e0fb8
mov qword [rsi + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rsi
call fcn.1400e0fb8
nop
lea rcx, [rbp + 0xd8]
call fcn.1400176f0
mov r14d, r15d
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rbp + 0x68]
call fcn.1400176f0
mov rcx, qword [rbp - 0x70]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
lea rcx, [rbp + 0x88]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp + 0x70]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rbp + 0x78]
mov rax, qword [rcx]
lea rdx, [rbp + 0x70]
call qword [rax + 0x48]
test eax, eax
je 0x1400288c5
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbp + 0x78]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
mov r12, qword [rbp + 0x178]
mov r14, qword [r12]
movabs rax, 0x333333333333333
cmp qword [r12 + 8], rax
je 0x14002953d
mov qword [rbp + 0x1b8], r12
xor r13d, r13d
mov qword [rbp + 0x1c0], r13
lea ecx, [r13 + 0x50]
call fcn.1400e1108
mov rdx, rax
mov ecx, dword [rbp - 0x60]
mov dword [rax + 0x10], ecx
movzx ecx, byte [rbp - 0x5c]
mov byte [rax + 0x14], cl
mov rcx, qword [rbp - 0x58]
mov qword [rax + 0x18], rcx
test rcx, rcx
je 0x140028fbb
lock inc dword [rcx + 0x10]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbp - 0x50]
mov qword [rax + 0x20], rcx
test rcx, rcx
je 0x140028fd1
lock inc dword [rcx + 0x10]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbp - 0x48]
mov qword [rax + 0x28], rcx
test rcx, rcx
je 0x140028fe7
lock inc dword [rcx + 0x10]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbp - 0x40]
mov qword [rax + 0x30], rcx
test rcx, rcx
je 0x140028ffd
lock inc dword [rcx + 0x10]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbp - 0x38]
mov qword [rax + 0x38], rcx
test rcx, rcx
je 0x140029013
lock inc dword [rcx + 0x10]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbp - 0x30]
mov qword [rax + 0x40], rcx
test rcx, rcx
je 0x140029029
lock inc dword [rcx + 0x10]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rbp - 0x28]
mov qword [rax + 0x48], rsi
test rsi, rsi
je 0x140029043
lock inc dword [rsi + 0x10]
mov rsi, qword [rbp - 0x28]
mov rbx, qword [rsp + 0x60]
inc qword [r12 + 8]
mov rax, qword [r14 + 8]
mov qword [rdx], r14
mov qword [rdx + 8], rax
xor r12d, r12d
mov qword [rbp + 0x1c0], r12
mov qword [r14 + 8], rdx
mov qword [rax], rdx
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x140029074
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetDim]
nop
mov r13, 0xffffffffffffffff
test rbx, rbx
je 0x1400290c6
mov eax, r13d
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x1400290c2
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400290a3
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400290b5
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
mov rsi, qword [rbp - 0x28]
test rsi, rsi
je 0x14002910c
mov eax, r13d
lock xadd dword [rsi + 0x10], eax
cmp eax, 1
jne 0x14002910c
mov rbx, qword [rbp - 0x28]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400290ed
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400290ff
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x140029156
mov eax, r13d
lock xadd dword [rcx + 0x10], eax
cmp eax, 1
jne 0x140029156
mov rbx, qword [rbp - 0x30]
mov rcx, qword [rbx]
test rcx, rcx
je 0x140029137
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140029149
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x1400291a0
mov eax, r13d
lock xadd dword [rcx + 0x10], eax
cmp eax, 1
jne 0x1400291a0
mov rbx, qword [rbp - 0x38]
mov rcx, qword [rbx]
test rcx, rcx
je 0x140029181
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140029193
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x1400291ea
mov eax, r13d
lock xadd dword [rcx + 0x10], eax
cmp eax, 1
jne 0x1400291ea
mov rbx, qword [rbp - 0x40]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400291cb
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400291dd
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x140029234
mov eax, r13d
lock xadd dword [rcx + 0x10], eax
cmp eax, 1
jne 0x140029234
mov rbx, qword [rbp - 0x48]
mov rcx, qword [rbx]
test rcx, rcx
je 0x140029215
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140029227
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x14002927e
mov eax, r13d
lock xadd dword [rcx + 0x10], eax
cmp eax, 1
jne 0x14002927e
mov rbx, qword [rbp - 0x50]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14002925f
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x140029271
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x1400292c8
mov eax, r13d
lock xadd dword [rcx + 0x10], eax
cmp eax, 1
jne 0x1400292c8
mov rbx, qword [rbp - 0x58]
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400292a9
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x1400292bb
call fcn.1400e0fb8
mov qword [rbx + 8], r12
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, rbx
call fcn.1400e0fb8
mov rax, qword [rdi]
mov rdi, rax
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
je 0x1400292e8
mov esi, dword [rsp + 0x40]
mov r15, qword [rbp + 0xf8]
jmp 0x140026f50
mov rax, qword [rcx + 8]
mov qword [rax], r12
mov rcx, qword [rcx]
test rcx, rcx
je 0x140029315
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
call fcn.1400e0fb8
mov rcx, rbx
test rbx, rbx
jne 0x140029300
mov edx, reloc.OLEAUT32.dll_SafeArrayGetElement
mov rcx, qword [rsp + 0x78]
call fcn.1400e0fb8
mov al, 1
mov rcx, qword [rbp + 0xe30]
xor rcx, rsp
call fcn.1400e17a0
mov rbx, qword [rsp + 0xf90]
add rsp, 0xf40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
int3
lea rcx, str.list_too_long
call fcn.1400df1dc
int3
lea rcx, str.list_too_long
call fcn.1400df1dc
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
int3
mov ecx, eax
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
int3
mov ecx, eax
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
int3
mov ecx, 0x8007000e
call fcn.1400e0b70
int3
lea rcx, str.list_too_long
call fcn.1400df1dc
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
nop
mov ecx, 0x8007000e
call fcn.1400e0b70
int3