Function at 0x404960
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4e097a
mov eax, dword fs:[0]
push eax
sub esp, 0x174
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5265f0]
xor eax, esp
push eax
lea eax, [esp + 0x188]
mov dword fs:[0], eax
mov esi, ecx
call fcn.004bda7d
push 0x52f7a8
call fcn.00404ed0
mov ebx, dword [esi + 0x48]
push str.cpuz
lea edi, [esi + 0xc0]
push 0x200
xor ebp, ebp
push edi
mov dword [esi + 0xb4], ebp
call fcn.004225f0
push str._txt
push ebx
call fcn.004c3459
add esp, 0x14
cmp eax, ebp
je 0x404a11
push 0x200
push edi
push str._txt_s
push eax
mov dword [esi + 0xb0], 1
call fcn.004c3525
push str..txt
push 0x200
push edi
call fcn.004c30c8
add esp, 0x1c
mov dword [esi + 0xb4], 1
jmp 0x404a83
push str._html
push ebx
call fcn.004c3459
add esp, 8
cmp eax, ebp
je 0x404a5d
push 0x200
push edi
push str._html_s
push eax
mov dword [esi + 0xb0], 1
call fcn.004c3525
push str..htm
push 0x200
push edi
call fcn.004c30c8
add esp, 0x1c
mov dword [esi + 0xb4], 2
jmp 0x404a83
push str._console
push ebx
call fcn.004c3459
add esp, 8
test eax, eax
je 0x404a83
mov dword [esi + 0xb0], 1
mov dword [esi + 0xb4], 3
push str._core
push ebx
call fcn.004c3459
add esp, 8
cmp eax, ebp
je 0x404aac
push 4
lea ecx, [esi + 0xb8]
push ecx
push str._core_d
push eax
call fcn.004c3525
add esp, 0x10
push str._coremask
push ebx
call fcn.004c3459
add esp, 8
cmp eax, ebp
je 0x404ae9
push 4
lea edx, [esi + 0xbc]
push edx
push str._coremask_X
push eax
call fcn.004c3525
add esp, 0x10
mov dword [esi + 0xb0], 1
mov dword [esi + 0xb4], 4
push str._removeservice
push ebx
call fcn.004c3459
add esp, 8
cmp eax, ebp
je 0x404b0f
mov dword [esi + 0xb0], 1
mov dword [esi + 0xb4], 5
cmp dword [esi + 0xa4], ebp
jne 0x404b3d
lea eax, [esp + 0x18]
push eax
push ebp
push esi
push 0x406630
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, ebp
mov dword [esi + 0xa4], eax
je 0x404b3d
push ebp
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
cmp dword [esi + 0xb0], ebp
jne 0x404c9e
push 0xd0
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, ebp
mov dword [esp + 0x190], ebp
je 0x404b6d
push eax
call fcn.0041f010
jmp 0x404b6f
xor eax, eax
or ebx, 0xffffffff
mov dword [esp + 0x190], ebx
mov edx, dword [eax]
mov dword [0x52f788], eax
mov ecx, eax
mov eax, dword [edx + 0x144]
call eax
mov ecx, dword [0x52f788]
cmp ecx, ebp
je 0x404b9d
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov ecx, dword [esi + 0xa4]
push ebx
push ecx
mov dword [0x52f788], ebp
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esi + 0xa4]
cmp eax, ebp
je 0x404bc8
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0xa4], ebp
push 0x530ebc
push 0x20
mov edx, dword [0x5310c0]
push ebp
mov edi, dword [sym.imp.GDI32.dll_CreateFontW]
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
push 0x190
push ebp
push ebp
push ebp
push edx
call edi
push eax
lea ecx, [esi + 0x1504]
call fcn.004bb105
push 0x530cbc
push 0x20
mov eax, dword [0x5310bc]
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
push ebp
push 0x190
push ebp
push ebp
push ebp
push eax
call edi
push eax
lea ecx, [esi + 0x150c]
call fcn.004bb105
cmp dword [esi + 0xa8], ebp
jne 0x404c51
lea ecx, [esp + 0x18]
push ecx
push ebp
push esi
push 0x4065d0
push ebp
push ebp
call dword [sym.imp.KERNEL32.dll_CreateThread]
cmp eax, ebp
mov dword [esi + 0xa8], eax
je 0x404c51
push ebp
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
lea edx, [esp + 0x1c]
push edx
call fcn.00409900
lea eax, [esp + 0x1c]
mov dword [esp + 0x190], 1
mov ecx, eax
mov dword [esi + 0x20], eax
call fcn.004b4e2e
lea ecx, [esp + 0x1c]
push ecx
mov dword [esp + 0x194], ebx
call fcn.00404ce0
xor eax, eax
mov ecx, dword [esp + 0x188]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0xa4]
push 0xffffffffffffffff
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [esi + 0xa4]
cmp eax, ebp
je 0x404cc4
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0xa4], ebp
mov eax, 1
mov ecx, dword [esp + 0x188]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret