Function at 0x40d889
Capabilities:
Check os version
Hide graphical window

Disassembly:
push 0x598
mov eax, 0x4396a1
call fcn.0041a5b5
mov dword [ebp - 0x568], edx
mov esi, ecx
mov dword [ebp - 0x550], esi
mov dword [ebp - 0x558], esi
mov eax, dword [ebp + 0x10]
xor ebx, ebx
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x5a4], ebx
mov edi, 0x11c
mov dword [ebp - 4], 1
push edi
lea eax, [ebp - 0x15c]
push ebx
push eax
call fcn.0041b4e0
add esp, 0xc
mov dword [ebp - 0x15c], edi
lea eax, [ebp - 0x15c]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x158], 5
jb 0x40dfd2
jne 0x40d908
cmp dword [ebp - 0x154], ebx
je 0x40dfd2
cmp dword [ebp - 0x14c], 2
jne 0x40dfd2
xor eax, eax
lea edi, [ebp - 0x22]
mov word [ebp - 0x24], ax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, 0x7de
cmp word [ebp - 0x24], ax
jae 0x40d9c3
call fcn.00413c5e
push eax
lea ecx, [ebp - 0x548]
call fcn.00413a4e
mov byte [ebp - 4], 3
movzx eax, word [ebp - 0x1e]
push eax
movzx eax, word [ebp - 0x22]
push eax
movzx eax, word [ebp - 0x24]
push eax
lea eax, [ebp - 0x548]
push str.The_computers_date_is_set_incorrectly___04d__02d__02d_
push eax
call fcn.004135a6
mov edi, dword [ebp - 0x548]
add esp, 0x14
push 0x641
push 0x80004005
push ecx
mov esi, esp
lea ecx, [edi - 0x10]
mov dword [ebp - 0x54c], esi
call fcn.0041423d
mov ecx, dword [ebp - 0x550]
add eax, 0x10
mov dword [esi], eax
call fcn.004142d3
lea ecx, [edi - 0x10]
call fcn.004142bb
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.004142bb
mov ecx, dword [ebp + 0xc]
add ecx, 0xfffffff0
jmp 0x40e057
mov eax, dword [ebp + 0xc]
cmp dword [eax - 0xc], 0
jne 0x40db32
mov dword [ebp - 0x28], 0xf
mov dword [ebp - 0x2c], ebx
mov byte [ebp - 0x3c], bl
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 4
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edx, eax
lea ecx, [ebp - 0x564]
call fcn.0040d174
pop ecx
mov byte [ebp - 4], 5
cmp dword [ebp - 0x564], 0
jge 0x40da81
cmp dword [ebp - 0x560], 0
mov eax, 0x64f
cmovne eax, dword [ebp - 0x560]
push eax
push dword [ebp - 0x564]
push ecx
mov ecx, dword [ebp - 0x55c]
mov esi, esp
mov dword [ebp - 0x54c], esi
lea ecx, [ecx - 0x10]
call fcn.0041423d
add eax, 0x10
lea ecx, [ebp - 0x20]
mov dword [esi], eax
call fcn.004142d3
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x550]
lea eax, [ebp - 0x20]
push eax
call fcn.0040153c
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.004142bb
mov ecx, dword [ebp - 0x55c]
lea ecx, [ecx - 0x10]
call fcn.004142bb
push ebx
push 1
lea ecx, [ebp - 0x3c]
call fcn.00412dc0
jmp 0x40e046
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x55c]
lea ecx, [ecx - 0x10]
call fcn.004142bb
cmp dword [ebp - 0x28], 0x10
lea edi, [ebp - 0x3c]
lea ecx, [ebp - 0x564]
cmovae edi, dword [ebp - 0x3c]
mov edx, edi
call fcn.004092e4
mov byte [ebp - 4], 7
cmp dword [ebp - 0x564], 0
jge 0x40daff
cmp dword [ebp - 0x560], 0
mov eax, 0x651
cmovne eax, dword [ebp - 0x560]
push eax
push dword [ebp - 0x564]
push ecx
mov ecx, dword [ebp - 0x55c]
mov esi, esp
mov dword [ebp - 0x54c], esi
lea ecx, [ecx - 0x10]
call fcn.0041423d
add eax, 0x10
lea ecx, [ebp - 0x20]
mov dword [esi], eax
call fcn.004142d3
mov byte [ebp - 4], 8
jmp 0x40da49
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x55c]
lea ecx, [ecx - 0x10]
call fcn.004142bb
push edi
mov edi, 0x45304c
mov ecx, edi
call fcn.0041354b
push ebx
push 1
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 1
call fcn.00412dc0
jmp 0x40dbef
push str.ninite:
lea ecx, [ebp - 0x548]
call fcn.00414128
mov byte [ebp - 4], 9
lea ecx, [ebp + 0xc]
mov eax, dword [ebp - 0x548]
push dword [eax - 0xc]
lea eax, [ebp - 0x554]
push eax
call fcn.0040fdaf
mov byte [ebp - 4], 0xa
mov ecx, eax
push dword [ebp - 0x548]
call fcn.004135ba
neg eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x554]
sbb al, al
add ecx, 0xfffffff0
inc al
mov dword [ebp - 0x558], eax
call fcn.004142bb
cmp byte [ebp - 0x558], 0
je 0x40dbcd
mov eax, dword [ebp - 0x548]
lea ecx, [ebp + 0xc]
push dword [eax - 0xc]
lea eax, [ebp - 0x558]
push eax
call fcn.0040fe3e
push eax
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0xb
call fcn.004136ae
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x558]
lea ecx, [ecx - 0x10]
call fcn.004142bb
lea eax, [ebp + 0xc]
mov edi, 0x45304c
push eax
mov ecx, edi
call fcn.004136ae
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x548]
lea ecx, [ecx - 0x10]
call fcn.004142bb
mov edx, dword [0x45304c]
lea ecx, [ebp - 0x564]
call fcn.004092ff
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0x564], 0
jge 0x40dc77
cmp dword [ebp - 0x560], 0
mov eax, 0x65d
cmovne eax, dword [ebp - 0x560]
push eax
push dword [ebp - 0x564]
push ecx
mov ecx, dword [ebp - 0x55c]
mov esi, esp
mov dword [ebp - 0x54c], esi
lea ecx, [ecx - 0x10]
call fcn.0041423d
add eax, 0x10
lea ecx, [ebp - 0x20]
mov dword [esi], eax
call fcn.004142d3
mov ecx, dword [ebp - 0x550]
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 0xd
call fcn.0040153c
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.004142bb
mov ecx, dword [ebp - 0x55c]
lea ecx, [ecx - 0x10]
jmp 0x40e041
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x55c]
lea ecx, [ecx - 0x10]
call fcn.004142bb
mov ecx, dword [ebp - 0x568]
push edi
call fcn.004136ae
lea eax, [ebp + 8]
mov ecx, 0x453050
push eax
call fcn.004136ae
cmp dword [0x453038], 0
jne 0x40dda6
cmp byte [0x45301a], 0
je 0x40dda6
call fcn.00413c5e
push eax
lea ecx, [ebp - 0x548]
call fcn.00413a4e
push ebx
lea eax, [ebp - 0x548]
mov byte [ebp - 4], 0xe
push eax
push str.Proxy
push str.SOFTWARENinite
mov edx, 0x80000001
lea ecx, [ebp - 0x20]
call fcn.0040371e
add esp, 0x10
mov byte [ebp - 4], 0xf
cmp dword [ebp - 0x20], 0
jl 0x40dd89
push 8
call fcn.0041a2e1
mov esi, eax
pop ecx
mov dword [ebp - 0x568], esi
call fcn.00413c5e
push eax
mov ecx, esi
call fcn.00413a4e
xor eax, eax
push esi
mov word [esi + 4], ax
call fcn.0040ecc2
mov ecx, dword [0x453038]
lea eax, [ebp - 0x548]
push eax
call fcn.004136ae
push str._proxy
lea ecx, [ebp - 0x554]
call fcn.00414128
lea eax, [ebp - 0x554]
mov byte [ebp - 4], 0x10
mov esi, 0x45302c
push eax
mov ecx, esi
call fcn.0040ef52
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x554]
lea ecx, [ecx - 0x10]
call fcn.004142bb
push dword [0x453038]
mov ecx, esi
call fcn.0040ed71
mov esi, dword [ebp - 0x550]
mov ecx, dword [ebp - 0x18]
lea ecx, [ecx - 0x10]
call fcn.004142bb
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x548]
add ecx, 0xfffffff0
call fcn.004142bb
cmp byte [0x453010], 0
je 0x40ddd3
mov ecx, esi
call fcn.0040c7e4
mov ecx, dword [ebp + 8]
lea ecx, [ecx - 0x10]
call fcn.004142bb
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004142bb
mov eax, esi
jmp 0x40e062
cmp byte [0x453008], 0
jne 0x40df6f
mov eax, dword [0x453020]
cmp dword [eax - 0xc], 0
jne 0x40df6f
cmp byte [0x453011], 0
je 0x40df36
mov eax, dword [sym.imp.USER32.dll_DefWindowProcW]
push 0x3b8
mov dword [ebp - 0x524], eax
lea eax, [ebp - 0x51f]
push ebx
push eax
mov dword [ebp - 0x540], ebx
mov dword [ebp - 0x530], ebx
mov dword [ebp - 0x52c], ebx
mov dword [ebp - 0x528], ebx
mov dword [ebp - 0x544], 0x449a10
mov byte [ebp - 0x520], bl
call fcn.0041b4e0
add esp, 0xc
push str.TaskbarCreated
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov dword [ebp - 0x164], eax
mov dword [ebp - fcn.00412882], 0x4499dc
mov dword [ebp - 0x59c], ebx
mov dword [ebp - 0x598], ebx
mov dword [ebp - 0x594], ebx
mov dword [ebp - 0x590], ebx
mov dword [ebp - 0x58c], ebx
mov dword [ebp - 0x588], ebx
lea eax, [ebp - 0x524]
mov byte [ebp - 4], 0x13
push eax
mov edx, 0x451890
mov ecx, 0x452120
call fcn.00412600
movzx eax, ax
push eax
push ebx
push ebx
push 0x80000000
push ebx
push ebx
push ecx
lea ecx, [ebp - 0x544]
call fcn.004124bd
push ebx
push dword [ebp - 0x540]
call dword [sym.imp.USER32.dll_ShowWindow]
lea ecx, [ebp - 0x5a0]
call fcn.004128d0
cmp dword [ebp - 0x590], 0
je 0x40dee9
push dword [ebp - 0x590]
call fcn.00420f91
pop ecx
mov dword [ebp - 0x590], ebx
cmp dword [ebp - 0x59c], 0
mov dword [ebp - 0x58c], ebx
mov dword [ebp - 0x588], ebx
je 0x40df10
push dword [ebp - 0x59c]
call fcn.00420f91
pop ecx
mov dword [ebp - 0x59c], ebx
mov byte [ebp - 4], 1
cmp dword [ebp - 0x530], 0
mov dword [ebp - 0x598], ebx
mov dword [ebp - 0x594], ebx
je 0x40df50
push dword [ebp - 0x530]
call fcn.00418e3f
jmp 0x40df50
push ebx
push 0x40cce7
push ebx
push 0x81
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_DialogBoxParamW]
push 0xffffffffffffffff
push dword [0x453048]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push 0x451974
mov ecx, esi
call fcn.0040153c
jmp 0x40ddb6
push ecx
mov esi, esp
mov dword [ebp - 0x568], esp
mov dword [ebp - 0x558], esi
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0041423d
add eax, 0x10
mov dword [esi], eax
push ecx
mov byte [ebp - 4], 0x11
mov esi, esp
mov dword [ebp - 0x558], esi
mov ecx, dword [0x45304c]
add ecx, 0xfffffff0
call fcn.0041423d
mov edx, dword [ebp - 0x54c]
add eax, 0x10
mov dword [esi], eax
push ecx
mov eax, esp
push ecx
mov ecx, dword [ebp - 0x550]
mov dword [eax], ebx
mov eax, esp
mov dword [eax], ebx
mov byte [ebp - 4], 1
call fcn.0040c888
add esp, 0x10
jmp 0x40e046
call fcn.00413c5e
push eax
lea ecx, [ebp - 0x554]
call fcn.00413a4e
mov byte [ebp - 4], 2
lea eax, [ebp - 0x554]
push dword [ebp - 0x14c]
push dword [ebp - 0x154]
push dword [ebp - 0x158]
push str.This_program_only_runs_on_Windows_XP_or_later_versions_of_Windows___d._d__d_
push eax
call fcn.004135a6
mov edi, dword [ebp - 0x554]
add esp, 0x14
push 0x638
push 0x80004005
push ecx
mov esi, esp
lea ecx, [edi - 0x10]
mov dword [ebp - 0x54c], esi
call fcn.0041423d
mov ecx, dword [ebp - 0x550]
add eax, 0x10
mov dword [esi], eax
call fcn.004142d3
lea ecx, [edi - 0x10]
call fcn.004142bb
mov ecx, dword [ebp + 8]
lea ecx, [ecx - 0x10]
call fcn.004142bb
mov ecx, dword [ebp + 0xc]
lea ecx, [ecx - 0x10]
call fcn.004142bb
mov eax, dword [ebp - 0x550]
call fcn.0041a55f
ret