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

Disassembly:
push ebp
mov ebp, esp
mov ecx, 8
push 0
push 0
dec ecx
jne 0x4219e4
push ecx
push ebx
xor eax, eax
push ebp
push 0x421cfb
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004084d8
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x18]
call fcn.0040c84c
mov ecx, dword [ebp - 0x18]
lea eax, [ebp - 0x14]
mov edx, 0x421d10
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 [0x425d6c]
call fcn.00404d84
pop edx
call fcn.00404848
call fcn.004030b0
call fcn.0041b89c
test al, al
je 0x421cd3
mov al, 1
call fcn.0042002c
mov byte [ebp - 1], 0
mov eax, 1
call fcn.0041b944
mov edx, 1
mov eax, 0x28
call fcn.0041b9ac
lea eax, [ebp - 0xc]
push eax
lea edx, [ebp - 0x1c]
mov eax, dword [0x425da4]
mov eax, dword [eax]
call fcn.00413540
mov eax, dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
call fcn.0041aad4
mov edx, dword [ebp - 0x20]
mov cl, 1
pop eax
call fcn.00420258
mov ebx, eax
mov edx, 2
mov eax, 0x28
call fcn.0041b9ac
test bl, bl
je 0x421ac9
push 2
lea eax, [ebp - 0x24]
call fcn.0041aad4
mov eax, dword [ebp - 0x24]
call fcn.0040462c
push eax
call sub.kernel32.dll_SetFileAttributesA
call fcn.00418848
push edx
push eax
call fcn.0041a508
lea edx, [ebp - 0x10]
mov eax, ebx
call fcn.0042188c
test al, al
je 0x421b5f
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x425d6c]
call fcn.00404d84
mov edx, 0x421d20
call fcn.00404848
call fcn.004030b0
mov byte [ebp - 1], 1
call fcn.00418848
push edx
push eax
call fcn.0041a684
call fcn.0041b2fc
call fcn.0041a7f8
call fcn.0041b580
test al, al
je 0x421b2f
call fcn.004208fc
jmp 0x421b3d
call fcn.00420bec
test al, al
je 0x421b3d
call fcn.004217b0
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x425d6c]
call fcn.00404d84
mov edx, 0x421d44
call fcn.00404848
call fcn.004030b0
mov eax, dword [0x425e34]
cmp dword [eax], 1
jne 0x421cc3
xor edx, edx
mov eax, 0x3e8
call fcn.0040be84
push 0
mov eax, dword [0x425d40]
mov eax, dword [eax]
push eax
call sub.user32.dll_ShowWindow
cmp byte [ebp - 1], 0
jne 0x421cc3
call sub.kernel32.dll_GetCurrentProcessId
xor edx, edx
push edx
push eax
mov eax, dword [0x425d6c]
call fcn.00404d84
mov edx, 0x421d68
call fcn.00404848
mov edx, dword [0x425d64]
mov dl, byte [edx]
call fcn.00403000
mov edx, 0x421d7c
call fcn.00404848
push eax
call fcn.0041c144
mov edx, eax
pop eax
call fcn.00403000
call fcn.004030b0
mov eax, dword [0x425d64]
cmp byte [eax], 0
jne 0x421c27
call fcn.0041c144
test al, al
jne 0x421c27
lea ecx, [ebp - 8]
xor edx, edx
mov eax, 0x421d98
call fcn.0041a3e4
lea eax, [ebp - 0x28]
call fcn.0041a048
mov eax, dword [ebp - 0x28]
push eax
call fcn.0041a264
push eax
lea eax, [ebp - 0x2c]
call fcn.0041a0f8
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 8]
xor eax, eax
call fcn.0040c260
jmp 0x421cc3
mov eax, dword [0x425d64]
cmp byte [eax], 0
jne 0x421c60
cmp dword [ebp - 0xc], 0
je 0x421c60
lea eax, [ebp - 0x30]
call fcn.0041a048
mov eax, dword [ebp - 0x30]
push eax
call fcn.0041a264
push eax
lea eax, [ebp - 0x34]
call fcn.0041a0f8
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0xc]
xor eax, eax
call fcn.0040c260
jmp 0x421cc3
lea ecx, [ebp - 8]
xor edx, edx
mov eax, 0x421da4
call fcn.0041a3e4
push dword [ebp - 8]
push 0x421db0
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x10]
call fcn.00406c20
push dword [ebp - 0x38]
push 0x421dc0
lea eax, [ebp - 8]
mov edx, 4
call fcn.004044ec
lea eax, [ebp - 0x3c]
call fcn.0041a048
mov eax, dword [ebp - 0x3c]
push eax
call fcn.0041a264
push eax
push 0
lea eax, [ebp - 0x40]
call fcn.0041a1e8
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 8]
mov eax, 1
call fcn.0040c2f0
lea eax, [ebp - 0x44]
call fcn.0041aad4
mov eax, dword [ebp - 0x44]
call fcn.00407150
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x421d02
lea eax, [ebp - 0x44]
mov edx, 0xd
call fcn.004041ac
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004041ac
ret