Function at 0x41e1d2
Capabilities:
Create thread

Disassembly:
push 0x14
mov eax, 0x4fa7e3
call fcn.004e3337
mov edi, ecx
mov dword [ebp - 0x20], edi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
xor ebx, ebx
push ebx
push 0x41e710
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 0x41e230
push str.ChangeWindowMessageFilter
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
je 0x41e230
push 1
push 0x4a
call esi
push 1
push 0x4b0
call esi
mov eax, dword [ebp + 0x14]
mov dword [0x547b14], ebx
mov dword [eax], ebx
mov eax, dword [edi + 4]
mov dword [0x547b10], eax
call fcn.004303ca
test al, al
jne 0x41e253
push 0xd7
jmp 0x41e255
push 0x6b
push dword [0x547680]
call dword [sym.imp.USER32.dll_LoadIconW]
mov dword [edi + 0x164], eax
test eax, eax
je 0x41e28e
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.004221eb
call fcn.004b4dbf
cmp dword [edi + 0x158], ebx
je 0x41e2ab
mov ecx, edi
call fcn.0041e79a
jmp 0x41e2bf
push ebx
push 0x2710
push 0x183
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetTimer]
call fcn.004303ca
test al, al
je 0x41e2cd
call fcn.00427be9
lea ecx, [ebp + 0x14]
call fcn.0041d1c0
push ebx
mov dword [ebp - 4], ebx
mov ecx, edi
push dword [eax]
call fcn.004229ac
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x14]
call fcn.00403030
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.00466601
mov esi, dword [esi + 4]
sub esi, dword [edi + 0x8778]
sar esi, 3
mov dword [ebp - 0x1c], esi
test esi, esi
jle 0x41e45e
test ebx, ebx
je 0x41e45e
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 0x41e45e
mov edi, dword [ebp + 0x14]
cmp ebx, 6
jge 0x41e45b
mov eax, dword [0x542750]
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.0040301c
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 0x41e445
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 0x41e418
mov eax, dword [esi]
mov ecx, esi
push 0
push 0x510968
push str.setname
call dword [eax + 0x34]
mov eax, dword [ebp - 0x14]
mov ecx, ebx
push 0x510970
mov eax, dword [eax]
push dword [eax + ecx*8]
call fcn.004d6cd4
pop ecx
pop ecx
test eax, eax
jne 0x41e445
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.00403030
inc ebx
cmp ebx, dword [ebp - 0x1c]
jl 0x41e388
mov edi, dword [ebp - 0x20]
call fcn.00466200
mov ebx, dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x41e47b
xor eax, eax
push eax
push eax
push eax
push 0x4664ee
push eax
push eax
call ebx
push ecx
push ecx
mov ecx, edi
call fcn.0042259d
call fcn.004ac5ca
mov esi, eax
xor edi, edi
cmp dword [esi + 0x14], edi
jne 0x41e4c1
push edi
push edi
push edi
push 0x4ac916
push edi
push edi
mov dword [esi + 0x14], 1
call ebx
mov dword [esi], eax
cmp dword [esi + 4], edi
jne 0x41e4c1
push 0x4ac752
push 0x3e8
push edi
push edi
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [esi + 4], eax
xor eax, eax
call fcn.004e3305
ret 0x10