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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 8
push 0
push 0
dec ecx
jne 0x421810
push ecx
push ebx
xor eax, eax
push ebp
push 0x421b27
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00408510
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x18]
call fcn.0040c808
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x14]
mov edx, 0x421b3c
call fcn.00404478
mov eax, dword [ebp - 0x14]
push eax
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x425d40]
call fcn.00404d84
pop edx
call fcn.00404848
call fcn.004030b0
call fcn.0041b6b4
test al, al
je 0x421aff
mov al, 1
call fcn.0041fe78
mov byte [ebp - 1], 0
mov eax, 1
call fcn.0041b75c
mov edx, 1
mov eax, 0x28
call fcn.0041b7c4
lea eax, [ebp - 0xc]
push eax
lea edx, [ebp - 0x1c]
mov eax, dword [0x425d78]
mov eax, dword [eax]
call fcn.00413384
mov eax, dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
call fcn.0041a8ec
mov edx, dword [ebp - 0x20]
mov cl, 1
pop eax
call fcn.004200a4
mov ebx, eax
mov edx, 2
mov eax, 0x28
call fcn.0041b7c4
test bl, bl
je 0x4218f5
push 2
lea eax, [ebp - 0x24]
call fcn.0041a8ec
mov eax, dword [ebp - 0x24]
call fcn.0040462c
push eax
call sub.kernel32.dll_SetFileAttributesA
call fcn.0041866c
push edx
push eax
call fcn.0041a320
lea edx, [ebp - 0x10]
mov eax, ebx
call fcn.004216b8
test al, al
je 0x42198b
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x425d40]
call fcn.00404d84
mov edx, 0x421b4c
call fcn.00404848
call fcn.004030b0
mov byte [ebp - 1], 1
call fcn.0041866c
push edx
push eax
call fcn.0041a49c
call fcn.0041b114
call fcn.0041a610
call fcn.0041b398
test al, al
je 0x42195b
call fcn.00420728
jmp 0x421969
call fcn.00420a18
test al, al
je 0x421969
call fcn.004215dc
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x425d40]
call fcn.00404d84
mov edx, 0x421b70
call fcn.00404848
call fcn.004030b0
mov eax, dword [0x425e08]
cmp dword [eax], 1
jne 0x421aef
xor edx, edx
mov eax, 0x3e8
call fcn.0040be40
push 0
mov eax, dword [0x425d14]
mov eax, dword [eax]
push eax
call sub.user32.dll_ShowWindow
cmp byte [ebp - 1], 0
jne 0x421aef
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x425d40]
call fcn.00404d84
mov edx, 0x421b94
call fcn.00404848
mov edx, dword [0x425d38]
mov dl, byte [edx]
call fcn.00403000
mov edx, 0x421ba8
call fcn.00404848
push eax
call fcn.0041bf5c
mov edx, eax
pop eax
call fcn.00403000
call fcn.004030b0
mov eax, dword [0x425d38]
cmp byte [eax], 0
jne 0x421a53
call fcn.0041bf5c
test al, al
jne 0x421a53
lea ecx, [ebp - 8]
xor edx, edx
mov eax, 0x421bc4
call fcn.0041a1fc
lea eax, [ebp - 0x28]
call fcn.00419e60
mov eax, dword [ebp - 0x28]
push eax
call fcn.0041a07c
push eax
lea eax, [ebp - 0x2c]
call fcn.00419f10
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 8]
xor eax, eax
call fcn.0040c21c
jmp 0x421aef
mov eax, dword [0x425d38]
cmp byte [eax], 0
jne 0x421a8c
cmp dword [ebp - 0xc], 0
je 0x421a8c
lea eax, [ebp - 0x30]
call fcn.00419e60
mov eax, dword [ebp - 0x30]
push eax
call fcn.0041a07c
push eax
lea eax, [ebp - 0x34]
call fcn.00419f10
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0xc]
xor eax, eax
call fcn.0040c21c
jmp 0x421aef
lea ecx, [ebp - 8]
xor edx, edx
mov eax, 0x421bd0
call fcn.0041a1fc
push dword [ebp - 8]
push 0x421bdc
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x10]
call fcn.00406c20
push dword [ebp - 0x38]
push 0x421bec
lea eax, [ebp - 8]
mov edx, 4
call fcn.004044ec
lea eax, [ebp - 0x3c]
call fcn.00419e60
mov eax, dword [ebp - 0x3c]
push eax
call fcn.0041a07c
push eax
push 0
lea eax, [ebp - 0x40]
call fcn.0041a000
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 8]
mov eax, 1
call fcn.0040c2ac
lea eax, [ebp - 0x44]
call fcn.0041a8ec
mov eax, dword [ebp - 0x44]
call fcn.00407150
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x421b2e
lea eax, [ebp - 0x44]
mov edx, 0xd
call fcn.004041ac
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004041ac
ret