Function at 0x4084f0
Capabilities:
Get hostname
Get session user name
Hide graphical window

Disassembly:
sub esp, 0x634
lea eax, [esp + 8]
push ebx
mov ebx, dword [esp + 0x63c]
push ebp
push esi
mov esi, dword [sym.imp.USER32.dll_PeekMessageW]
push edi
mov edi, 0x403
push 0
push edi
push edi
push ebx
push eax
call esi
test eax, eax
je 0x408536
cmp dword [esp + 0x1c], edi
je 0x408e42
push 0
push edi
push edi
lea ecx, [esp + 0x24]
push ebx
push ecx
call esi
test eax, eax
jne 0x40851c
mov ebp, dword [esp + 0x654]
mov eax, dword [ebp]
cmp eax, 3
jne 0x4085a4
mov edx, dword [ebp + 8]
lea eax, [esp + 0x34]
push edx
push eax
call fcn.0040cbb0
add esp, 8
lea ecx, [esp + 0x34]
push ecx
push 0x41a840
call fcn.0040cbb0
add esp, 8
lea edx, [esp + 0x34]
push edx
push 0x41b420
call fcn.0040cbb0
add esp, 8
lea eax, [esp + 0x34]
push eax
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov ecx, dword [ebp + 8]
mov edx, dword [0x41a138]
push ecx
push edx
call dword [0x41a4d4]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x634
ret
cmp eax, 1
je 0x4085b2
cmp eax, 2
jne 0x408e42
mov eax, dword [0x41a13c]
test eax, eax
je 0x4085f2
mov ecx, dword [0x41a140]
mov edx, dword [ebp + 4]
cmp ecx, edx
jne 0x4085d7
mov edi, dword [ebp + 8]
mov esi, eax
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x408e42
test eax, eax
je 0x4085f2
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov dword [0x41a13c], eax
cmp dword [ebp], 1
jne 0x408633
mov eax, dword [ebp + 4]
mov dword [0x41a140], eax
mov ecx, dword [ebp + 4]
push ecx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [0x41a13c], eax
mov ecx, dword [ebp + 4]
mov esi, dword [ebp + 8]
mov edx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x41a13c]
test eax, eax
je 0x40864c
mov ecx, dword [eax + 4]
test ch, 0x20
je 0x40864c
test dword [eax + 8], 0x1008
jne 0x408e42
mov edi, dword [0x41a4e0]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
test eax, eax
mov dword [esp + 0x10], edi
je 0x408784
call fcn.00407f70
test eax, eax
je 0x408684
call fcn.00407ed0
test eax, eax
je 0x408684
call fcn.00407da0
cmp eax, 1
jne 0x408784
mov eax, dword [0x41b868]
test eax, eax
mov eax, dword [0x41a13c]
jne 0x4086a8
mov ecx, dword [eax + 0x40]
test ecx, ecx
jne 0x4086a8
test dword [eax + 8], 0x10000
je 0x4086a8
test byte [eax + 0x44], 1
jne 0x4086bf
test dword [eax + 4], 0xbffde000
je 0x408784
test byte [eax + 8], 8
je 0x408784
mov eax, dword [0x41ba10]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
jne 0x4086f4
mov ecx, dword [0x41ba10]
push 5
push ecx
call esi
mov edx, dword [0x41a13c]
mov eax, dword [edx + 4]
and eax, 0xbffde000
neg eax
sbb eax, eax
and eax, 3
mov dword [0x41a168], eax
mov ecx, dword [0x41ba10]
push ecx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x40872b
mov edx, dword [0x41ba10]
push 9
push edx
call esi
mov eax, dword [0x41a13c]
mov ecx, dword [eax + 4]
and ecx, 0xbffde000
neg ecx
sbb ecx, ecx
and ecx, 3
mov dword [0x41a168], ecx
mov edx, dword [0x41ba10]
push edx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [0x41ba10]
push 0
push 0
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, dword [0x41ba10]
push 5
push ecx
call esi
mov eax, dword [0x41a138]
test eax, eax
je 0x408769
mov ecx, dword [0x41b414]
test ecx, ecx
je 0x408769
push eax
call ecx
mov edx, dword [0x41a13c]
mov ecx, dword [0x41ba10]
push ecx
mov eax, dword [edx + 4]
mov dword [0x41a1b0], eax
call dword [sym.imp.USER32.dll_SetActiveWindow]
mov eax, dword [ebp]
mov ecx, dword [0x41b1c0]
xor edx, edx
cmp eax, 2
mov eax, dword [ebp + 8]
sete dl
push edx
push 0x41a4e0
push eax
push edi
push ecx
call dword [0x41b650]
mov eax, dword [0x41a154]
mov esi, dword [sym.imp.USER32.dll_SetTimer]
test eax, eax
jne 0x408804
mov eax, dword [0x41a150]
test eax, eax
jne 0x408804
mov eax, dword [0x41a50c]
test eax, eax
je 0x408804
mov eax, dword [0x41a13c]
mov ecx, dword [eax + 0x40]
test ecx, ecx
je 0x408804
test byte [eax + 8], 2
jne 0x408804
push 0
mov dword [0x41a154], 1
mov dword [0x41b1b4], 0
call fcn.00407b90
add esp, 4
push 0
push 0x3e8
push 4
push ebx
call esi
mov edx, dword [0x41b0b0]
push 0
push 0
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
test dword [0x41a1b0], 0x22000000
je 0x408837
push 0
push 0x7530
push 6
push ebx
call esi
mov dword [0x41a158], 1
push 0
push 1
call fcn.00407fd0
mov eax, dword [0x41ba10]
add esp, 8
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x408961
mov eax, dword [ebp]
xor edi, edi
cmp eax, 2
jne 0x408932
mov eax, dword [0x41a13c]
test eax, eax
jne 0x40892b
push 0x484
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
mov dword [0x41a13c], eax
je 0x408944
mov dword [eax + 0x5c], 0x7c
mov eax, dword [0x41a13c]
lea edx, [esp + 0x14]
mov ebx, 0x202
mov ecx, dword [eax + 0x5c]
push edx
add ecx, 0x204
mov edi, 1
mov dword [eax + 0x60], ecx
lea eax, [esp + 0x444]
push eax
mov dword [esp + 0x1c], ebx
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
mov eax, dword [0x41a13c]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea ecx, [esp + 0x440]
mov edx, dword [eax + 0x5c]
push ecx
add edx, eax
push edx
call esi
lea eax, [esp + 0x14]
lea ecx, [esp + 0x23c]
push eax
push ecx
mov dword [esp + 0x1c], ebx
call dword [sym.imp.ADVAPI32.dll_GetUserNameW]
mov eax, dword [0x41a13c]
lea edx, [esp + 0x23c]
push edx
mov ecx, dword [eax + 0x60]
add ecx, eax
push ecx
call esi
push 0
call fcn.0040ba80
mov eax, dword [0x41a13c]
mov ebx, dword [esp + 0x64c]
add esp, 4
jmp 0x408944
mov edx, dword [esp + 0x10]
push edx
jmp 0x408937
mov eax, dword [esp + 0x10]
push eax
call fcn.0040ba80
mov eax, dword [0x41a13c]
add esp, 4
test edi, edi
je 0x408966
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor eax, eax
mov dword [0x41a13c], eax
jmp 0x408966
mov eax, dword [0x41a13c]
mov esi, dword [sym.imp.USER32.dll_KillTimer]
xor edi, edi
cmp eax, edi
je 0x408c50
cmp dword [ebp], 1
jne 0x408c50
mov esi, dword [eax + 0x64]
add esi, eax
push esi
push 0x41b1e0
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x4089a6
push 0x208
push esi
push 0x41b1e0
call dword [sym.imp.KERNEL32.dll_lstrcpynW]
mov ecx, dword [0x41a13c]
mov eax, dword [ecx + 0x3c]
mov ecx, dword [0x41a144]
cmp ecx, eax
jae 0x408a7e
cmp dword [0x41a154], edi
je 0x4089e7
push 4
push ebx
call dword [sym.imp.USER32.dll_KillTimer]
mov esi, dword [sym.imp.USER32.dll_SetTimer]
push edi
push 0x3e8
push 4
push ebx
mov dword [0x41b1b4], edi
call esi
jmp 0x4089ed
mov esi, dword [sym.imp.USER32.dll_SetTimer]
cmp dword [0x41a150], edi
je 0x408a22
push 3
push ebx
call dword [sym.imp.USER32.dll_KillTimer]
push edi
push 0x3e8
push 4
push ebx
mov dword [0x41a150], edi
mov dword [0x41b1b4], edi
call esi
mov ebp, 1
mov dword [0x41a154], ebp
jmp 0x408a27
mov ebp, 1
cmp dword [0x41a530], ebp
jne 0x408a99
mov edx, dword [0x41a13c]
test byte [edx + 0x3c], 1
je 0x408a5c
mov eax, dword [0x41a538]
mov dword [0x41a148], ebp
mov dword [0x41a81c], eax
mov dword [0x41ac50], ebp
mov eax, dword [eax + 0x10]
push edi
push eax
push ebp
push ebx
call esi
jmp 0x408a99
mov eax, dword [0x41a538]
mov dword [0x41a14c], ebp
mov dword [0x41a818], eax
mov dword [0x41a828], ebp
mov ecx, dword [eax + 0x10]
push edi
push ecx
push 2
push ebx
call esi
jmp 0x408a99
cmp eax, edi
jne 0x408a8e
mov dword [0x41a148], edi
mov dword [0x41a14c], edi
mov esi, dword [sym.imp.USER32.dll_SetTimer]
mov ebp, 1
mov eax, dword [0x41a13c]
mov edx, dword [eax + 0x38]
mov dword [0x41a4cc], edx
mov ecx, dword [eax + 0x40]
mov dword [0x41a824], ecx
mov edx, dword [eax + 0x3c]
mov dword [0x41a144], edx
mov eax, dword [eax + 8]
test al, 7
je 0x408bb7
test al, 8
jne 0x408bb7
mov ecx, dword [esp + 0x10]
cmp ecx, 0x65
je 0x408bb7
cmp ecx, 0x66
je 0x408bb7
cmp ecx, 0x12d
je 0x408bb7
cmp ecx, 0x12e
je 0x408bb7
cmp ecx, 0x1f7
je 0x408bb7
cmp ecx, 0x1f5
je 0x408bb7
mov eax, dword [0x41a4e0]
cmp eax, 0xce
je 0x408bb7
cmp ecx, eax
je 0x408bb7
push edi
push 0x7530
push 6
push ebx
call esi
push ebp
push ebp
mov dword [0x41a158], ebp
call fcn.00407fd0
mov eax, dword [0x41a13c]
add esp, 8
cmp eax, edi
je 0x408b58
cmp dword [eax + 0x64], edi
je 0x408b58
call fcn.00408e50
mov eax, dword [0x41a168]
cmp eax, edi
jne 0x408b98
mov eax, dword [0x41ba10]
push edi
push 2
push eax
call fcn.0040b8b0
mov ecx, dword [0x41ba10]
add esp, 0xc
push edi
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x41a138]
cmp eax, edi
je 0x408bb7
mov ecx, dword [0x41b64c]
cmp ecx, edi
je 0x408bb7
push eax
call ecx
jmp 0x408bb7
cmp eax, ebp
jne 0x408bb7
mov edx, dword [0x41ba10]
push edi
push 2
push edx
call fcn.0040b8b0
add esp, 0xc
push 6
push ebx
call dword [sym.imp.USER32.dll_ShowWindow]
test dword [0x41a1b0], 0xffffe000
je 0x408c33
mov eax, dword [0x41a13c]
cmp dword [eax + 4], edi
jne 0x408c33
mov eax, dword [0x41a168]
cmp eax, 3
jne 0x408c0f
mov ecx, dword [0x41ba10]
push edi
push 2
push ecx
call fcn.0040b8b0
mov edx, dword [0x41ba10]
add esp, 0xc
push edi
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x41a138]
cmp eax, edi
je 0x408c33
mov ecx, dword [0x41b64c]
cmp ecx, edi
je 0x408c33
push eax
call ecx
jmp 0x408c33
cmp eax, ebp
jne 0x408c33
mov eax, dword [0x41ba10]
push edi
push 2
push eax
call fcn.0040b8b0
mov ecx, dword [0x41ba10]
add esp, 0xc
push 6
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
call fcn.0040af60
add esp, 4
push ebx
call fcn.0040af30
mov eax, dword [0x41a13c]
mov esi, dword [sym.imp.USER32.dll_KillTimer]
add esp, 4
cmp eax, edi
je 0x408c98
mov edx, dword [eax + 4]
cmp eax, edi
mov dword [0x41a1b0], edx
je 0x408c98
test byte [eax + 4], 1
je 0x408c98
cmp dword [0x41a150], edi
je 0x408c7f
mov eax, dword [0x41ba10]
push 3
push eax
call esi
mov dword [0x41a150], edi
cmp dword [0x41a154], edi
je 0x408c98
mov ecx, dword [0x41ba10]
push 4
push ecx
call esi
mov dword [0x41a154], edi
mov eax, dword [0x41a4e0]
cmp eax, 0x190
jb 0x408cdc
cmp eax, 0x19e
ja 0x408cdc
cmp dword [0x41a150], edi
je 0x408cc4
mov edx, dword [0x41ba10]
push 3
push edx
call esi
mov dword [0x41a150], edi
cmp dword [0x41a154], edi
je 0x408cdc
mov eax, dword [0x41ba10]
push 4
push eax
call esi
mov dword [0x41a154], edi
push ebx
call fcn.00407d10
mov ecx, dword [0x41a4c8]
mov ebp, dword [sym.imp.USER32.dll_InvalidateRect]
add esp, 4
push edi
push edi
push ecx
call ebp
mov edx, dword [0x41a4c8]
mov esi, dword [sym.imp.USER32.dll_UpdateWindow]
push edx
call esi
mov eax, dword [0x41a4a4]
push edi
push edi
push eax
call ebp
mov ecx, dword [0x41a4a4]
push ecx
call esi
mov edx, dword [0x41b644]
push edi
push edi
push edx
call ebp
mov eax, dword [0x41b644]
push eax
call esi
mov ecx, dword [0x41b1b0]
push edi
push edi
push ecx
call ebp
mov edx, dword [0x41b1b0]
push edx
call esi
mov eax, dword [0x41ac54]
push edi
push edi
push eax
call ebp
mov ecx, dword [0x41ac54]
push ecx
call esi
mov edx, dword [0x41a7f8]
push edi
push edi
push edx
call ebp
mov eax, dword [0x41a7f8]
push eax
call esi
mov ecx, dword [0x41a7f4]
push edi
push edi
push ecx
call ebp
mov edx, dword [0x41a7f4]
push edx
call esi
mov eax, dword [0x41a4e0]
mov ecx, dword [esp + 0x10]
cmp ecx, eax
je 0x408e42
cmp ecx, 0xc9
jne 0x408d99
cmp eax, 0xc8
je 0x408dd6
cmp ecx, 0xcb
jne 0x408da8
cmp eax, 0xca
je 0x408dd6
cmp dword [0x41a148], edi
je 0x408dbf
push 1
push ebx
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [0x41a148], edi
cmp dword [0x41a14c], edi
je 0x408dd6
push 2
push ebx
call dword [sym.imp.USER32.dll_KillTimer]
mov dword [0x41a14c], edi
mov eax, dword [0x41a530]
mov esi, 1
cmp eax, 2
jne 0x408e08
mov eax, dword [0x41a538]
mov dword [0x41a148], esi
mov dword [0x41a81c], eax
mov dword [0x41ac50], esi
mov eax, dword [eax + 0x10]
push edi
push eax
push esi
push ebx
call dword [sym.imp.USER32.dll_SetTimer]
cmp dword [0x41a50c], edi
je 0x408e42
cmp dword [0x41a824], edi
jne 0x408e42
push esi
mov dword [0x41a150], esi
mov dword [0x41b1b4], edi
mov dword [0x41b62c], edi
call fcn.00407b90
add esp, 4
push edi
push 0x3e8
push 3
push ebx
call dword [sym.imp.USER32.dll_SetTimer]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x634
ret