Function at 0x421470
Capabilities:
Create thread

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov eax, dword [0x450870]
and eax, 0x10
jne 0x421500
push 0
push 0
push 0x41b9e0
call dword [sym.imp.MSVCR71.dll__beginthread]
add esp, 0xc
mov dword [ebp - 0xc], eax
xor ecx, ecx
cmp dword [ebp - 0xc], 0xffffffff
sete cl
or ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
jne 0x4214cc
push 0
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov dword [ebp - 8], eax
push 0xfa
mov eax, dword [0x450d2c]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x4214fe
push 0
mov ecx, dword [0x450d00]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x4214fc
jmp 0x4216fb
jmp 0x4214cc
jmp 0x421516
push str.MailDispatcher
push 0x177
push 0
push 2
call fcn.0041d760
add esp, 0x10
mov edx, dword [0x450870]
and edx, 1
jne 0x421558
push 0
push 0
push 0x4118e0
call dword [sym.imp.MSVCR71.dll__beginthread]
add esp, 0xc
mov dword [ebp - 0xc], eax
xor eax, eax
cmp dword [ebp - 0xc], 0xffffffff
sete al
or eax, dword [ebp - 4]
mov dword [ebp - 4], eax
jne 0x421556
push 2
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov dword [ebp - 8], eax
jmp 0x42156e
push str.JobInvocationEngine
push 0x177
push 0
push 2
call fcn.0041d760
add esp, 0x10
mov edx, dword [0x450870]
and edx, 2
jne 0x4215b0
push 0
push 0
push 0x401010
call dword [sym.imp.MSVCR71.dll__beginthread]
add esp, 0xc
mov dword [ebp - 0xc], eax
xor eax, eax
cmp dword [ebp - 0xc], 0xffffffff
sete al
or eax, dword [ebp - 4]
mov dword [ebp - 4], eax
jne 0x4215ae
push 2
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov dword [ebp - 8], eax
jmp 0x4215c6
push str.AlertEngine
push 0x177
push 0
push 2
call fcn.0041d760
add esp, 0x10
mov edx, dword [0x450870]
and edx, 4
jne 0x421608
push 0
push 0
push 0x42a4e0
call dword [sym.imp.MSVCR71.dll__beginthread]
add esp, 0xc
mov dword [ebp - 0xc], eax
xor eax, eax
cmp dword [ebp - 0xc], 0xffffffff
sete al
or eax, dword [ebp - 4]
mov dword [ebp - 4], eax
jne 0x421606
push 2
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov dword [ebp - 8], eax
jmp 0x42161e
push 0x444fb4
push 0x177
push 0
push 2
call fcn.0041d760
add esp, 0x10
mov edx, dword [0x450870]
and edx, 8
jne 0x421660
push 0
push 0
push 0x4073c0
call dword [sym.imp.MSVCR71.dll__beginthread]
add esp, 0xc
mov dword [ebp - 0xc], eax
xor eax, eax
cmp dword [ebp - 0xc], 0xffffffff
sete al
or eax, dword [ebp - 4]
mov dword [ebp - 4], eax
jne 0x42165e
push 1
mov ecx, dword [ebp - 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov dword [ebp - 8], eax
jmp 0x421676
push str.AutoStartEngine
push 0x177
push 0
push 2
call fcn.0041d760
add esp, 0x10
mov edx, dword [0x450870]
and edx, 0x20
jne 0x4216d0
cmp dword [0x44de90], 0
je 0x421693
mov dword [ebp - 0x10], 0x41a270
jmp 0x42169a
mov dword [ebp - 0x10], 0x419630
push 0
push 0
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.MSVCR71.dll__beginthread]
add esp, 0xc
mov dword [ebp - 0xc], eax
xor ecx, ecx
cmp dword [ebp - 0xc], 0xffffffff
sete cl
or ecx, dword [ebp - 4]
mov dword [ebp - 4], ecx
jne 0x4216ce
push 0
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov dword [ebp - 8], eax
jmp 0x4216e1
push 0x18c
push 0
push 2
call fcn.0041d760
add esp, 0xc
mov eax, dword [0x450870]
and eax, 4
je 0x4216fb
push 0
push 0
push 0
push 4
call fcn.00431dd0
add esp, 0x10
xor eax, eax
cmp dword [ebp - 4], 0
sete al
mov esp, ebp
pop ebp
ret