Function at 0x405f40
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42c687
mov eax, dword fs:[0]
push eax
sub esp, 0x154
mov eax, dword [0x43d054]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x118], 0
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x11c], 0x455d4f5a
mov dword [ebp - 0x118], 0x2e5c4943
mov esi, dword [eax]
mov eax, dword [0x450ebc]
cmp eax, dword [esi + 4]
jle 0x405fe8
push 0x450ebc
call fcn.0040eec8
add esp, 4
cmp dword [0x450ebc], 0xffffffff
jne 0x405fe8
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
push 0x42cf40
mov dword [0x450d40], eax
mov dword [0x450d44], ecx
call fcn.0040f1da
add esp, 4
push 0x450ebc
call fcn.0040ee7e
add esp, 4
mov al, byte [0x450d47]
test al, al
je 0x406029
xor byte [0x450d40], 0x2e
xor byte [0x450d41], 0x2e
xor byte [0x450d42], 0x2e
xor byte [0x450d43], 0x2e
xor byte [0x450d44], 0x2e
xor byte [0x450d45], 0x2e
xor byte [0x450d46], 0x2e
xor al, 0x2e
mov byte [0x450d47], al
sub esp, 0x18
mov ecx, 0x450d40
mov edx, esp
lea edi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406050
sub ecx, edi
push ecx
push 0x450d40
mov ecx, edx
call fcn.004026c0
call fcn.00405350
add esp, 0x18
test al, al
jne 0x4065ae
mov eax, dword [0x450fa0]
mov dword [ebp - 0x11c], 0x455d4f7a
mov dword [ebp - 0x118], 0x2e5c4943
cmp eax, dword [esi + 4]
jle 0x4060de
push 0x450fa0
call fcn.0040eec8
add esp, 4
cmp dword [0x450fa0], 0xffffffff
jne 0x4060de
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
push 0x42cf30
mov dword [0x450f6c], eax
mov dword [0x450f70], ecx
call fcn.0040f1da
add esp, 4
push 0x450fa0
call fcn.0040ee7e
add esp, 4
mov al, byte [0x450f73]
test al, al
je 0x40611f
xor byte [0x450f6c], 0x2e
xor byte [0x450f6d], 0x2e
xor byte [0x450f6e], 0x2e
xor byte [0x450f6f], 0x2e
xor byte [0x450f70], 0x2e
xor byte [0x450f71], 0x2e
xor byte [0x450f72], 0x2e
xor al, 0x2e
mov byte [0x450f73], al
sub esp, 0x18
mov ecx, 0x450f6c
mov edx, esp
lea edi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406140
sub ecx, edi
push ecx
push 0x450f6c
mov ecx, edx
call fcn.004026c0
call fcn.00405350
add esp, 0x18
test al, al
jne 0x4065ae
mov eax, dword [0x450f74]
mov dword [ebp - 0x11c], 0x4b5c4759
mov dword [ebp - 0x118], 0x5c4f465d
mov word [ebp - 0x114], 0x2e45
cmp eax, dword [esi + 4]
jle 0x4061dd
push 0x450f74
call fcn.0040eec8
add esp, 4
cmp dword [0x450f74], 0xffffffff
jne 0x4061dd
movq xmm0, qword [ebp - 0x11c]
mov ax, word [ebp - 0x114]
push 0x42cf10
movq qword [0x450d60], xmm0
mov word [0x450d68], ax
call fcn.0040f1da
add esp, 4
push 0x450f74
call fcn.0040ee7e
add esp, 4
mov al, byte [0x450d69]
test al, al
je 0x40622c
xor byte [0x450d60], 0x2e
xor byte [0x450d61], 0x2e
xor byte [0x450d62], 0x2e
xor byte [0x450d63], 0x2e
xor byte [0x450d64], 0x2e
xor byte [0x450d65], 0x2e
xor byte [0x450d66], 0x2e
xor byte [0x450d67], 0x2e
xor byte [0x450d68], 0x2e
xor al, 0x2e
mov byte [0x450d69], al
sub esp, 0x18
mov ecx, 0x450d60
mov edx, esp
lea edi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406250
sub ecx, edi
push ecx
push 0x450d60
mov ecx, edx
call fcn.004026c0
call fcn.00405350
add esp, 0x18
test al, al
jne 0x4065ae
call dword [sym.imp.USER32.dll_GetForegroundWindow]
test eax, eax
je 0x4065aa
push 0x100
lea ecx, [ebp - 0x110]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov eax, dword [0x450f9c]
mov bl, 0x2e
mov dword [ebp - 0x12c], 0x4d415c7e
mov dword [ebp - 0x128], 0xe5d5d4b
mov dword [ebp - 0x124], 0x454d4f66
mov word [ebp - 0x120], 0x5c4b
cmp eax, dword [esi + 4]
jle 0x40632b
push 0x450f9c
call fcn.0040eec8
add esp, 4
cmp dword [0x450f9c], 0xffffffff
jne 0x40632b
mov eax, dword [ebp - 0x124]
movq xmm0, qword [ebp - 0x12c]
mov dword [0x450f4c], eax
mov ax, word [ebp - 0x120]
push 0x42cee0
movq qword [0x450f44], xmm0
mov word [0x450f50], ax
mov byte [0x450f52], bl
call fcn.0040f1da
add esp, 4
push 0x450f9c
call fcn.0040ee7e
add esp, 4
cmp byte [0x450f52], 0
je 0x406342
xor eax, eax
xor byte [eax + 0x450f44], bl
inc eax
cmp eax, 0xf
jb 0x406336
mov ecx, 0x450f44
mov dword [ebp - 0x160], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0xf
mov byte [ebp - 0x160], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406370
sub ecx, edx
push ecx
push 0x450f44
lea ecx, [ebp - 0x160]
call fcn.004026c0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x160]
cmp dword [ebp - 0x14c], 0x10
mov ebx, 1
mov dword [ebp - 0x118], ebx
cmovae eax, dword [ebp - 0x160]
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.00410160
add esp, 8
test eax, eax
jne 0x406502
mov eax, dword [0x450f40]
mov dword [ebp - 0x128], 0x4b5c4779
mov dword [ebp - 0x124], 0x5c4f465d
mov word [ebp - 0x120], 0x2e45
cmp eax, dword [esi + 4]
jle 0x40643f
push 0x450f40
call fcn.0040eec8
add esp, 4
cmp dword [0x450f40], 0xffffffff
jne 0x40643f
movq xmm0, qword [ebp - 0x128]
mov ax, word [ebp - 0x120]
push 0x42cec0
movq qword [0x450fc8], xmm0
mov word [0x450fd0], ax
call fcn.0040f1da
add esp, 4
push 0x450f40
call fcn.0040ee7e
add esp, 4
mov al, byte [0x450fd1]
test al, al
je 0x40648e
xor byte [0x450fc8], 0x2e
xor byte [0x450fc9], 0x2e
xor byte [0x450fca], 0x2e
xor byte [0x450fcb], 0x2e
xor byte [0x450fcc], 0x2e
xor byte [0x450fcd], 0x2e
xor byte [0x450fce], 0x2e
xor byte [0x450fcf], 0x2e
xor byte [0x450fd0], 0x2e
xor al, 0x2e
mov byte [0x450fd1], al
mov ecx, 0x450fc8
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0xf
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4064b4
sub ecx, edx
push ecx
push 0x450fc8
lea ecx, [ebp - 0x148]
call fcn.004026c0
cmp dword [ebp - 0x134], 0x10
lea eax, [ebp - 0x148]
mov ebx, 3
cmovae eax, dword [ebp - 0x148]
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.00410160
add esp, 8
mov byte [ebp - 0x12d], 0
test eax, eax
je 0x406509
mov byte [ebp - 0x12d], 1
test bl, 2
je 0x406566
mov edx, dword [ebp - 0x134]
and ebx, 0xfffffffd
cmp edx, 0x10
jb 0x40654b
mov ecx, dword [ebp - 0x148]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406541
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4065cc
push edx
push ecx
call fcn.0040ed7f
add esp, 8
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0xf
mov byte [ebp - 0x148], 0
test bl, 1
je 0x4065a1
mov edx, dword [ebp - 0x14c]
cmp edx, 0x10
jb 0x4065a1
mov ecx, dword [ebp - 0x160]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x406597
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4065cc
push edx
push ecx
call fcn.0040ed7f
add esp, 8
cmp byte [ebp - 0x12d], 0
jne 0x4065ae
xor al, al
jmp 0x4065b0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040eb3f
mov esp, ebp
pop ebp
ret
call fcn.004134a7
int3