Function at 0x4041e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52eb89
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x98
mov eax, dword [0x57c54c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x9c], 0
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], 0x68007a
mov dword [ebp - 0x4c], 0x640075
mov dword [ebp - 0x48], 0x6e006f
mov dword [ebp - 0x44], 0x660067
mov dword [ebp - 0x40], 0x6e0061
mov dword [ebp - 0x3c], 0x790067
mov dword [ebp - 0x38], 0x2e0075
mov dword [ebp - 0x34], 0x780065
mov dword [ebp - 0x30], 0x65
mov dword [ebp - 0x2c], 0x360033
mov dword [ebp - 0x28], 0x740030
mov dword [ebp - 0x24], 0x610072
mov dword [ebp - 0x20], 0x2e0079
mov dword [ebp - 0x1c], 0x780065
mov dword [ebp - 0x18], 0x65
call fcn.0046fac0
test eax, eax
jne 0x4042bc
lea ecx, [ebp - 0x2c]
call fcn.0046fac0
test eax, eax
jne 0x4042bc
mov ecx, edi
call fcn.004045c0
mov ecx, edi
call fcn.00405280
mov ecx, edi
call fcn.004059b0
mov ecx, edi
call fcn.00405c60
mov ecx, edi
call fcn.00406250
mov ecx, dword [edi + 0x258]
mov eax, 0x4ec4ec4f
sub ecx, dword [edi + 0x254]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x40445a
push 0x30
lea eax, [ebp - 0x98]
push 0
push eax
call fcn.00503920
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
add esp, 0xc
mov dword [ebp - 0x98], 0x30
push 0
call esi
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0x70], str.THUIDBEGKGSADW
mov dword [ebp - 0x90], 0x403b50
call dword [sym.imp.USER32.dll_RegisterClassExW]
push 0
push 0
call esi
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0x86ca0000
push 0
push str.THUIDBEGKGSADW
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov esi, eax
push 0xffffffffffffffec
push esi
mov dword [ebp - 0xa0], esi
call dword [sym.imp.USER32.dll_GetWindowLongW]
and eax, 0xfffbffff
or eax, 0x80
push eax
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0x58
call fcn.00500e07
mov esi, eax
add esp, 4
mov dword [ebp - 0xa4], esi
mov dword [ebp - 4], 0
push 0x58
push 0
push esi
call fcn.00503920
add esp, 0xc
mov ecx, esi
push dword [ebp - 0xa0]
call fcn.00454e50
mov ecx, eax
mov dword [ebp - 4], 0xffffffff
mov dword [edi + 0x260], ecx
mov eax, dword [ecx]
call dword [eax + 0x20]
mov ecx, dword [edi + 0x260]
call fcn.0046e090
mov esi, dword [0x580600]
mov ecx, 8
mov word [ebp - 0x60], cx
mov eax, 0x4ec4ec4f
mov ecx, dword [edi + 0x258]
sub ecx, dword [edi + 0x254]
imul ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
jbe 0x40459e
imul eax, esi, 0x34
add eax, 4
add eax, dword [edi + 0x254]
cmp dword [eax + 0x14], 8
jb 0x404425
mov eax, dword [eax]
mov ecx, dword [edi + 0x260]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x60]
push eax
call fcn.0046e1c0
push 0
push 0x1770
push 0x2f59
push dword [ebp - 0xa0]
call dword [sym.imp.USER32.dll_SetTimer]
inc dword [0x580600]
jmp 0x40457b
sub esp, 8
lea ecx, [ebp - 0x80]
call fcn.00403910
add esp, 8
mov dword [ebp - 4], 2
mov ecx, eax
push str.home
call fcn.00408150
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x9c], 1
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x68], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x58], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x6c]
cmp edx, 0x10
jb 0x4044ed
mov ecx, dword [ebp - 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4044e3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4045a3
push edx
push ecx
call fcn.005010b4
add esp, 8
cmp dword [ebp - 0x54], 0x10
lea eax, [ebp - 0x68]
mov dword [ebp - 0x70], 0
cmovae eax, dword [ebp - 0x68]
push eax
push 0
push 1
push 0
mov dword [ebp - 0x6c], 0xf
mov byte [ebp - 0x80], 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, 1
mov dword [ebp - 0x9c], eax
and eax, 0xfffffffe
mov dword [ebp - 0x9c], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x54]
cmp edx, 0x10
jb 0x404569
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40455f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4045a8
push edx
push ecx
call fcn.005010b4
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00500b45
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0040a910
call fcn.00508868
call fcn.00508868
int3