Function at 0x14003bfc0
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 [0x1400a3758]
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 [0x1400a6650], rsi
jne 0x14003c066
lea edx, [r13 + 1]
lea rcx, str.Kernel32.dll
call fcn.140001700
mov rcx, rax
lea rdx, str.GetSystemDefaultLocaleName
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400a6650], rax
lea edx, [r13 + 1]
lea rcx, str.Kernel32.dll
call fcn.140001700
mov rcx, rax
lea rdx, str.GetUserDefaultLocaleName
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1400a6658], rax
mov rdx, qword [r12]
mov rcx, r12
call fcn.14003bc10
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.14003f8d0
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.140005340
mov word [rbp + 0x5f0], r12w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x5f2]
call fcn.14004e310
mov rcx, r15
call fcn.14003bfb0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0x5f0]
lea r8, [0x14007a7c4]
lea rdx, [rbp + 0x370]
lea rcx, str.Root
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
movabs r13, 0xaaaaaaaaaaaaaaa
test eax, eax
je 0x14003c204
nop dword [rax + rax]
lea rcx, [rbp + 0x5f0]
call fcn.140063f38
mov r14d, eax
mov rbx, qword [rsp + 0x78]
cmp qword [rbp - 0x80], r13
je 0x14003e8d8
lea rax, [rsp + 0x78]
mov qword [rbp + 0x198], rax
mov qword [rbp + 0x1a0], r12
mov edx, 1
lea rcx, [rsp + 0x78]
call fcn.14003f8d0
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.140005340
mov word [rbp + 0x5f0], r12w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x5f2]
call fcn.14004e310
mov rcx, r15
call fcn.14003bfb0
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0x5f0]
lea r8, [0x14007a7c4]
lea rdx, [rbp + 0x370]
lea rcx, str.Root
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
jne 0x14003c130
mov r14d, r12d
nop word [rax + rax]
mov word [rbp + 0xa10], r12w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0xa12]
call fcn.14004e310
mov ecx, 0x18
call fcn.14004bd50
mov rbx, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x14003c269
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 0x14003e7db
jmp 0x14003c26c
mov rbx, r12
mov qword [rbp + 0xa0], rbx
test rbx, rbx
je 0x14003e8cd
mov rax, qword [r15]
mov qword [rbp + 0x10], rax
test rax, rax
je 0x14003c290
lock inc dword [rax + 0x10]
mov esi, dword [rsp + 0x40]
bts esi, 7
mov dword [rsp + 0x40], esi
mov ecx, 0x18
call fcn.14004bd50
mov qword [rbp + 0xe8], rax
test rax, rax
je 0x14003c2c6
lea r8, [rbp + 0xa0]
lea rdx, [rbp + 0x10]
mov rcx, rax
call fcn.140006f00
mov rbx, rax
jmp 0x14003c2c9
mov rbx, r12
test rbx, rbx
je 0x14003e7d0
lea rcx, [rbp + 0x10]
call fcn.1400053c0
mov qword [rbp + 0x10], rbx
mov rbx, qword [rbx]
mov edx, r14d
lea rcx, [rbp + 0x180]
call fcn.14003f670
mov rcx, qword [rax]
test rcx, rcx
je 0x14003c2fe
mov rcx, qword [rcx]
jmp 0x14003c301
mov rcx, r12
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0xa10]
lea r8, [0x14007a7c4]
lea rdx, str.PrivateSetting_GadgetName
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ebx, eax
lea rcx, [rbp + 0x180]
call fcn.1400053c0
btr esi, 7
mov dword [rsp + 0x40], esi
lea rcx, [rbp + 0x10]
call fcn.1400053c0
nop
lea rcx, [rbp + 0xa0]
call fcn.1400053c0
test ebx, ebx
je 0x14003c3b7
mov ebx, r14d
not ebx
mov rdi, qword [rsp + 0x78]
cmp qword [rbp - 0x80], r13
je 0x14003e8e5
lea rax, [rsp + 0x78]
mov qword [rbp + 0x1a8], rax
mov qword [rbp + 0x1b0], r12
mov edx, 1
lea rcx, [rsp + 0x78]
call fcn.14003f8d0
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 0x14003c210
mov rcx, qword [rsp + 0x78]
mov rdi, qword [rcx]
cmp rdi, rcx
je 0x14003e76b
mov r13, 0xffffffffffffffff
nop
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
mov word [rbp + 0x3e0], r12w
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp + 0x3e2]
call fcn.14004e310
test r14d, r14d
js 0x14003c51b
mov rcx, r15
call fcn.14003bfb0
mov r15, rax
mov r8d, r14d
lea rdx, str.Section__d
lea rcx, [rbp + 0xc20]
call fcn.140005340
mov ecx, 0x18
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x310], rax
test rax, rax
je 0x14003c476
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 0x14003e7e6
jmp 0x14003c479
mov rbx, r12
test rbx, rbx
je 0x14003e8f2
or esi, 1
mov dword [rsp + 0x40], esi
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0x3e0]
lea r8, [0x14007a7c4]
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 0x14003c4f1
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003c4d2
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003c4e4
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
lea rdx, str.false
lea rcx, [rbp + 0x3e0]
call fcn.14005a3cc
test eax, eax
setne byte [rbp - 0x5c]
mov r14d, dword [rbp - 0x60]
mov esi, dword [rsp + 0x40]
mov r15, qword [rbp + 0xf8]
jmp 0x14003c51f
mov byte [rbp - 0x5c], 0
mov word [rbp + 0x3e0], r12w
test r14d, r14d
js 0x14003c58a
mov rcx, r15
call fcn.14003bfb0
mov rbx, rax
mov edx, r14d
lea rcx, [rbp + 0x188]
call fcn.14003f670
mov rcx, qword [rax]
test rcx, rcx
je 0x14003c553
mov rcx, qword [rcx]
jmp 0x14003c556
mov rcx, r12
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0x3e0]
lea r8, [0x14007a7c4]
lea rdx, str.PrivateSetting_GadgetName
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rbp + 0x188]
jmp 0x14003c6b3
mov ecx, 0x18
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x330], rax
test rax, rax
je 0x14003c5c9
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 0x14003e7f1
jmp 0x14003c5cc
mov rbx, r12
mov qword [rbp + 0xa8], rbx
test rbx, rbx
je 0x14003ea01
mov rax, qword [r15]
mov qword [rbp + 0x18], rax
test rax, rax
je 0x14003c5f4
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, 0x18
call fcn.14004bd50
mov qword [rbp + 0x368], rax
test rax, rax
je 0x14003c629
lea r8, [rbp + 0xa8]
lea rdx, [rbp + 0x18]
mov rcx, rax
call fcn.140006f00
mov rbx, rax
jmp 0x14003c62c
mov rbx, r12
test rbx, rbx
je 0x14003e9f6
lea rcx, [rbp + 0x18]
call fcn.1400053c0
mov qword [rbp + 0x18], rbx
mov rbx, qword [rbx]
mov edx, r13d
sub edx, r14d
lea rcx, [rbp + 0x190]
call fcn.14003f670
mov rcx, qword [rax]
test rcx, rcx
je 0x14003c664
mov rcx, qword [rcx]
jmp 0x14003c667
mov rcx, r12
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x104
lea r9, [rbp + 0x3e0]
lea r8, [0x14007a7c4]
lea rdx, str.PrivateSetting_GadgetName
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea rcx, [rbp + 0x190]
call fcn.1400053c0
and esi, 0xffffffef
mov dword [rsp + 0x40], esi
lea rcx, [rbp + 0x18]
call fcn.1400053c0
nop
lea rcx, [rbp + 0xa8]
call fcn.1400053c0
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 0x14003c76d
cmp dword [rbp - 0x10], 0
je 0x14003c76d
lea rdx, str._PROGRAMFILES_
lea rcx, [rbp + 0x3e0]
call fcn.14004ebac
test rax, rax
je 0x14003c76d
movups xmm0, xmmword [str._ProgramW6432]
movups xmmword [rbp + 0x1c8], xmm0
movsd xmm0, qword [0x14008a290]
movsd qword [rbp + 0x1d8], xmm0
mov ecx, dword [0x14008a298]
mov dword [rbp + 0x1e0], ecx
lea rcx, [rbp + 0x1c8]
mov r8, r13
nop dword [rax + rax]
inc r8
cmp word [rcx + r8*2], 0
jne 0x14003c750
add r8, r8
lea rdx, [rbp + 0x1c8]
mov rcx, rax
call fcn.14004fcc0
lea rdx, [rbp + 0x3e0]
lea rcx, [rbp + 0x160]
call fcn.14002cd00
nop
mov r14, qword [rax]
mov ecx, 0x18
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x320], rax
test rax, rax
je 0x14003c7c4
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 0x14003c7c7
test r14, r14
jne 0x14003e7fc
jmp 0x14003c7c7
mov rbx, r12
mov qword [rbp - 0x58], rbx
test rbx, rbx
je 0x14003e9eb
mov rcx, qword [rbp + 0x160]
call fcn.140059d2c
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x68], r12
mov edx, 0x104
lea rcx, [rbp + 0x800]
call qword [0x1400a6658]
test eax, eax
je 0x14003cc04
mov ecx, 0x18
call fcn.14004bd50
mov r13, rax
mov qword [rbp + 0x328], rax
test rax, rax
je 0x14003c844
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [0x140081d50]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [r13], rax
test rax, rax
je 0x14003e807
jmp 0x14003c847
mov r13, r12
mov qword [rbp + 0x338], r13
test r13, r13
je 0x14003e9e0
mov qword [rbp + 0x100], rbx
test rbx, rbx
je 0x14003c86f
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, 0x18
call fcn.14004bd50
mov r14, rax
mov qword [rbp + 0x340], rax
test rax, rax
je 0x14003c952
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
test rbx, rbx
je 0x14003c8b6
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003c8b6
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov r15d, eax
jmp 0x14003c8b9
mov r15d, r12d
mov rcx, qword [r13]
test rcx, rcx
je 0x14003c8cb
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov r12d, eax
lea esi, [r12 + r15]
cmp esi, r12d
jb 0x14003e812
mov eax, esi
add rax, rax
mov ecx, 0xffffffff
cmp rax, rcx
ja 0x14003e812
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 0x14003c90b
test esi, esi
jne 0x14003e812
jmp 0x14003c94d
test rbx, rbx
je 0x14003c92a
mov r8, qword [rbx]
test r8, r8
je 0x14003c92a
lea r9d, [r15 + 1]
add r9, r9
lea edx, [rsi + 1]
add rdx, rdx
call fcn.14003f950
mov r8, qword [r13]
test r8, r8
je 0x14003c94d
lea edx, [r12 + 1]
add rdx, rdx
mov ecx, r15d
mov rax, qword [r14]
lea rcx, [rax + rcx*2]
mov r9, rdx
call fcn.14003f950
xor r12d, r12d
jmp 0x14003c955
mov r14, r12
test r14, r14
je 0x14003e913
test rbx, rbx
je 0x14003c9a6
mov eax, 0xffffffff
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14003c9a6
mov rbx, qword [rbp - 0x58]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003c987
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003c999
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
mov qword [rbp + 0x100], r14
mov ecx, 0x18
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x360], rax
test rax, rax
je 0x14003c9ec
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 0x14003e81d
jmp 0x14003c9ef
mov rbx, r12
mov qword [rbp + 0xb8], rbx
test rbx, rbx
je 0x14003e913
mov qword [rbp + 0x28], r14
lock inc dword [r14 + 0x10]
or dword [rsp + 0x40], 8
mov ecx, 0x18
call fcn.14004bd50
mov qword [rbp + 0x218], rax
test rax, rax
je 0x14003ca3b
lea r8, [rbp + 0xb8]
lea rdx, [rbp + 0x28]
mov rcx, rax
call fcn.140006f00
mov rsi, rax
jmp 0x14003ca3e
mov rsi, r12
test rsi, rsi
je 0x14003e908
lea rcx, [rbp + 0x28]
call fcn.1400053c0
mov qword [rbp + 0x28], rsi
mov ecx, 0x18
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x220], rax
test rax, rax
je 0x14003ca93
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 0x14003e828
jmp 0x14003ca96
mov rbx, r12
mov qword [rbp + 0xb0], rbx
test rbx, rbx
je 0x14003e908
mov qword [rbp + 0x20], rsi
lock inc dword [rsi + 0x10]
or dword [rsp + 0x40], 0x40
mov ecx, 0x18
call fcn.14004bd50
mov qword [rbp + 0x228], rax
test rax, rax
je 0x14003cae1
lea r8, [rbp + 0xb0]
lea rdx, [rbp + 0x20]
mov rcx, rax
call fcn.140006f00
mov rsi, rax
jmp 0x14003cae4
mov rsi, r12
test rsi, rsi
je 0x14003e8fd
lea rcx, [rbp + 0x20]
call fcn.1400053c0
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.1400053c0
nop
lea rcx, [rbp + 0xb0]
call fcn.1400053c0
and ebx, 0xfffffff7
lea rcx, [rbp + 0x28]
call fcn.1400053c0
nop
lea rcx, [rbp + 0xb8]
call fcn.1400053c0
and ebx, 0xffffffdf
mov dword [rsp + 0x40], ebx
mov eax, 0xffffffff
lock xadd dword [r14 + 0x10], eax
cmp eax, 1
jne 0x14003cb81
mov rcx, qword [r14]
test rcx, rcx
je 0x14003cb61
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [r14], r12
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x14003cb73
call fcn.14004bd8c
mov qword [r14 + 8], r12
mov edx, 0x18
mov rcx, r14
call fcn.14004bd8c
nop
mov eax, 0xffffffff
lock xadd dword [r13 + 0x10], eax
cmp eax, 1
jne 0x14003cbc3
mov rcx, qword [r13]
test rcx, rcx
je 0x14003cba4
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [r13], r12
mov rcx, qword [r13 + 8]
test rcx, rcx
je 0x14003cbb6
call fcn.14004bd8c
mov qword [r13 + 8], r12
mov edx, 0x18
mov rcx, r13
call fcn.14004bd8c
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.14001cdd0
mov r15, rax
mov r13, 0xffffffffffffffff
cmp rax, r13
jne 0x14003d422
mov rbx, qword [rbp - 0x58]
mov esi, dword [rsp + 0x40]
mov edx, 0x104
lea rcx, [rbp + 0x800]
call qword [0x1400a6650]
test eax, eax
je 0x14003cf46
mov ecx, 0x18
call fcn.14004bd50
mov r14, rax
mov qword [rbp + 0x230], rax
test rax, rax
je 0x14003cc5d
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [0x140081d50]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [r14], rax
test rax, rax
je 0x14003e833
jmp 0x14003cc60
mov r14, r12
mov qword [rbp + 0xc8], r14
test r14, r14
je 0x14003e9e0
mov qword [rbp + 0x40], rbx
test rbx, rbx
je 0x14003cc85
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, 0x18
call fcn.14004bd50
mov qword [rbp + 0x238], rax
test rax, rax
je 0x14003ccbb
lea r8, [rbp + 0xc8]
lea rdx, [rbp + 0x40]
mov rcx, rax
call fcn.140006f00
mov rsi, rax
jmp 0x14003ccbe
mov rsi, r12
test rsi, rsi
je 0x14003e934
test rbx, rbx
je 0x14003cd0d
mov eax, r13d
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14003cd0d
mov rbx, qword [rbp - 0x58]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003ccee
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003cd00
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
mov qword [rbp + 0x40], rsi
mov ecx, 0x18
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x240], rax
test rax, rax
je 0x14003cd50
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 0x14003e83e
jmp 0x14003cd53
mov rbx, r12
mov qword [rbp + 0xc0], rbx
test rbx, rbx
je 0x14003e934
mov qword [rbp + 8], rsi
lock inc dword [rsi + 0x10]
or dword [rsp + 0x40], 0x100
mov ecx, 0x18
call fcn.14004bd50
mov qword [rbp + 0x248], rax
test rax, rax
je 0x14003cda1
lea r8, [rbp + 0xc0]
lea rdx, [rbp + 8]
mov rcx, rax
call fcn.140006f00
mov rsi, rax
jmp 0x14003cda4
mov rsi, r12
test rsi, rsi
je 0x14003e929
lea rcx, [rbp + 8]
call fcn.1400053c0
mov qword [rbp + 8], rsi
mov ecx, 0x18
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x250], rax
test rax, rax
je 0x14003cdf9
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 0x14003e849
jmp 0x14003cdfc
mov rbx, r12
mov qword [rbp + 0xe0], rbx
test rbx, rbx
je 0x14003e929
mov qword [rbp + 0x30], rsi
lock inc dword [rsi + 0x10]
or dword [rsp + 0x40], 0x200
mov ecx, 0x18
call fcn.14004bd50
mov qword [rbp + 0x258], rax
test rax, rax
je 0x14003ce4a
lea r8, [rbp + 0xe0]
lea rdx, [rbp + 0x30]
mov rcx, rax
call fcn.140006f00
mov r14, rax
jmp 0x14003ce4d
mov r14, r12
test r14, r14
je 0x14003e91e
lea rcx, [rbp + 0x30]
call fcn.1400053c0
mov qword [rbp + 0x30], r14
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x14003ceaf
mov ecx, r13d
lock xadd dword [rax + 0x10], ecx
cmp ecx, 1
jne 0x14003ceaf
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003ce90
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003cea2
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
mov qword [rsp + 0x68], r14
lock inc dword [r14 + 0x10]
mov esi, dword [rsp + 0x40]
btr esi, 9
lea rcx, [rbp + 0x30]
call fcn.1400053c0
nop
lea rcx, [rbp + 0xe0]
call fcn.1400053c0
btr esi, 8
lea rcx, [rbp + 8]
call fcn.1400053c0
nop
lea rcx, [rbp + 0xc0]
call fcn.1400053c0
btr esi, 0xa
mov dword [rsp + 0x40], esi
lea rcx, [rbp + 0x40]
call fcn.1400053c0
nop
lea rcx, [rbp + 0xc8]
call fcn.1400053c0
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.14001cdd0
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x14003d41b
mov rbx, qword [rbp - 0x58]
mov ecx, 0x18
call fcn.14004bd50
mov r15, rax
mov qword [rbp + 0x260], rax
test rax, rax
je 0x14003cf85
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 0x14003e854
jmp 0x14003cf88
mov r15, r12
mov qword [rbp + 0x108], r15
test r15, r15
je 0x14003e9e0
mov qword [rbp + 0x268], rbx
test rbx, rbx
je 0x14003cfb0
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, 0x18
call fcn.14004bd50
mov rsi, rax
mov qword [rbp + 0x270], rax
test rax, rax
je 0x14003d0d1
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
test rbx, rbx
je 0x14003cff7
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003cff7
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov r13d, eax
jmp 0x14003cffa
mov r13d, r12d
mov rcx, qword [r15]
test rcx, rcx
je 0x14003d00b
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov r12d, eax
lea r14d, [r12 + r13]
cmp r14d, r12d
jb 0x14003e85f
mov eax, r14d
add rax, rax
mov ecx, 0xffffffff
cmp rax, rcx
ja 0x14003e85f
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 0x14003d04e
test r14d, r14d
jne 0x14003e85f
jmp 0x14003d0cc
test rbx, rbx
je 0x14003d091
mov rdx, qword [rbx]
test rdx, rdx
je 0x14003d091
lea r8d, [r13 + 1]
lea r9d, [r14 + 1]
add r9, r9
add r8, r8
je 0x14003d091
cmp r9, r8
jb 0x14003d077
call fcn.14004fcc0
jmp 0x14003d091
mov r8, r9
xor edx, edx
call fcn.14004e310
call fcn.14005a36c
mov dword [rax], 0x22
call fcn.14005a158
mov rdx, qword [r15]
test rdx, rdx
je 0x14003d0cc
lea r8d, [r12 + 1]
add r8, r8
mov ecx, r13d
mov rax, qword [rsi]
lea rcx, [rax + rcx*2]
je 0x14003d0cc
test rcx, rcx
jne 0x14003d0c7
call fcn.14005a36c
mov dword [rax], 0x16
call fcn.14005a158
xor r12d, r12d
jmp 0x14003d0d4
call fcn.14004fcc0
xor r12d, r12d
jmp 0x14003d0d4
mov rsi, r12
test rsi, rsi
je 0x14003e9d5
mov r13, 0xffffffffffffffff
test rbx, rbx
je 0x14003d12a
mov eax, r13d
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14003d12a
mov rbx, qword [rbp - 0x58]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003d10b
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003d11d
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x14003d176
mov ecx, r13d
lock xadd dword [rax + 0x10], ecx
cmp ecx, 1
jne 0x14003d176
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003d157
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003d169
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
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 0x14003d1c2
mov rcx, qword [rsi]
test rcx, rcx
je 0x14003d1a2
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], r12
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14003d1b4
call fcn.14004bd8c
mov qword [rsi + 8], r12
mov edx, 0x18
mov rcx, rsi
call fcn.14004bd8c
nop
lea rcx, [rbp + 0x108]
call fcn.1400053c0
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.14001cdd0
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x14003d422
lea ecx, [rax + 0x19]
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x278], rax
test rax, rax
je 0x14003d23e
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 0x14003e86a
jmp 0x14003d241
mov rbx, r12
mov qword [rbp + 0xd0], rbx
test rbx, rbx
je 0x14003e9e0
mov r14, qword [rbp - 0x58]
mov qword [rbp + 0x110], r14
test r14, r14
je 0x14003d26a
lock inc dword [r14 + 0x10]
mov r14, qword [rbp - 0x58]
or dword [rsp + 0x40], 4
mov ecx, 0x18
call fcn.14004bd50
mov qword [rbp + 0x280], rax
test rax, rax
je 0x14003d2a0
lea r8, [rbp + 0xd0]
lea rdx, [rbp + 0x110]
mov rcx, rax
call fcn.140006f00
mov rbx, rax
jmp 0x14003d2a3
mov rbx, r12
test rbx, rbx
je 0x14003e93f
test r14, r14
je 0x14003d2f3
mov eax, r13d
lock xadd dword [r14 + 0x10], eax
cmp eax, 1
jne 0x14003d2f3
mov r14, qword [rbp - 0x58]
mov rcx, qword [r14]
test rcx, rcx
je 0x14003d2d4
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [r14], r12
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x14003d2e6
call fcn.14004bd8c
mov qword [r14 + 8], r12
mov edx, 0x18
mov rcx, r14
call fcn.14004bd8c
mov eax, r13d
lock xadd dword [rsi + 0x10], eax
cmp eax, 1
jne 0x14003d330
mov rcx, qword [rsi]
test rcx, rcx
je 0x14003d311
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], r12
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14003d323
call fcn.14004bd8c
mov qword [rsi + 8], r12
mov edx, 0x18
mov rcx, rsi
call fcn.14004bd8c
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 0x14003d37c
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003d35c
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003d36e
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
nop
lea rcx, [rbp + 0xd0]
call fcn.1400053c0
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.14001cdd0
mov r15, rax
cmp rax, 0xffffffffffffffff
jne 0x14003d422
lea ecx, [rax + 0x19]
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x288], rax
test rax, rax
je 0x14003d3f4
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [0x14007a7c4]
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rbx], rax
test rax, rax
je 0x14003e875
jmp 0x14003d3f7
mov rbx, r12
mov qword [rsp + 0x60], rbx
test rbx, rbx
je 0x14003e9e0
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x50], rax
test rax, rax
je 0x14003d572
jmp 0x14003d56e
mov r13, 0xffffffffffffffff
xor edx, edx
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
mov ecx, eax
call fcn.14004bfc4
mov rsi, rax
lea edx, [rbx + 1]
mov eax, 2
mul rdx
cmovo rax, r13
mov rcx, rax
call fcn.14004bfc4
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 0x14003d497
cmp byte [rsi], 0xef
jne 0x14003d497
cmp byte [rsi + 1], 0xbb
jne 0x14003d497
cmp byte [rsi + 2], 0xbf
jne 0x14003d497
lea r9d, [rbx - 3]
lea r8, [rsi + 3]
mov ecx, 0xfde9
jmp 0x14003d4e3
cmp eax, 2
jb 0x14003d4db
cmp byte [rsi], 0xff
jne 0x14003d4db
cmp byte [rsi + 1], 0xfe
jne 0x14003d4db
shr ebx, 1
lea r9d, [rbx - 1]
cmp ebx, 1
jbe 0x14003d4d4
lea rcx, [rsi + 2]
mov rdx, r14
mov r8d, r9d
nop dword [rax]
movzx eax, word [rcx]
mov word [rdx], ax
lea rdx, [rdx + 2]
lea rcx, [rcx + 2]
sub r8, 1
jne 0x14003d4c0
mov word [r14 + r9*2], r12w
jmp 0x14003d4fb
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, 0x18
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x290], rax
test rax, rax
je 0x14003d53b
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 0x14003d53e
test r14, r14
jne 0x14003e880
jmp 0x14003d53e
mov rbx, r12
mov qword [rsp + 0x60], rbx
test rbx, rbx
je 0x14003e9ca
mov rcx, r14
call fcn.14004bd8c
mov rcx, rsi
call fcn.14004bd8c
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 0x14003d5c0
mov rbx, qword [rsp + 0x68]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003d59a
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003d5ac
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
nop dword [rax]
mov rbx, qword [rsp + 0x60]
test rbx, rbx
je 0x14003d5cf
mov rcx, qword [rbx]
jmp 0x14003d5d2
mov rcx, r12
mov r8d, 4
lea rdx, [0x14008a3f0]
call fcn.14005bd3c
test eax, eax
jne 0x14003d6a1
test rbx, rbx
je 0x14003d5f6
mov rcx, qword [rbx]
jmp 0x14003d5f9
mov rcx, r12
lea rdx, [0x14008a400]
call fcn.14004ebac
mov rsi, rax
test rax, rax
je 0x14003d6a1
add rsi, 6
movzx ecx, word [rsi]
call fcn.14005bb40
test eax, eax
je 0x14003d631
add rsi, 2
movzx ecx, word [rsi]
call fcn.14005bb40
test eax, eax
jne 0x14003d621
mov ecx, 0x18
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x298], rax
test rax, rax
je 0x14003d66c
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 0x14003e88b
jmp 0x14003d66f
mov rbx, r12
test rbx, rbx
je 0x14003e94a
lea rcx, [rsp + 0x60]
call fcn.1400053c0
mov qword [rsp + 0x60], rbx
lock inc dword [rbx + 0x10]
mov eax, r13d
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14003d5c0
jmp 0x14003d589
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov qword [rbp - 0x20], r12
mov rax, qword [0x1400a5c18]
test rax, rax
je 0x14003d6d3
mov ecx, 1
call rax
mov edx, 0x200
mov ecx, dword [0x1400a555c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea r9, [0x14008b060]
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x14008c268]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
mov rdx, qword [0x1400a5c18]
test rdx, rdx
je 0x14003d720
xor ecx, ecx
call rdx
mov edx, 0x100
mov ecx, dword [0x1400a555c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov rdx, qword [0x1400a5c18]
test esi, esi
jne 0x14003e3de
mov word [rsp + 0x58], r12w
test rdx, rdx
je 0x14003d749
lea ecx, [rsi + 1]
call rdx
mov edx, 0x200
mov ecx, dword [0x1400a555c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rcx]
test rbx, rbx
je 0x14003d75a
mov rdx, qword [rbx]
jmp 0x14003d75d
mov rdx, r12
lea r8, [rsp + 0x58]
call qword [rax + 0x208]
mov rax, qword [0x1400a5c18]
test rax, rax
je 0x14003d789
xor ecx, ecx
call rax
mov edx, 0x100
mov ecx, dword [0x1400a555c]
call qword [sym.imp.KERNEL32.dll_TlsSetValue]
cmp word [rsp + 0x58], 0
jne 0x14003d81f
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 0x14003d813
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 + 0x10]
cmp word [rsp + 0x58], 0
je 0x14003e3de
mov rax, qword [rbp - 0x20]
mov rcx, qword [rax]
mov r14, qword [rcx + 0x128]
mov ecx, 0x18
call fcn.14004bd50
mov rsi, rax
mov qword [rbp + 0x2a0], rax
test rax, rax
je 0x14003d862
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.gadget
call fcn.14004dff0
mov qword [rsi], rax
jmp 0x14003d865
mov rsi, r12
mov qword [rbp + 0x128], rsi
test rsi, rsi
je 0x14003e9b2
lea r8, [rsp + 0x70]
mov rdx, qword [rsi]
mov rcx, qword [rbp - 0x20]
call r14
mov esi, eax
lea rcx, [rbp + 0x128]
call fcn.1400053c0
test esi, esi
jne 0x14003e3de
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
mov r14, qword [rcx + 0x128]
lea ecx, [rsi + 0x18]
call fcn.14004bd50
mov rsi, rax
mov qword [rbp + 0x2a8], rax
test rax, rax
je 0x14003d8dc
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.name
call fcn.14004dff0
mov qword [rsi], rax
jmp 0x14003d8df
mov rsi, r12
mov qword [rbp + 0x130], rsi
test rsi, rsi
je 0x14003e9a7
lea r8, [rsp + 0x50]
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x70]
call r14
mov esi, eax
lea rcx, [rbp + 0x130]
call fcn.1400053c0
test esi, esi
jne 0x14003d968
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
mov rsi, qword [rcx + 0xd0]
mov ecx, 0x18
call fcn.14004bd50
mov qword [rbp], rax
test rax, rax
je 0x14003d943
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
mov qword [rax], r12
jmp 0x14003d946
mov rax, r12
mov qword [rbp - 0x48], rax
test rax, rax
je 0x14003e9a7
mov rdx, rax
mov rcx, qword [rsp + 0x50]
call rsi
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
mov r14, qword [rcx + 0x128]
mov ecx, 0x18
call fcn.14004bd50
mov rsi, rax
mov qword [rbp + 0x318], rax
test rax, rax
je 0x14003d9ac
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.description
call fcn.14004dff0
mov qword [rsi], rax
jmp 0x14003d9af
mov rsi, r12
mov qword [rbp + 0x138], rsi
test rsi, rsi
je 0x14003e9a7
lea r8, [rsp + 0x50]
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x70]
call r14
mov esi, eax
lea rcx, [rbp + 0x138]
call fcn.1400053c0
test esi, esi
jne 0x14003da6a
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, 0x18
call fcn.14004bd50
mov qword [rbp], rax
test rax, rax
je 0x14003da37
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
mov qword [rax], r12
jmp 0x14003da3a
mov rax, r12
mov qword [rbp - 0x38], rax
test rax, rax
je 0x14003e955
mov rdx, rax
mov rcx, qword [rsp + 0x50]
call rsi
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
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, 0x18
call fcn.14004bd50
mov rsi, rax
mov qword [rbp + 0x2b0], rax
test rax, rax
je 0x14003daae
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.author
call fcn.14004dff0
mov qword [rsi], rax
jmp 0x14003dab1
mov rsi, r12
mov qword [rbp + 0x140], rsi
test rsi, rsi
je 0x14003e9a7
lea r8, [rsp + 0x50]
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x70]
call r14
mov esi, eax
lea rcx, [rbp + 0x140]
call fcn.1400053c0
test esi, esi
jne 0x14003dbdb
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea rdx, [rbp + 0x50]
call qword [rax + 0x88]
test eax, eax
jne 0x14003dbd0
mov rax, qword [rbp + 0x50]
mov rcx, qword [rax]
mov r14, qword [rcx + 0x38]
lea ecx, [rsi + 0x18]
call fcn.14004bd50
mov rsi, rax
mov qword [rbp + 0x2b8], rax
test rax, rax
je 0x14003db3f
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.name
call fcn.14004dff0
mov qword [rsi], rax
jmp 0x14003db42
mov rsi, r12
mov qword [rbp + 0x148], rsi
test rsi, rsi
je 0x14003e960
lea r8, [rbp + 0x48]
mov rdx, qword [rsi]
mov rcx, qword [rbp + 0x50]
call r14
mov esi, eax
lea rcx, [rbp + 0x148]
call fcn.1400053c0
test esi, esi
jne 0x14003dbc6
mov rax, qword [rbp + 0x48]
mov rcx, qword [rax]
mov rsi, qword [rcx + 0xd0]
mov ecx, 0x18
call fcn.14004bd50
mov qword [rbp], rax
test rax, rax
je 0x14003dba3
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
mov qword [rax], r12
jmp 0x14003dba6
mov rax, r12
mov qword [rbp - 0x40], rax
test rax, rax
je 0x14003e960
mov rdx, rax
mov rcx, qword [rbp + 0x48]
call rsi
mov rcx, qword [rbp + 0x48]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
mov r14, qword [rcx + 0x128]
mov ecx, 0x18
call fcn.14004bd50
mov rsi, rax
mov qword [rbp + 0x2c0], rax
test rax, rax
je 0x14003dc1f
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.version
call fcn.14004dff0
mov qword [rsi], rax
jmp 0x14003dc22
mov rsi, r12
mov qword [rbp + 0x150], rsi
test rsi, rsi
je 0x14003e9a7
lea r8, [rsp + 0x50]
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x70]
call r14
mov esi, eax
lea rcx, [rbp + 0x150]
call fcn.1400053c0
test esi, esi
jne 0x14003dcab
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
mov rsi, qword [rcx + 0xd0]
mov ecx, 0x18
call fcn.14004bd50
mov qword [rbp], rax
test rax, rax
je 0x14003dc86
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
mov qword [rax], r12
jmp 0x14003dc89
mov rax, r12
mov qword [rbp - 0x30], rax
test rax, rax
je 0x14003e9a7
mov rdx, rax
mov rcx, qword [rsp + 0x50]
call rsi
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
mov r14, qword [rcx + 0x128]
mov ecx, 0x18
call fcn.14004bd50
mov rsi, rax
mov qword [rbp + 0x2c8], rax
test rax, rax
je 0x14003dcef
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.icons
call fcn.14004dff0
mov qword [rsi], rax
jmp 0x14003dcf2
mov rsi, r12
mov qword [rbp], rsi
test rsi, rsi
je 0x14003e9a7
lea r8, [rsp + 0x50]
mov rdx, qword [rsi]
mov rcx, qword [rsp + 0x70]
call r14
mov esi, eax
lea rcx, [rbp]
call fcn.1400053c0
test esi, esi
jne 0x14003e3d3
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
lea rdx, [rbp + 0x78]
call qword [rax + 0x60]
test eax, eax
jne 0x14003e3c8
mov r14d, 0x1000
mov rcx, qword [rbp + 0x78]
mov rax, qword [rcx]
lea rdx, [rbp + 0x70]
call qword [rax + 0x48]
test eax, eax
jne 0x14003e3be
mov rcx, qword [rbp + 0x70]
mov rax, qword [rcx]
lea rdx, [rbp - 0x70]
call qword [rax + 0x88]
test eax, eax
jne 0x14003e399
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, 0x18
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x2d0], rax
test rax, rax
je 0x14003ddbc
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.height
call fcn.14004dff0
mov qword [rbx], rax
jmp 0x14003ddbf
mov rbx, r12
mov qword [rbp + 0x158], rbx
test rbx, rbx
je 0x14003e99c
lea r8, [rbp - 0x78]
mov rdx, qword [rbx]
mov rcx, qword [rbp - 0x70]
call rsi
mov ebx, eax
lea rcx, [rbp + 0x158]
call fcn.1400053c0
test ebx, ebx
jne 0x14003df0e
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 0x14003de6b
mov rsi, qword [rbp + 0x90]
lea ecx, [rbx + 0x18]
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x2d8], rax
test rax, rax
je 0x14003de56
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 0x14003de59
test rsi, rsi
jne 0x14003e896
jmp 0x14003de59
mov rbx, r12
mov qword [rbp + 0x58], rbx
test rbx, rbx
je 0x14003e8a1
jmp 0x14003dee8
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 0x14003e976
mov rbx, qword [rbp + 0x1f0]
mov ecx, 0x18
call fcn.14004bd50
mov qword [rbp + 0x2e0], rax
test rax, rax
je 0x14003decb
mov rdx, rbx
mov rcx, rax
call fcn.14003bca0
mov rbx, rax
jmp 0x14003dece
mov rbx, r12
mov qword [rbp + 0x58], rbx
test rbx, rbx
je 0x14003e96b
lea rcx, [rbp + 0x1e8]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbx]
call fcn.140063f38
mov r15d, eax
mov dword [rbp + 0xe8], eax
lea rcx, [rbp + 0x58]
call fcn.1400053c0
mov rcx, qword [rbp - 0x78]
mov rdx, qword [rcx]
call qword [rdx + 0x10]
jmp 0x14003df15
mov r15d, dword [rbp + 0xe8]
mov rcx, qword [rbp - 0x70]
mov rdx, qword [rcx]
mov rsi, qword [rdx + 0x38]
mov ecx, 0x18
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x2e8], rax
test rax, rax
je 0x14003df55
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, str.width
call fcn.14004dff0
mov qword [rbx], rax
jmp 0x14003df58
mov rbx, r12
mov qword [rbp + 0xf0], rbx
test rbx, rbx
je 0x14003e99c
lea r8, [rbp - 0x78]
mov rdx, qword [rbx]
mov rcx, qword [rbp - 0x70]
call rsi
mov ebx, eax
lea rcx, [rbp + 0xf0]
call fcn.1400053c0
test ebx, ebx
jne 0x14003e0e8
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
lea rdx, [rbp + 0x88]
call qword [rax + 0x40]
cmp word [rbp + 0x88], 8
jne 0x14003dffc
mov rsi, qword [rbp + 0x90]
lea ecx, [rbx + 0x18]
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x2f0], rax
test rax, rax
je 0x14003dfeb
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 0x14003dfee
test rsi, rsi
jne 0x14003e8ac
jmp 0x14003dfee
mov rbx, r12
test rbx, rbx
je 0x14003e8b7
jmp 0x14003e08f
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 0x14003e989
mov rsi, qword [rbp + 0x208]
mov ecx, 0x18
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x2f8], rax
test rax, rax
je 0x14003e076
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 0x14003e079
test rsi, rsi
jne 0x14003e8c2
jmp 0x14003e079
mov rbx, r12
test rbx, rbx
je 0x14003e97e
lea rcx, [rbp + 0x200]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbx]
call fcn.140063f38
mov esi, eax
mov dword [rbp - 8], eax
mov ecx, r13d
lock xadd dword [rbx + 0x10], ecx
cmp ecx, 1
jne 0x14003e0dc
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003e0ba
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003e0cc
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
mov dword [rbp - 8], esi
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
call qword [rax + 0x10]
jmp 0x14003e0eb
mov esi, dword [rbp - 8]
cmp r15d, 0x10
jl 0x14003e381
cmp esi, 0x10
jl 0x14003e381
add r15d, esi
cmp r15d, r14d
jge 0x14003e381
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax]
mov rsi, qword [rcx + 0x38]
mov ecx, 0x18
call fcn.14004bd50
mov rbx, rax
mov qword [rbp + 0x300], rax
test rax, rax
je 0x14003e14a
mov qword [rax + 8], r12
mov dword [rax + 0x10], 1
lea rcx, [0x14008a450]
call fcn.14004dff0
mov qword [rbx], rax
jmp 0x14003e14d
mov rbx, r12
mov qword [rbp + 0x168], rbx
test rbx, rbx
je 0x14003e99c
lea r8, [rbp - 0x78]
mov rdx, qword [rbx]
mov rcx, qword [rbp - 0x70]
call rsi
mov ebx, eax
lea rcx, [rbp + 0x168]
call fcn.1400053c0
test ebx, ebx
jne 0x14003e381
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.14003bcf0
nop
mov rax, qword [rbp + 0x68]
test rax, rax
je 0x14003e1b0
mov rcx, qword [rax]
jmp 0x14003e1b3
mov rcx, r12
mov edx, 0x2f
call fcn.14004eb30
test rax, rax
je 0x14003e1dd
mov word [rax], 0x5c
mov edx, 0x2f
lea rcx, [rax + 2]
call fcn.14004eb30
test rax, rax
jne 0x14003e1c2
xor r12d, r12d
lea rdx, [0x140081d50]
lea rcx, [rbp + 0xd8]
call fcn.1400070d0
nop
mov rbx, qword [rbp - 0x58]
mov qword [rbp + 0x60], rbx
test rbx, rbx
je 0x14003e206
lock inc dword [rbx + 0x10]
mov rbx, qword [rbp - 0x58]
or dword [rsp + 0x40], 0x800
mov ecx, 0x18
call fcn.14004bd50
mov qword [rbp + 0x308], rax
test rax, rax
je 0x14003e23c
lea r8, [rbp + 0xd8]
lea rdx, [rbp + 0x60]
mov rcx, rax
call fcn.140006f00
mov rsi, rax
jmp 0x14003e23f
mov rsi, r12
test rsi, rsi
je 0x14003e991
test rbx, rbx
je 0x14003e28e
mov eax, r13d
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14003e28e
mov rbx, qword [rbp - 0x58]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003e26f
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003e281
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
mov qword [rbp + 0x60], rsi
lea r8, [rbp + 0x68]
lea rdx, [rbp + 0x170]
lea rcx, [rbp + 0x60]
call fcn.1400074d0
mov r14, rax
lea rax, [rbp - 0x28]
cmp rax, r14
je 0x14003e30c
mov rdx, qword [rbp - 0x28]
test rdx, rdx
je 0x14003e2fc
mov ecx, r13d
lock xadd dword [rdx + 0x10], ecx
cmp ecx, 1
jne 0x14003e2fc
mov rbx, qword [rbp - 0x28]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003e2dd
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003e2ef
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
mov rax, qword [r14]
mov qword [rbp - 0x28], rax
test rax, rax
je 0x14003e30c
lock inc dword [rax + 0x10]
lea rcx, [rbp + 0x170]
call fcn.1400053c0
and dword [rsp + 0x40], 0xfffff7ff
mov eax, r13d
lock xadd dword [rsi + 0x10], eax
cmp eax, 1
jne 0x14003e35e
mov rcx, qword [rsi]
test rcx, rcx
je 0x14003e33e
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rsi], r12
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14003e350
call fcn.14004bd8c
mov qword [rsi + 8], r12
mov edx, 0x18
mov rcx, rsi
call fcn.14004bd8c
nop
lea rcx, [rbp + 0xd8]
call fcn.1400053c0
mov r14d, r15d
mov rcx, qword [rbp - 0x78]
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
lea rcx, [rbp + 0x68]
call fcn.1400053c0
mov rcx, qword [rbp - 0x70]
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
lea rcx, [rbp + 0x88]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov rcx, qword [rbp + 0x70]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x78]
mov rax, qword [rcx]
lea rdx, [rbp + 0x70]
call qword [rax + 0x48]
test eax, eax
je 0x14003dd55
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbp + 0x78]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x70]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov r12, qword [rbp + 0x178]
mov r14, qword [r12]
movabs rax, 0x333333333333333
cmp qword [r12 + 8], rax
je 0x14003e9bd
mov qword [rbp + 0x1b8], r12
xor r13d, r13d
mov qword [rbp + 0x1c0], r13
lea ecx, [r13 + 0x50]
call fcn.14004bd50
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 0x14003e43e
lock inc dword [rcx + 0x10]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbp - 0x50]
mov qword [rax + 0x20], rcx
test rcx, rcx
je 0x14003e454
lock inc dword [rcx + 0x10]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbp - 0x48]
mov qword [rax + 0x28], rcx
test rcx, rcx
je 0x14003e46a
lock inc dword [rcx + 0x10]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbp - 0x40]
mov qword [rax + 0x30], rcx
test rcx, rcx
je 0x14003e480
lock inc dword [rcx + 0x10]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbp - 0x38]
mov qword [rax + 0x38], rcx
test rcx, rcx
je 0x14003e496
lock inc dword [rcx + 0x10]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbp - 0x30]
mov qword [rax + 0x40], rcx
test rcx, rcx
je 0x14003e4ac
lock inc dword [rcx + 0x10]
mov rbx, qword [rsp + 0x60]
mov rsi, qword [rbp - 0x28]
mov qword [rax + 0x48], rsi
test rsi, rsi
je 0x14003e4c6
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 0x14003e4f7
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov r13, 0xffffffffffffffff
test rbx, rbx
je 0x14003e549
mov eax, r13d
lock xadd dword [rbx + 0x10], eax
cmp eax, 1
jne 0x14003e545
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003e526
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003e538
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
mov rsi, qword [rbp - 0x28]
test rsi, rsi
je 0x14003e58f
mov eax, r13d
lock xadd dword [rsi + 0x10], eax
cmp eax, 1
jne 0x14003e58f
mov rbx, qword [rbp - 0x28]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003e570
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003e582
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14003e5d9
mov eax, r13d
lock xadd dword [rcx + 0x10], eax
cmp eax, 1
jne 0x14003e5d9
mov rbx, qword [rbp - 0x30]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003e5ba
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003e5cc
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
mov rcx, qword [rbp - 0x38]
test rcx, rcx
je 0x14003e623
mov eax, r13d
lock xadd dword [rcx + 0x10], eax
cmp eax, 1
jne 0x14003e623
mov rbx, qword [rbp - 0x38]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003e604
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003e616
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
mov rcx, qword [rbp - 0x40]
test rcx, rcx
je 0x14003e66d
mov eax, r13d
lock xadd dword [rcx + 0x10], eax
cmp eax, 1
jne 0x14003e66d
mov rbx, qword [rbp - 0x40]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003e64e
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003e660
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x14003e6b7
mov eax, r13d
lock xadd dword [rcx + 0x10], eax
cmp eax, 1
jne 0x14003e6b7
mov rbx, qword [rbp - 0x48]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003e698
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003e6aa
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
mov rcx, qword [rbp - 0x50]
test rcx, rcx
je 0x14003e701
mov eax, r13d
lock xadd dword [rcx + 0x10], eax
cmp eax, 1
jne 0x14003e701
mov rbx, qword [rbp - 0x50]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003e6e2
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003e6f4
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
mov rcx, qword [rbp - 0x58]
test rcx, rcx
je 0x14003e74b
mov eax, r13d
lock xadd dword [rcx + 0x10], eax
cmp eax, 1
jne 0x14003e74b
mov rbx, qword [rbp - 0x58]
mov rcx, qword [rbx]
test rcx, rcx
je 0x14003e72c
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
mov qword [rbx], r12
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x14003e73e
call fcn.14004bd8c
mov qword [rbx + 8], r12
mov edx, 0x18
mov rcx, rbx
call fcn.14004bd8c
mov rax, qword [rdi]
mov rdi, rax
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
je 0x14003e76b
mov esi, dword [rsp + 0x40]
mov r15, qword [rbp + 0xf8]
jmp 0x14003c3d0
mov rax, qword [rcx + 8]
mov qword [rax], r12
mov rcx, qword [rcx]
test rcx, rcx
je 0x14003e795
nop word [rax + rax]
mov rbx, qword [rcx]
mov edx, 0x18
call fcn.14004bd8c
mov rcx, rbx
test rbx, rbx
jne 0x14003e780
mov edx, 0x18
mov rcx, qword [rsp + 0x78]
call fcn.14004bd8c
mov al, 1
mov rcx, qword [rbp + 0xe30]
xor rcx, rsp
call fcn.14004bd30
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.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
int3
lea rcx, str.list_too_long
call fcn.14004cdac
int3
lea rcx, str.list_too_long
call fcn.14004cdac
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
int3
mov ecx, eax
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
int3
mov ecx, eax
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
int3
mov ecx, 0x8007000e
call fcn.14004dd40
int3
lea rcx, str.list_too_long
call fcn.14004cdac
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
nop
mov ecx, 0x8007000e
call fcn.14004dd40
int3