Function at 0x410022
Capabilities:
Execute vbscript javascript or jscript in memory

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x41a140]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov dword [ebp - 0x2c], edx
mov edi, ecx
mov dword [ebp - 0x38], eax
call fcn.004082d2
xor ebx, ebx
push 0x5c
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
call fcn.004195a6
pop ecx
test eax, eax
je 0x4102fb
push ecx
mov ecx, eax
call fcn.0040fc99
mov esi, eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
test esi, esi
je 0x4102fe
push 0x1000
lea ecx, [esi + 0x38]
call fcn.00416fd2
mov ebx, eax
mov dword [ebp - 0x1c], esi
test ebx, ebx
js 0x410303
mov eax, dword [ebp - 0x2c]
mov dword [esi + 0x34], eax
lea eax, [ebp - 0x18]
push eax
push edi
call dword [sym.imp.ole32.dll_CLSIDFromString]
mov ebx, eax
mov dword [ebp - 0x1c], esi
test ebx, ebx
js 0x410303
lea edx, [ebp - 0x18]
mov edi, 0x40296c
xor ecx, ecx
mov eax, dword [edx + ecx*4]
cmp eax, dword [edi + ecx*4]
jne 0x4100f9
inc ecx
cmp ecx, 4
jne 0x4100bc
push ecx
push ecx
push 1
mov ecx, 0x41a668
call fcn.004111be
lea ecx, [ebp - 0x24]
call fcn.0040ff3e
test eax, eax
js 0x4100f9
cmp dword [ebp - 0x24], 0
je 0x4100f9
mov esi, 0x40295c
lea edi, [ebp - 0x18]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x20]
lea eax, [ebp - 0x28]
push eax
push 0x401d98
push 0x17
push 0
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov ebx, eax
mov dword [ebp - 0x1c], esi
test ebx, ebx
js 0x410303
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov edi, dword [eax]
lea eax, [esi + 0x2c]
mov esi, esp
mov dword [ebp - 0x24], eax
push eax
push 0x402604
push ecx
mov ecx, edi
call dword [0x41b38c]
call edi
cmp esi, esp
je 0x410148
mov ecx, 4
int 0x29
mov edx, dword [ebp - 0x20]
mov ebx, eax
mov dword [ebp - 0x1c], edx
test ebx, ebx
js 0x410303
mov ecx, dword [ebp - 0x28]
mov esi, esp
mov eax, dword [ecx]
mov edi, dword [eax]
lea eax, [edx + 0x30]
push eax
push 0x402578
push ecx
mov ecx, edi
mov dword [ebp - 0x34], eax
call dword [0x41b38c]
call edi
cmp esi, esp
je 0x410183
mov ecx, 4
int 0x29
mov edx, dword [ebp - 0x20]
mov ebx, eax
mov dword [ebp - 0x1c], edx
test ebx, ebx
js 0x410303
mov ecx, dword [edx + 0x2c]
mov esi, esp
push edx
push ecx
mov eax, dword [ecx]
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [0x41b38c]
call edi
cmp esi, esp
je 0x4101b4
mov ecx, 4
int 0x29
mov esi, dword [ebp - 0x20]
mov ebx, eax
mov dword [ebp - 0x1c], esi
test ebx, ebx
js 0x410303
mov eax, dword [ebp - 0x34]
mov edi, esp
mov dword [ebp - 0x30], 1
mov eax, dword [eax]
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0xc]
mov ecx, esi
call dword [0x41b38c]
call esi
cmp edi, esp
je 0x4101ed
mov ecx, 4
int 0x29
mov esi, dword [ebp - 0x20]
mov ebx, eax
mov dword [ebp - 0x1c], esi
test ebx, ebx
js 0x410303
mov eax, dword [ebp - 0x24]
mov esi, esp
push 2
push 0x4028fc
mov ecx, dword [eax]
push ecx
mov eax, dword [ecx]
mov edi, dword [eax + 0x20]
mov ecx, edi
call dword [0x41b38c]
call edi
cmp esi, esp
je 0x410226
mov ecx, 4
int 0x29
mov esi, dword [ebp - 0x20]
mov ebx, eax
mov dword [ebp - 0x1c], esi
test ebx, ebx
js 0x410303
mov eax, dword [ebp - 0x24]
mov esi, esp
push 2
push 0x40290c
mov ecx, dword [eax]
push ecx
mov eax, dword [ecx]
mov edi, dword [eax + 0x20]
mov ecx, edi
call dword [0x41b38c]
call edi
cmp esi, esp
je 0x41025f
mov ecx, 4
int 0x29
mov esi, dword [ebp - 0x20]
mov ebx, eax
mov dword [ebp - 0x1c], esi
test ebx, ebx
js 0x410303
mov eax, dword [ebp - 0x24]
mov esi, esp
push 5
mov ecx, dword [eax]
push ecx
mov eax, dword [ecx]
mov edi, dword [eax + 0x14]
mov ecx, edi
call dword [0x41b38c]
call edi
cmp esi, esp
je 0x410293
mov ecx, 4
int 0x29
mov edx, dword [ebp - 0x20]
mov ebx, eax
mov dword [ebp - 0x1c], edx
test ebx, ebx
js 0x410303
mov eax, dword [ebp - 0x2c]
mov al, byte [eax + 0x33]
mov byte [edx + 0x58], al
test al, al
je 0x4102e0
mov ecx, dword [edx + 0x2c]
mov esi, esp
mov eax, dword [ecx]
mov edi, dword [eax]
lea eax, [edx + 0x54]
push eax
push 0x4025c0
push ecx
mov ecx, edi
call dword [0x41b38c]
call edi
cmp esi, esp
je 0x4102d4
mov ecx, 4
int 0x29
mov edx, dword [ebp - 0x20]
mov ebx, eax
mov dword [ebp - 0x1c], edx
test ebx, ebx
js 0x410303
mov eax, dword [0x41a620]
and dword [ebp - 0x1c], 0
inc eax
mov dword [edx + 0x28], eax
xor ebx, ebx
mov dword [0x41a620], eax
mov eax, dword [ebp - 0x38]
mov dword [eax], edx
jmp 0x410303
mov dword [ebp - 0x1c], ebx
mov ebx, 0x8007000e
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x410327
mov eax, dword [ecx]
mov edi, esp
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x41b38c]
call esi
cmp edi, esp
je 0x410327
mov ecx, 4
int 0x29
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x410374
cmp dword [ebp - 0x30], 0
je 0x410357
mov eax, dword [ecx + 0x2c]
mov edi, esp
push eax
mov ecx, dword [eax]
mov esi, dword [ecx + 0x1c]
mov ecx, esi
call dword [0x41b38c]
call esi
cmp edi, esp
je 0x410354
mov ecx, 4
int 0x29
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ecx]
mov edi, esp
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x41b38c]
call esi
cmp edi, esp
je 0x410374
mov ecx, 4
int 0x29
mov ecx, dword [ebp - 8]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00419610
leave
ret 4