Function at 0x41f6d4
Capabilities:
Create thread

Disassembly:
push 0x14
mov eax, 0x4fe271
call fcn.004e6cb7
mov edi, ecx
mov dword [ebp - 0x20], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
xor ebx, ebx
push ebx
push 0x41fc12
push 3
call dword [sym.imp.USER32.dll_SetWindowsHookExW]
push str.USER32
mov dword [edi + 0x87a4], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x41f732
push str.ChangeWindowMessageFilter
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x41f732
push 1
push 0x4a
call esi
push 1
push 0x4b0
call esi
mov eax, dword [ebp + 0x14]
mov dword [0x54dbe4], ebx
mov dword [eax], ebx
mov eax, dword [edi + 4]
mov dword [0x54dbe0], eax
call fcn.00433846
test al, al
jne 0x41f755
push 0xd7
jmp 0x41f757
push 0x6b
push dword [0x54d740]
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [edi + 0x164], eax
test eax, eax
je 0x41f790
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push eax
push ebx
mov ebx, 0x80
push ebx
push dword [edi + 4]
call esi
push dword [edi + 0x164]
push 1
push ebx
push dword [edi + 4]
call esi
xor ebx, ebx
mov ecx, edi
call fcn.00423882
call fcn.004b8690
cmp dword [edi + 0x158], ebx
je 0x41f7ad
mov ecx, edi
call fcn.0041fc9c
jmp 0x41f7c1
push ebx
push 0x2710
push 0x183
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetTimer]
call fcn.0043379a
test al, al
jne 0x41f7cf
call fcn.00428fd4
lea ecx, [ebp + 0x14]
call fcn.0041e69b
push ebx
mov dword [ebp - 4], ebx
mov ecx, edi
push dword [eax]
call fcn.00424083
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x14]
call fcn.00403080
lea ecx, [edi + 0x24]
mov eax, dword [ecx]
push str.homepage
mov dword [ebp - 0x18], ecx
call dword [eax + 0x20]
lea esi, [edi + 0x8778]
mov ebx, eax
mov ecx, esi
mov dword [ebp + 0x14], ebx
mov dword [ebp - 0x14], esi
call fcn.00469847
mov esi, dword [esi + 4]
sub esi, dword [edi + 0x8778]
sar esi, 3
mov dword [ebp - 0x1c], esi
test esi, esi
jle 0x41f960
test ebx, ebx
je 0x41f960
push 0
mov dword [edi + 0x8784], ebx
mov ecx, ebx
mov eax, dword [ebx]
push 1
push str.down
call dword [eax + 0x34]
mov eax, dword [ebx]
mov ecx, ebx
push 0
push 1
push str.show
call dword [eax + 0x34]
mov ecx, dword [ebx + 0x38]
mov eax, esi
cdq
add ecx, 4
sub eax, edx
sar eax, 1
add eax, 3
imul eax, ecx
cdq
sub eax, edx
sar eax, 1
neg eax
add dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x30]
xor ebx, ebx
mov dword [ebp - 0x10], eax
test esi, esi
jle 0x41f960
mov edi, dword [ebp + 0x14]
cmp ebx, 6
jge 0x41f95d
mov eax, dword [0x548750]
mov dword [ebp + 0x14], eax
lea eax, [ebx + 2]
mov dword [ebp - 4], 1
push eax
lea eax, [ebp + 0x14]
push str.homepage_d
push eax
call fcn.0040306c
mov ecx, dword [ebp - 0x18]
add esp, 0xc
mov eax, dword [ecx]
push dword [ebp + 0x14]
call dword [eax + 0x20]
mov esi, eax
test esi, esi
je 0x41f947
mov edx, dword [esi]
mov ecx, esi
push 0
push 1
push str.show
call dword [edx + 0x34]
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
add ecx, 4
add ecx, dword [edi + 0x38]
mov edx, dword [esi]
mov dword [esi + 0x30], ecx
mov eax, dword [eax]
mov dword [ebp - 0x10], ecx
mov ecx, ebx
push 0
push dword [eax + ecx*8]
mov ecx, esi
push str.setname
call dword [edx + 0x34]
lea eax, [ebx + 2]
cmp eax, 7
jne 0x41f91a
mov eax, dword [esi]
mov ecx, esi
push 0
push 0x514a88
push str.setname
call dword [eax + 0x34]
mov eax, dword [ebp - 0x14]
mov ecx, ebx
push 0x514a90
mov eax, dword [eax]
push dword [eax + ecx*8]
call fcn.004da5d4
pop ecx
pop ecx
test eax, eax
jne 0x41f947
mov eax, dword [esi]
mov ecx, esi
push 0
push 0xffdd0000
push str.color
call dword [eax + 0x34]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x14]
call fcn.00403080
inc ebx
cmp ebx, dword [ebp - 0x1c]
jl 0x41f88a
mov edi, dword [ebp - 0x20]
call fcn.00469446
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x41f97d
xor eax, eax
push eax
push eax
push eax
push 0x469734
push eax
push eax
call ebx
push ecx
push ecx
mov ecx, edi
call fcn.00423c74
call fcn.004b07bc
mov esi, eax
xor edi, edi
cmp dword [esi + 0x14], edi
jne 0x41f9c3
push edi
push edi
push edi
push 0x4b0b08
push edi
push edi
mov dword [esi + 0x14], 1
call ebx
mov dword [esi], eax
cmp dword [esi + 4], edi
jne 0x41f9c3
push 0x4b0944
push 0x3e8
push edi
push edi
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [esi + 4], eax
xor eax, eax
call fcn.004e6c85
ret 0x10