Function at 0x406540
Capabilities:
Create process on windows
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x426e30
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x34
mov eax, dword [ebp + 0xc]
push ebx
push esi
push edi
cmp eax, 0x401
mov dword [ebp - 0x10], esp
mov dword [ebp - 4], 0
jg 0x40692b
je 0x406902
cmp eax, 0x3f2
jg 0x4067f5
je 0x4067cb
cmp eax, 0x3e9
jg 0x40678b
je 0x406756
sub eax, 2
je 0x4065c4
sub eax, 0x3e6
jne case.0x406b7e.40005
push 2
mov ecx, 0x435080
call fcn.00409e40
mov dword [0x4350d0], eax
jmp 0x40695b
mov eax, dword [0x4353e0]
mov ecx, dword [0x4353e4]
cmp eax, ecx
je 0x40671c
mov eax, dword [0x435484]
test eax, eax
jne 0x406712
mov ecx, dword [0x435544]
mov eax, dword [0x429244]
mov ebx, ecx
cmp eax, ebx
jae 0x4065f7
mov ebx, eax
test ebx, ebx
jbe 0x406671
cmp ebx, ecx
jne 0x406671
mov eax, dword [0x435540]
test eax, eax
jne 0x40660d
mov eax, 0x429240
cmp byte [eax - 1], 0xfe
jae 0x406671
mov eax, dword [0x435480]
test eax, eax
je 0x406639
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x406630
cmp al, 0xff
je 0x406630
dec al
mov byte [ecx], al
jmp 0x406639
push ecx
call fcn.0040cae8
add esp, 4
mov eax, dword [0x435540]
test eax, eax
jne 0x406647
mov eax, 0x429240
mov ecx, dword [0x435544]
mov edx, dword [0x435548]
mov dword [0x435480], eax
mov dword [0x435484], ecx
mov dword [0x435488], edx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x406712
cmp ebx, 0xfffffffd
jbe 0x40667b
call fcn.0040ce75
mov edi, dword [0x435480]
test edi, edi
je 0x4066a6
mov al, byte [edi - 1]
test al, al
je 0x4066a6
cmp al, 0xff
je 0x4066a6
test ebx, ebx
jne 0x4066d2
dec al
push ebx
mov ecx, 0x43547c
mov byte [edi - 1], al
call fcn.004024e0
jmp 0x406712
test ebx, ebx
jne 0x4066b8
push 1
mov ecx, 0x43547c
call fcn.004024e0
jmp 0x406712
mov eax, dword [0x435488]
cmp eax, 0x1f
ja 0x4066c6
cmp eax, ebx
jae 0x4066e3
push 1
mov ecx, 0x43547c
call fcn.004024e0
push ebx
mov ecx, 0x43547c
call fcn.004034e0
mov edi, dword [0x435480]
mov esi, dword [0x435540]
test esi, esi
jne 0x4066f2
mov esi, 0x429240
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x435480]
mov dword [0x435484], ebx
mov byte [ecx + ebx], 0
mov ecx, 0x4353c0
call fcn.0040a990
mov edx, dword [0x435588]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
call esi
mov eax, dword [0x4353b8]
push eax
call esi
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
push 0
call dword [sym.imp.USER32.dll_PostQuitMessage]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push str.BIN_image__.bin_
lea edx, [ebp + 8]
push 0x43549c
push edx
mov ecx, 0x4351e8
call fcn.00405570
mov ecx, 0x4353c0
call fcn.0040af90
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x3ea
jne case.0x406b7e.40005
push 0
push str.BIN_image__.bin_
lea eax, [ebp + 8]
push 0x4354ac
push eax
mov ecx, 0x4351e8
call fcn.004056b0
mov ecx, 0x4353c0
call fcn.0040af90
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
push 0x1000
push 0x43245c
push 0x4328f4
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add eax, 0xfffffc0c
cmp eax, 0xc
ja case.0x406b7e.40005
xor edx, edx
mov dl, byte [eax + 0x406cf4]
jmp dword [edx*4 + 0x406ce0]
mov al, byte [0x4353da]
test al, al
je case.0x406b7e.40005
mov eax, dword [0x4354c0]
test eax, eax
jne 0x40682d
mov eax, 0x429240
push eax
lea eax, [ebp - 0x30]
push eax
call fcn.0040c1d0
mov eax, dword [eax + 4]
add esp, 8
test eax, eax
mov ecx, 0x429240
je 0x406848
mov ecx, eax
mov eax, dword [0x4354c0]
test eax, eax
jne 0x406856
mov eax, 0x429240
push 5
push ecx
mov ecx, dword [ebp + 8]
push 0
push eax
push 0
push ecx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov eax, dword [ebp - 0x2c]
test eax, eax
je case.0x406b7e.40005
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x406896
cmp al, 0xff
je 0x406896
dec al
mov byte [ecx], al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
call fcn.0040cae8
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
push 0
push 0
push str.https:__vk.com_public183424781
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
push 0
push 0
push str.https:__mkt.ultimatecup.ru_
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0xa
push 0
push 0
push str.https:__vk.com_club187374240
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x9c42
jg 0x406b70
je 0x406a56
cmp eax, 0x405
jg 0x406a2a
je 0x4069eb
sub eax, 0x402
je 0x4069c2
dec eax
jne case.0x406b7e.40005
mov edx, dword [0x4353fc]
push edx
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je case.0x406b7e.40005
mov al, byte [0x43558c]
test al, al
jne case.0x406b7e.40005
mov eax, dword [ebp + 8]
push 0
push 0
push eax
push 0x406d20
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
mov dword [0x435588], eax
jne case.0x406b7e.40005
lea ecx, [ebp + 0xc]
mov dword [ebp + 0xc], 0x4323dc
push ecx
lea ecx, [ebp - 0x20]
call fcn.0041adfd
lea edx, [ebp - 0x20]
push 0x42e888
push edx
call fcn.0041aed8
push 0xa
push 0
push 0
push str.https:__vk.me_join_AJQ1d__QFB9rNhJv1Bp_BLpV
push str.open
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [0x4353de]
test al, al
je case.0x406b7e.40005
mov al, byte [0x43558c]
test al, al
jne case.0x406b7e.40005
mov eax, dword [ebp + 8]
mov ecx, dword [0x4350d0]
push 0x4353c0
push eax
call fcn.00408e90
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x9c41
jne case.0x406b7e.40005
mov al, byte [0x4353dc]
test al, al
je case.0x406b7e.40005
mov al, byte [0x43558c]
test al, al
jne case.0x406b7e.40005
push 3
jmp 0x406bd9
mov al, byte [0x4353db]
test al, al
je case.0x406b7e.40005
mov byte [0x4353da], 0
push 0
push 0x43221c
lea ecx, [ebp + 8]
push 0x4354bc
push ecx
mov ecx, 0x4351e8
call fcn.00405570
test al, al
mov al, byte [0x4353db]
je 0x406b50
test al, al
je 0x406a9f
mov ecx, 0x4353c0
call fcn.0040a990
mov edx, dword [0x4353f4]
mov al, 1
push 0x43239c
push edx
mov byte [0x4353da], al
mov byte [0x4353db], al
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov ecx, 0x4353c0
call fcn.0040af90
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [0x4353da]
test al, al
je 0x406a6a
mov eax, dword [0x4354c0]
test eax, eax
jne 0x406aef
mov eax, 0x429240
lea edx, [ebp - 0x40]
push eax
push edx
call fcn.0040c1d0
mov eax, dword [eax + 4]
add esp, 8
test eax, eax
mov ecx, 0x429240
je 0x406b0a
mov ecx, eax
mov eax, dword [0x4354c0]
test eax, eax
jne 0x406b18
mov eax, 0x429240
push 5
push ecx
push 0
push eax
mov eax, dword [ebp + 8]
push 0
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov eax, dword [ebp - 0x3c]
test eax, eax
je case.0x406b7e.40005
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x406896
cmp al, 0xff
je 0x406896
jmp 0x406881
test al, al
je case.0x406b7e.40005
mov byte [0x4353da], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add eax, 0xffff63bd
cmp eax, 5
ja case.0x406b7e.40005
jmp dword [eax*4 + 0x406d04]
push 1
mov ecx, 0x435080
call fcn.00409e40
mov dword [0x4350d0], eax
mov eax, dword [ebp + 8]
push 0
push 0x403
push 0x111
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [0x4353dd]
test al, al
je case.0x406b7e.40005
mov al, byte [0x43558c]
test al, al
jne case.0x406b7e.40005
push 4
mov ecx, 0x435080
call fcn.00409e40
mov ecx, dword [ebp + 8]
push 0
push 0x403
push 0x111
mov dword [0x4350d0], eax
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [0x4353de]
test al, al
je case.0x406b7e.40005
mov al, byte [0x43558c]
test al, al
jne case.0x406b7e.40005
push 5
mov ecx, 0x435080
call fcn.00409e40
mov edx, dword [ebp + 8]
push 0
push 0x403
push 0x111
mov dword [0x4350d0], eax
push edx
jmp 0x406bf8
mov eax, dword [0x4353e4]
xor ecx, ecx
cmp eax, 1
setne cl
mov dword [0x4353e4], ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret