Function at 0x421648
Capabilities:
Hide graphical window
Set file attributes

Disassembly:
push ebp
mov ebp, esp
mov ecx, 8
push 0
push 0
dec ecx
jne 0x421650
push ecx
push ebx
xor eax, eax
push ebp
push 0x421967
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0040851c
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x18]
call fcn.0040c7ec
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x14]
mov edx, 0x42197c
call fcn.004044bc
mov eax, dword [ebp - 0x14]
push eax
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x425d38]
call fcn.00404dc8
pop edx
call fcn.0040488c
call fcn.004030f4
call fcn.0041b658
test al, al
je 0x42193f
mov al, 1
call fcn.0041fcb8
mov byte [ebp - 1], 0
mov eax, 1
call fcn.0041b700
mov edx, 1
mov eax, 0x28
call fcn.0041b768
lea eax, [ebp - 0xc]
push eax
lea edx, [ebp - 0x1c]
mov eax, dword [0x425d70]
mov eax, dword [eax]
call fcn.00413330
mov eax, dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
call fcn.0041a890
mov edx, dword [ebp - 0x20]
mov cl, 1
pop eax
call fcn.0041fee4
mov ebx, eax
mov edx, 2
mov eax, 0x28
call fcn.0041b768
test bl, bl
je 0x421735
push 2
lea eax, [ebp - 0x24]
call fcn.0041a890
mov eax, dword [ebp - 0x24]
call fcn.00404670
push eax
call sub.kernel32.dll_SetFileAttributesA
call fcn.00418610
push edx
push eax
call fcn.0041a2c4
lea edx, [ebp - 0x10]
mov eax, ebx
call fcn.004214f8
test al, al
je 0x4217cb
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x425d38]
call fcn.00404dc8
mov edx, 0x42198c
call fcn.0040488c
call fcn.004030f4
mov byte [ebp - 1], 1
call fcn.00418610
push edx
push eax
call fcn.0041a440
call fcn.0041b0b8
call fcn.0041a5b4
call fcn.0041b33c
test al, al
je 0x42179b
call fcn.00420568
jmp 0x4217a9
call fcn.00420858
test al, al
je 0x4217a9
call fcn.0042141c
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x425d38]
call fcn.00404dc8
mov edx, 0x4219b0
call fcn.0040488c
call fcn.004030f4
mov eax, dword [0x425e00]
cmp dword [eax], 1
jne 0x42192f
xor edx, edx
mov eax, 0x3e8
call fcn.0040be24
push 0
mov eax, dword [0x425d0c]
mov eax, dword [eax]
push eax
call sub.user32.dll_ShowWindow
cmp byte [ebp - 1], 0
jne 0x42192f
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x425d38]
call fcn.00404dc8
mov edx, 0x4219d4
call fcn.0040488c
mov edx, dword [0x425d30]
mov dl, byte [edx]
call fcn.00403000
mov edx, 0x4219e8
call fcn.0040488c
push eax
call fcn.0041bf00
mov edx, eax
pop eax
call fcn.00403000
call fcn.004030f4
mov eax, dword [0x425d30]
cmp byte [eax], 0
jne 0x421893
call fcn.0041bf00
test al, al
jne 0x421893
lea ecx, [ebp - 8]
xor edx, edx
mov eax, 0x421a04
call fcn.0041a1a0
lea eax, [ebp - 0x28]
call fcn.00419e04
mov eax, dword [ebp - 0x28]
push eax
call fcn.0041a020
push eax
lea eax, [ebp - 0x2c]
call fcn.00419eb4
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 8]
xor eax, eax
call fcn.0040c200
jmp 0x42192f
mov eax, dword [0x425d30]
cmp byte [eax], 0
jne 0x4218cc
cmp dword [ebp - 0xc], 0
je 0x4218cc
lea eax, [ebp - 0x30]
call fcn.00419e04
mov eax, dword [ebp - 0x30]
push eax
call fcn.0041a020
push eax
lea eax, [ebp - 0x34]
call fcn.00419eb4
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0xc]
xor eax, eax
call fcn.0040c200
jmp 0x42192f
lea ecx, [ebp - 8]
xor edx, edx
mov eax, 0x421a10
call fcn.0041a1a0
push dword [ebp - 8]
push 0x421a1c
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x10]
call fcn.00406c64
push dword [ebp - 0x38]
push 0x421a2c
lea eax, [ebp - 8]
mov edx, 4
call fcn.00404530
lea eax, [ebp - 0x3c]
call fcn.00419e04
mov eax, dword [ebp - 0x3c]
push eax
call fcn.0041a020
push eax
push 0
lea eax, [ebp - 0x40]
call fcn.00419fa4
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 8]
mov eax, 1
call fcn.0040c290
lea eax, [ebp - 0x44]
call fcn.0041a890
mov eax, dword [ebp - 0x44]
call fcn.00407194
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x42196e
lea eax, [ebp - 0x44]
mov edx, 0xd
call fcn.004041f0
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004041f0
ret