Function at 0x4047b0
Capabilities:
Delete registry value
Schedule task via itaskservice

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xdc
push ebx
push esi
push edi
push 0
mov dword [ebp - 0x74], 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jns 0x4047da
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0
push 0
push 0
push 3
push 6
push 0
push 0
push 0xffffffffffffffff
push 0
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x4da144
push 1
push 0
push 0x4cf97c
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x404944
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x98]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x98], xmm0
call ebx
movups xmm0, xmmword [ebp - 0x98]
lea eax, [ebp - 0x88]
push eax
movups xmmword [ebp - 0xa8], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x88], xmm0
call ebx
movups xmm0, xmmword [ebp - 0x88]
lea eax, [ebp - 0xd8]
push eax
movups xmmword [ebp - 0xb8], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0xd8], xmm0
call ebx
movups xmm0, xmmword [ebp - 0xd8]
lea eax, [ebp - 0x58]
push eax
movups xmmword [ebp - 0xc8], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x58], xmm0
call ebx
movups xmm0, xmmword [ebp - 0xa8]
mov eax, dword [ebp - 8]
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov edx, dword [eax]
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0xb8]
movups xmmword [ecx], xmm0
mov ecx, esp
sub esp, 0x10
movups xmm0, xmmword [ebp - 0xc8]
movups xmmword [ecx], xmm0
mov ecx, esp
movups xmm0, xmmword [ebp - 0x58]
push eax
movups xmmword [ecx], xmm0
call dword [edx + 0x28]
mov ebx, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov esi, eax
lea eax, [ebp - 0x58]
push eax
call ebx
lea eax, [ebp - 0xd8]
push eax
call ebx
lea eax, [ebp - 0x88]
push eax
call ebx
lea eax, [ebp - 0x98]
push eax
call ebx
test esi, esi
js 0x404944
mov edi, dword [ebp - 8]
mov ebx, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push 0x4da000
mov dword [ebp - 0x10], 0
call ebx
mov esi, eax
test esi, esi
je 0x405cc0
mov eax, dword [edi]
lea ecx, [ebp - 0x10]
push ecx
push esi
push edi
call dword [eax + 0x1c]
push esi
mov edi, eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
test edi, edi
jns 0x404967
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x404944
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 8]
test eax, eax
je 0x404f5a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp + 8]
mov edi, dword [ebp - 0x10]
mov dword [ebp - 0x20], 0
test eax, eax
jne 0x40497c
xor esi, esi
jmp 0x404989
push eax
call ebx
mov esi, eax
test esi, esi
je 0x405cc0
mov eax, dword [edi]
lea ecx, [ebp - 0x20]
push ecx
push esi
push edi
call dword [eax + 0x34]
push esi
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edi, eax
call esi
or ebx, 0xffffffff
test edi, edi
js 0x404c03
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x404c03
mov dword [ebp - 0x44], 0
lea edx, [ebp - 0x44]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x4c]
test eax, eax
js 0x404bf6
mov eax, dword [ebp - 0x44]
lea edx, [ebp - 0x70]
mov dword [ebp - 0x70], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
test eax, eax
js 0x404be9
mov eax, dword [ebp - 0x70]
lea edx, [ebp - 0x60]
push edx
mov dword [ebp - 0x60], 0
push 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
test eax, eax
js 0x404bdc
mov eax, dword [ebp - 0x60]
lea edx, [ebp - 0x5c]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
js 0x404bdc
cmp dword [ebp - 0x5c], 0
jne 0x404bdc
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x6c], 0
test eax, eax
je 0x404be9
mov ecx, dword [eax]
lea edx, [ebp - 0x6c]
push edx
push str.MbLk
push eax
call dword [ecx]
test eax, eax
js 0x404bdc
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x404bdc
mov dword [ebp - 0x24], 0
lea edx, [ebp - 0x24]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x30]
mov eax, dword [ebp - 0x24]
test eax, eax
jne 0x404a8c
push eax
call esi
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push 0x4d9ea8
call eax
mov dword [ebp - 0x24], eax
test eax, eax
je 0x405cc0
push eax
lea ecx, [ebp - 0x40]
call fcn.00403470
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x405cca
mov ecx, dword [ebp + 0xc]
push eax
push dword [ecx + 8]
call fcn.004a4268
mov edi, dword [ebp - 0x40]
add esp, 8
test eax, eax
je 0x404bb3
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
test eax, eax
je 0x404ae5
cmp dword [edi - 0xc], 0
jl 0x404ae5
push eax
push edi
call fcn.0049a763
add esp, 8
test eax, eax
je 0x404ae5
sub eax, edi
sar eax, 1
cmp eax, 0xffffffff
jne 0x404bb3
call fcn.004031c0
mov ecx, eax
test ecx, ecx
je 0x405cca
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x40]
push 0x4da048
mov dword [ebp - 0x40], eax
call fcn.004034f0
test al, al
jne 0x404b1d
push 0x4da048
lea ecx, [ebp - 0x40]
call fcn.004035c0
mov esi, dword [ebp - 0x40]
mov ecx, dword [esi - 0x10]
lea eax, [esi - 0x10]
mov dword [ebp - 4], eax
test ecx, ecx
je 0x404b38
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, eax
test ecx, ecx
jne 0x404b4e
call fcn.004031c0
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x10]
mov ecx, eax
test ecx, ecx
je 0x405cca
mov eax, dword [ecx]
call dword [eax + 0xc]
push dword [edi - 0xc]
add eax, 0x10
lea ecx, [ebp - 0x40]
push edi
push dword [esi - 0xc]
mov edx, esi
mov dword [ebp - 0x40], eax
call fcn.00403f90
mov esi, dword [ebp - 0x40]
add esp, 0xc
mov ecx, dword [ebp + 0xc]
push dword [esi - 0xc]
lea ecx, [ecx + 8]
push esi
call fcn.00404010
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x404b96
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 4]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x404bad
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x404bca
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x24]
call esi
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x404bdc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x404be9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x404bf6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x404c03
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 4], ecx
test eax, eax
jne 0x404c1a
xor esi, esi
jmp 0x404c2a
push eax
call edi
mov esi, eax
test esi, esi
je 0x405cc0
mov ecx, dword [ebp - 4]
mov eax, dword [ecx]
push 0
push esi
push ecx
call dword [eax + 0x3c]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 8]
lea edx, [ebp - 0xc]
push edx
mov dword [ebp - 0xc], 0
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x24]
test eax, eax
jns 0x404c9e
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x404c61
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x404c6e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x404c7b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 8]
test eax, eax
je 0x404f5a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x404cb2
mov dword [ebp - 8], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
mov eax, dword [ebp - 0x18]
jns 0x404d21
test eax, eax
je 0x404cd7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x404ce4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x404cf1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x404cfe
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 8]
test eax, eax
je 0x404f5a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [ebp - 4], eax
lea eax, [ebp - 0x5c]
push eax
call fcn.00406220
mov eax, dword [eax]
test eax, eax
jne 0x404d74
xor esi, esi
mov ecx, dword [ebp - 4]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x28]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edx, dword [ebp - 0x5c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x404d60
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x404d83
xor esi, esi
jmp 0x404d93
push eax
call edi
mov esi, eax
test esi, esi
je 0x405cd4
jmp 0x404d35
push eax
call edi
mov esi, eax
test esi, esi
je 0x405cc0
mov ecx, dword [ebp - 4]
mov eax, dword [ecx]
push esi
push ecx
call dword [eax + 0x20]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x404db5
mov dword [ebp - 0x18], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
mov eax, dword [ebp - 0x14]
jns 0x404e31
test eax, eax
je 0x404dda
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x404de7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x404df4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x404e01
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x404e0e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 8]
test eax, eax
je 0x404f5a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea edx, [ebp - 0x30]
mov dword [ebp - 0x30], 0
mov ecx, dword [eax]
push edx
push 9
push eax
call dword [ecx + 0x28]
mov ecx, dword [ebp - 0x14]
mov esi, eax
test ecx, ecx
je 0x404e5d
mov dword [ebp - 0x14], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
test esi, esi
jns 0x404ed2
test eax, eax
je 0x404e71
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x404e7b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x404e88
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x404e95
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x404ea2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x404eaf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 8]
test eax, eax
je 0x404f5a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [ebp - 0x1c], 0
test eax, eax
je 0x404f0f
mov ecx, dword [eax]
lea edx, [ebp - 0x1c]
push edx
push 0x4da134
push eax
call dword [ecx]
test eax, eax
jns 0x404ef8
mov dword [ebp - 0x1c], 0
jmp 0x404eff
mov eax, dword [ebp - 0x1c]
test eax, eax
jne 0x404f6c
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x404f0c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x404f19
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x404f26
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x404f33
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x404f40
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x404f4d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x404f5a
mov edx, dword [ecx]
push ecx
call dword [edx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov ecx, dword [eax]
push 0xffffffffffffffff
push eax
call dword [ecx + 0x4c]
mov eax, dword [ebp - 0x1c]
push 0x4da04c
mov dword [ebp - 4], eax
call edi
mov esi, eax
test esi, esi
je 0x405cc0
mov ecx, dword [ebp - 4]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x24]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], eax
lea eax, [ebp - 0x5c]
push eax
call fcn.004062b0
mov eax, dword [eax]
test eax, eax
jne 0x40502a
xor esi, esi
mov ecx, dword [ebp - 4]
push esi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x5c]
push esi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edx, dword [ebp - 0x5c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x404fde
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.004031c0
mov ecx, eax
test ecx, ecx
je 0x405cca
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov ecx, 0x3c
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
cdq
idiv ecx
push edx
push eax
lea eax, [ebp - 0x44]
push str.PT_dM_dS
push eax
call fcn.004040c0
mov esi, dword [ebp - 0x44]
add esp, 0x10
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 4], ecx
test esi, esi
jne 0x40503c
xor edi, edi
jmp 0x40504c
push eax
call edi
mov esi, eax
test esi, esi
je 0x405cde
jmp 0x404fb3
push esi
call edi
mov edi, eax
test edi, edi
je 0x405cc0
mov ecx, dword [ebp - 4]
mov eax, dword [ecx]
push edi
push ecx
call dword [eax + 0x54]
push edi
mov dword [ebp - 4], eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x405071
mov dword [ebp - 0x1c], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
cmp dword [ebp - 4], 0
jge 0x40510e
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x405090
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x40509d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4050aa
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4050b7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4050c4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x4050d1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x4050de
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x4050eb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 8]
test eax, eax
je 0x404f5a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
test eax, eax
mov eax, dword [ebp - 0x28]
jns 0x4051ca
test eax, eax
je 0x405137
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x40514c
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x405159
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x405166
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x405173
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x405180
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x40518d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x40519a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x4051a7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 8]
test eax, eax
je 0x404f5a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
lea edx, [ebp - 0x3c]
mov dword [ebp - 0x3c], 0
mov ecx, dword [eax]
push edx
push 0
push eax
call dword [ecx + 0x30]
mov ecx, dword [ebp - 0x28]
mov edi, eax
test ecx, ecx
je 0x4051f6
mov dword [ebp - 0x28], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x3c]
test edi, edi
jns 0x4052ab
test eax, eax
je 0x40520e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x405218
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x40522d
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x40523a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x405247
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x405254
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x405261
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x40526e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x40527b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x405288
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 8]
test eax, eax
je 0x404f5a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [ebp - 0x2c], 0
test eax, eax
je 0x4052eb
mov ecx, dword [eax]
lea edx, [ebp - 0x2c]
push edx
push str.MbLk
push eax
call dword [ecx]
test eax, eax
jns 0x4052d1
mov dword [ebp - 0x2c], 0
jmp 0x4052db
cmp dword [ebp - 0x2c], 0
jne 0x405388
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x4052e8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x4052f5
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x40530a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x405317
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x405324
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x405331
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x40533e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x40534b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x405358
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x405365
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 8]
test eax, eax
je 0x404f5a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
call fcn.004031c0
mov ecx, eax
test ecx, ecx
je 0x405cca
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x24]
push 0x4da074
mov dword [ebp - 0x24], eax
call fcn.004034f0
test al, al
jne 0x4053c2
push 1
push 0x4da074
lea ecx, [ebp - 0x24]
call fcn.00403760
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x24]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.00404010
push 1
push 0x4da074
lea ecx, [ebp - 0x24]
call fcn.00404010
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 4], ecx
test eax, eax
jne 0x4053f3
xor edi, edi
jmp 0x405408
push eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov edi, eax
test edi, edi
je 0x405cc0
mov ecx, dword [ebp - 4]
mov eax, dword [ecx]
push edi
push ecx
call dword [eax + 0x2c]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 4], ecx
mov eax, dword [eax + 4]
test eax, eax
jne 0x40542a
xor edi, edi
jmp 0x40543e
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
test edi, edi
je 0x405cc0
mov ecx, dword [ebp - 4]
mov eax, dword [ecx]
push edi
push ecx
call dword [eax + 0x3c]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 4], ecx
mov eax, dword [eax + 8]
test eax, eax
jne 0x405460
xor edi, edi
jmp 0x405474
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
test edi, edi
je 0x405cc0
mov ecx, dword [ebp - 4]
mov eax, dword [ecx]
push edi
push ecx
call dword [eax + 0x34]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 0x38]
mov dword [ebp - 0x38], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
test eax, eax
mov eax, dword [ebp - 0x38]
jns 0x40557f
test eax, eax
je 0x4054ab
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x24]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4054c5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x4054d2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x4054df
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x4054ec
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x405501
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x40550e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x40551b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x405528
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x405535
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x405542
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x40554f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x40555c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 8]
test eax, eax
je 0x404f5a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov dword [ebp + 0xc], eax
lea eax, [ebp - 4]
push eax
call fcn.00406220
mov eax, dword [eax]
test eax, eax
jne 0x405717
xor edi, edi
mov ecx, dword [ebp + 0xc]
push edi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x20]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edx, dword [ebp - 4]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4055c2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x38]
push 0x4da078
mov dword [ebp + 0xc], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
test edi, edi
je 0x405cc0
mov ecx, dword [ebp + 0xc]
push edi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x40]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x38]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x40560d
mov dword [ebp - 0x2c], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 0x34]
mov dword [ebp - 0x34], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
mov eax, dword [ebp - 0x34]
jns 0x40572d
test eax, eax
je 0x405636
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x405643
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x24]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40565d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x40566a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x405677
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x405684
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x405699
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x4056a6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x4056b3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x4056c0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4056cd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x4056da
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x4056e7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x4056f4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 8]
test eax, eax
je 0x404f5a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
test edi, edi
je 0x405ce8
jmp 0x405597
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x40]
mov eax, dword [ebp - 0x34]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [ebp - 0x34]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x34]
push str.PT0S
mov dword [ebp + 0xc], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov edi, eax
test edi, edi
je 0x405cc0
mov ecx, dword [ebp + 0xc]
push edi
push ecx
mov eax, dword [ecx]
call dword [eax + 0x70]
push edi
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x68]
mov dword [ebp - 0x68], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x9c]
test eax, eax
js 0x40579d
mov eax, dword [ebp - 0x68]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x4057b1
mov dword [ebp - 0x34], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x88]
xorps xmm0, xmm0
mov dword [ebp - 0x64], 0
push eax
movups xmmword [ebp - 0x88], xmm0
call edi
movups xmm0, xmmword [ebp - 0x88]
lea eax, [ebp - 0x98]
push eax
movups xmmword [ebp - 0xb8], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x98], xmm0
call edi
movups xmm0, xmmword [ebp - 0x98]
lea eax, [ebp - 4]
push eax
movups xmmword [ebp - 0xa8], xmm0
call fcn.00406220
mov edi, dword [eax]
xor eax, eax
mov word [ebp - 0x58], ax
lea eax, [ebp - 0x58]
push eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [ebp + 0xc], edi
call eax
test eax, eax
js 0x405cf2
mov eax, 8
push edi
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov word [ebp - 0x58], ax
call edi
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x405849
cmp dword [ebp + 0xc], eax
jne 0x405cf8
movups xmm0, xmmword [ebp - 0x58]
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov dword [ebp + 0xc], edx
movups xmmword [ebp - 0xc8], xmm0
test eax, eax
jne 0x405865
xor edi, edi
jmp 0x40587c
push eax
call edi
mov edi, eax
test edi, edi
je 0x405d12
movups xmm0, xmmword [ebp - 0xc8]
mov edx, dword [ebp + 0xc]
movups xmm1, xmmword [ebp - 0xb8]
mov ecx, dword [edx]
lea eax, [ebp - 0x64]
push eax
sub esp, 0x10
mov eax, esp
push 3
sub esp, 0x10
movups xmmword [eax], xmm1
mov eax, esp
sub esp, 0x10
movups xmm1, xmmword [ebp - 0xa8]
movups xmmword [eax], xmm1
mov eax, esp
push 6
push dword [ebp - 0xc]
push edi
push edx
movups xmmword [eax], xmm0
call dword [ecx + 0x44]
push edi
mov dword [ebp + 0xc], eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x58]
push eax
call edi
mov edx, dword [ebp - 4]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4058e4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x98]
push eax
call edi
lea eax, [ebp - 0x88]
push eax
call edi
cmp dword [ebp + 0xc], 0
jge 0x405b50
mov edi, dword [sym.imp.OLEAUT32.dll_VariantClear]
lea eax, [ebp - 0x88]
xorps xmm0, xmm0
push eax
movups xmmword [ebp - 0x88], xmm0
call edi
movups xmm0, xmmword [ebp - 0x88]
lea eax, [ebp - 0x98]
push eax
movups xmmword [ebp - 0xb8], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x98], xmm0
call edi
movups xmm0, xmmword [ebp - 0x98]
lea eax, [ebp - 4]
push eax
movups xmmword [ebp - 0xa8], xmm0
call fcn.004062b0
mov edi, dword [eax]
xor eax, eax
mov word [ebp - 0x58], ax
lea eax, [ebp - 0x58]
push eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov dword [ebp + 0xc], edi
call eax
test eax, eax
js 0x405d1c
mov eax, 8
push edi
mov edi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov word [ebp - 0x58], ax
call edi
mov dword [ebp - 0x50], eax
test eax, eax
jne 0x405991
cmp dword [ebp + 0xc], eax
jne 0x405cf8
movups xmm0, xmmword [ebp - 0x58]
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov dword [ebp + 0xc], edx
movups xmmword [ebp - 0xc8], xmm0
test eax, eax
jne 0x4059ad
xor edi, edi
jmp 0x4059c4
push eax
call edi
mov edi, eax
test edi, edi
je 0x405d08
movups xmm0, xmmword [ebp - 0xc8]
mov edx, dword [ebp + 0xc]
movups xmm1, xmmword [ebp - 0xb8]
mov ecx, dword [edx]
lea eax, [ebp - 0x64]
push eax
sub esp, 0x10
mov eax, esp
push 3
sub esp, 0x10
movups xmmword [eax], xmm1
mov eax, esp
sub esp, 0x10
movups xmm1, xmmword [ebp - 0xa8]
movups xmmword [eax], xmm1
mov eax, esp
push 6
push dword [ebp - 0xc]
push edi
push edx
movups xmmword [eax], xmm0
call dword [ecx + 0x44]
push edi
mov dword [ebp + 0xc], eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [ebp - 0x58]
push eax
call edi
mov edx, dword [ebp - 4]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x405a2c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x98]
push eax
call edi
lea eax, [ebp - 0x88]
push eax
call edi
cmp dword [ebp + 0xc], 0
jge 0x405b50
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x405a55
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x405a62
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x405a6f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x405a7c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x24]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x405a96
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x405aa3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x405ab0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x405abd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x405ad2
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x405adf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x405aec
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x405af9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x405b06
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x405b13
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x405b20
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x405b2d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 8]
test eax, eax
je 0x404f5a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x74], 1
test eax, eax
je 0x405b64
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x68]
test eax, eax
je 0x405b71
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x405b7e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x405b8b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edx, dword [ebp - 0x24]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x405ba5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x405bb2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x405bbf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x405bcc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x405be1
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x405bee
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x405bfb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x405c08
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x405c15
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x405c22
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x405c2f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x405c3c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 8]
test eax, eax
je 0x405c49
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
sub esp, 0xc
mov dword [ebp - 0x54], 0
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
call fcn.00404210
test eax, eax
jne 0x405c9c
mov eax, dword [ebp + 8]
mov esi, dword [ebp - 0x54]
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
test esi, esi
je 0x404f5a
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x404f5a
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov eax, dword [ebp - 0x74]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push 0x8007000e
call fcn.00402f10
push 0x80004005
call fcn.00402f10
push 0x8007000e
call fcn.00402f10
push 0x8007000e
call fcn.00402f10
push 0x8007000e
call fcn.00402f10
push eax
call fcn.00402f10
mov eax, 0xa
mov dword [ebp - 0x50], 0x8007000e
mov word [ebp - 0x58], ax
push 0x8007000e
call fcn.00402f10
push 0x8007000e
call fcn.00402f10
push eax
call fcn.00402f10
int3