Function at 0x4162c7
Capabilities:
Create thread
Terminate thread

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1354
call fcn.0041cd70
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [ebp - 0xac]
call fcn.00409d71
lea eax, [ebp - 0x8c]
lea ecx, [ebp - 0xac]
push eax
call fcn.0040a1b3
push 0x4030
call fcn.0041cd9f
xor ebx, ebx
pop ecx
cmp eax, ebx
je 0x416315
mov ecx, eax
call fcn.00403f70
mov edi, eax
mov dword [ebp - 0x10], edi
jmp 0x41631a
mov dword [ebp - 0x10], ebx
mov edi, ebx
mov eax, dword [0x428bf4]
cmp eax, ebx
je 0x41633a
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jbe 0x41633a
push 0x428be8
mov ecx, edi
call fcn.004047ae
lea eax, [ebp - 0x60]
push 5
push eax
call fcn.0041063a
pop ecx
pop ecx
lea ecx, [ebp - 0x48]
call fcn.004016e9
push dword [0x428be0]
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], 0x422414
push 0x60
call fcn.00401d27
cmp dword [ebp - 0x3c], ebx
je 0x416378
push dword [ebp - 0x3c]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
test eax, eax
jne 0x4163ad
push str.Downloaded_Program_Updates
lea ecx, [ebp - 0x24]
call fcn.0040c621
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x48]
push eax
mov dword [ebp - 0x24], 0x422414
mov dword [ebp - 0x14], 0x409
call fcn.004021cc
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x38], eax
call fcn.004016fd
push dword [ebp - 0x3c]
lea ecx, [ebp - 0x60]
call fcn.004028cc
push 0x428bd4
lea ecx, [ebp - 0x60]
call fcn.004028cc
lea eax, [ebp - 0x60]
lea ecx, [edi + 8]
push eax
call fcn.004021cc
mov eax, dword [esi + 4]
mov dword [edi], eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x50]
push ebx
push eax
push 0x416777
push ebx
push ebx
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x50], esi
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0xc], eax
push 0x1000
lea eax, [ebp - 0x1354]
push ebx
push eax
mov dword [ebp - 0x354], ebx
call fcn.0041cd10
add esp, 0xc
lea eax, [ebp - 0x1354]
push dword [esi + 0x90]
mov ecx, edi
push eax
call fcn.004045d5
push ebx
mov dword [ebp - 8], eax
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
cmp dword [ebp - 8], 0xfffffffe
je 0x41667d
cmp dword [ebp - 8], 0xffffffff
je 0x4165f8
cmp dword [ebp - 8], 2
je 0x4165db
cmp dword [ebp - 0x354], ebx
jne 0x41648e
push 1
lea ecx, [ebp - 0x104]
call fcn.00405a66
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x104]
push dword [esi + 4]
call fcn.00416fda
lea ecx, [ebp - 0x104]
call fcn.00405b08
jmp 0x4165ae
push ebx
mov ecx, 0x428ca8
call fcn.0040b720
mov byte [ebp - 1], bl
lea eax, [ebp - 0x1354]
lea ecx, [ebp - 0x350]
push eax
call fcn.00418e23
mov eax, dword [esi + 4]
push ebx
push ebx
push ebx
push eax
lea ecx, [ebp - 0x350]
mov byte [ebp - 0x20c], 1
call fcn.00417644
cmp eax, 1
mov dword [ebp - 8], eax
je 0x4165d2
cmp eax, 4
je 0x4165d2
mov eax, dword [ebp - 0x210]
lea ecx, [eax - 0x2c]
neg eax
sbb eax, eax
and eax, ecx
mov dword [ebp - 0xc], eax
je 0x416534
mov edi, dword [sym.imp.USER32.dll_EnableWindow]
push ebx
push dword [esi + 4]
call edi
push dword [esi + 4]
cmp dword [ebp - 8], 3
push dword [ebp - 0xc]
sete al
push eax
call fcn.0040ab33
add esp, 0xc
cmp eax, 1
je 0x416531
push 1
mov byte [ebp - 1], 1
push dword [esi + 4]
call edi
lea eax, [ebp - 0x6c]
mov ecx, esi
push eax
push ebx
push 1
push ebx
call fcn.0041425f
mov edi, dword [ebp - 0x10]
lea ecx, [ebp - 0x350]
call fcn.00419268
cmp byte [ebp - 1], bl
je 0x41649c
cmp dword [ebp - 0x354], ebx
mov dword [esi + 0xb8], ebx
mov dword [ebp - 0xc], ebx
jle 0x41658f
lea eax, [ebp - 0x1354]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov edi, dword [eax]
mov ecx, edi
call fcn.00403e1e
mov eax, dword [edi + 0x2004]
add dword [ebp - 8], 4
add dword [esi + 0xb8], eax
inc dword [ebp - 0xc]
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x354]
jl 0x416562
mov edi, dword [ebp - 0x10]
mov ecx, esi
call fcn.00416818
mov eax, dword [esi + 0xa8]
xor edx, edx
cmp dword [esi + 0xb8], ebx
mov ecx, dword [eax]
sete dl
push edx
push eax
call dword [ecx + 0x3c]
lea eax, [ebp - 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
lea eax, [ebp - 0x34]
mov ecx, 0x428ca8
push eax
call fcn.00409d15
mov ecx, esi
call fcn.004168c0
jmp 0x4166b5
mov byte [ebp - 1], 1
jmp 0x416534
push 0x7f00
push ebx
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
push 0xfffffffffffffff4
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetClassLongA]
jmp 0x4166b5
mov eax, dword [edi + 0x18]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x18], ecx
push eax
push 0x425760
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x34], 0x422420
mov dword [ebp - 0x20], 0x64
mov byte [ebp - 0x1c], bl
mov dword [ebp - 0x14], ebx
call fcn.004016d3
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea ecx, [ebp - 0x20]
call fcn.0040665c
lea eax, [ebp - 0x34]
lea ecx, [ebp - 0x15c]
push eax
call fcn.00406838
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x15c]
call fcn.0040cbb4
lea ecx, [ebp - 0xfc]
call fcn.00417ff9
lea ecx, [ebp - 0x10c]
call fcn.004016fd
lea ecx, [ebp - 0x34]
jmp 0x4166b0
push 0x61
lea ecx, [ebp - 0x15c]
call fcn.0040672d
push ebx
push ebx
push ebx
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x15c]
call fcn.0040cbb4
lea ecx, [ebp - 0xfc]
call fcn.00417ff9
lea ecx, [ebp - 0x10c]
call fcn.004016fd
cmp dword [ebp - 0x354], ebx
mov dword [ebp - 8], ebx
jle 0x4166f5
lea eax, [ebp - 0x1354]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax]
cmp ecx, ebx
mov dword [ebp - 0x10], ecx
je 0x4166e3
call fcn.0040396e
push dword [ebp - 0x10]
call fcn.0041ccfb
pop ecx
inc dword [ebp - 8]
add dword [ebp - 0xc], 4
mov eax, dword [ebp - 8]
cmp eax, dword [ebp - 0x354]
jl 0x4166c9
push 0x1000
lea eax, [ebp - 0x1354]
push ebx
push eax
call fcn.0041cd10
add esp, 0xc
cmp edi, ebx
mov dword [ebp - 0x354], ebx
je 0x416722
mov ecx, edi
call fcn.0040a530
push edi
call fcn.0041ccfb
pop ecx
lea eax, [ebp - 0x68]
mov ecx, esi
push eax
push ebx
push 1
push ebx
call fcn.0041425f
push 1
push dword [esi + 4]
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x1000
lea eax, [ebp - 0x1354]
push ebx
push eax
call fcn.0041cd10
add esp, 0xc
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x354], ebx
call fcn.004016fd
lea ecx, [ebp - 0x60]
call fcn.0040166e
lea ecx, [ebp - 0xac]
call fcn.0040a50c
pop edi
pop esi
pop ebx
leave
ret