Function at 0x40f588
Capabilities:
Create bits job

Disassembly:
mov eax, 0x41e3bf
call fcn.00411ea8
sub esp, 0x434
push ebx
push esi
push edi
call dword [0x426060]
xor esi, esi
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], esi
push esi
push esi
push esi
push 3
push 2
push esi
push esi
push 0xffffffffffffffff
push esi
mov dword [ebp - 4], esi
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
lea eax, [ebp - 0x18]
push eax
push 0x42195c
push 4
push esi
push 0x42197c
call dword [sym.imp.ole32.dll_CoCreateInstance]
cmp eax, esi
jge 0x40f5ff
push str.FAILED_initialization__BITS_might_be_disabled
call fcn.0040df32
mov eax, dword [ebp - 0x18]
or dword [ebp - 4], 0xffffffff
cmp eax, esi
pop ecx
je 0x40f5f5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x80070200
jmp 0x40f932
mov dword [ebp - 0x10], esi
lea eax, [ebp - 0x40]
push eax
mov byte [ebp - 4], 1
call fcn.0040d6e9
cmp eax, esi
mov edi, dword [ebp + 8]
pop ecx
jl 0x40f630
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
lea edx, [ebp - 0x10]
push edx
lea edx, [ebp - 0x40]
push edx
push eax
call dword [ecx + 0x10]
cmp eax, esi
jge 0x40f8de
cmp dword [edi + 0x4c], esi
je 0x40f658
lea eax, [ebp - 0x440]
push 0x400
push eax
call fcn.0040d618
test eax, eax
pop ecx
pop ecx
je 0x40f653
xor ebx, ebx
jmp 0x40f903
mov eax, 0x80004005
cmp eax, esi
jge 0x40f8de
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
lea edx, [ebp - 0x10]
push edx
lea edx, [ebp - 0x40]
push edx
push esi
push str.MyJob
push eax
call dword [ecx + 0xc]
mov ebx, eax
cmp ebx, esi
jl 0x40f903
lea eax, [ebp - 0x40]
push eax
call fcn.0040d7c8
mov eax, dword [ebp - 0x10]
pop ecx
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0x54]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
push str.Java_Update
push eax
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
push esi
push esi
push esi
push eax
call dword [ecx + 0x80]
mov ebx, eax
cmp ebx, esi
jl 0x40f903
lea eax, [edi + 0x20]
push eax
push dword [edi + 8]
lea eax, [ebp - 0x440]
push str._s_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
cmp dword [edi + 0x48], 1
jne 0x40f758
mov eax, dword [edi + 0x14]
cmp eax, esi
mov ebx, dword [sym.imp.KERNEL32.DLL_lstrlenA]
mov dword [ebp + 8], eax
jne 0x40f6f3
mov dword [ebp + 8], esi
jmp 0x40f719
push eax
call ebx
mov esi, eax
inc esi
lea eax, [esi + esi]
add eax, 3
and eax, 0xfffffffc
call fcn.00411570
mov eax, esp
push dword [ebp - 0x14]
push esi
push dword [ebp + 8]
push eax
call fcn.00408f88
mov dword [ebp + 8], eax
lea eax, [ebp - 0x440]
push eax
call ebx
mov esi, eax
inc esi
lea eax, [esi + esi]
add eax, 3
and eax, 0xfffffffc
call fcn.00411570
mov eax, esp
push dword [ebp - 0x14]
lea ecx, [ebp - 0x440]
push esi
push ecx
push eax
call fcn.00408f88
push dword [ebp + 8]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x10]
jmp 0x40f8d6
mov esi, dword [sym.imp.KERNEL32.DLL_lstrlenA]
lea eax, [ebp - 0x440]
push eax
call esi
mov ebx, eax
inc ebx
lea eax, [ebx + ebx]
add eax, 3
and eax, 0xfffffffc
call fcn.00411570
mov eax, esp
push dword [ebp - 0x14]
lea ecx, [ebp - 0x440]
push ebx
push ecx
push eax
call fcn.00408f88
mov dword [ebp - 0x30], eax
mov eax, dword [edi + 0x14]
test eax, eax
mov dword [ebp + 8], eax
jne 0x40f79d
and dword [ebp - 0x2c], eax
jmp 0x40f7c3
push eax
call esi
mov ebx, eax
inc ebx
lea eax, [ebx + ebx]
add eax, 3
and eax, 0xfffffffc
call fcn.00411570
mov eax, esp
push dword [ebp - 0x14]
push ebx
push dword [ebp + 8]
push eax
call fcn.00408f88
mov dword [ebp - 0x2c], eax
lea eax, [edi + 0x20]
push eax
push dword [edi + 0xc]
lea eax, [ebp - 0x440]
push str._s_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x440]
push eax
call esi
mov ebx, eax
inc ebx
lea eax, [ebx + ebx]
add eax, 3
and eax, 0xfffffffc
call fcn.00411570
mov eax, esp
push dword [ebp - 0x14]
lea ecx, [ebp - 0x440]
push ebx
push ecx
push eax
call fcn.00408f88
mov dword [ebp - 0x28], eax
mov eax, dword [edi + 0x18]
test eax, eax
mov dword [ebp + 8], eax
jne 0x40f81e
and dword [ebp - 0x24], eax
jmp 0x40f844
push eax
call esi
mov ebx, eax
inc ebx
lea eax, [ebx + ebx]
add eax, 3
and eax, 0xfffffffc
call fcn.00411570
mov eax, esp
push dword [ebp - 0x14]
push ebx
push dword [ebp + 8]
push eax
call fcn.00408f88
mov dword [ebp - 0x24], eax
cmp dword [edi + 0x48], 2
jbe 0x40f8c6
lea eax, [edi + 0x20]
push eax
push dword [edi + 0x10]
lea eax, [ebp - 0x440]
push str._s_s
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x10
lea eax, [ebp - 0x440]
push eax
call esi
mov ebx, eax
inc ebx
lea eax, [ebx + ebx]
add eax, 3
and eax, 0xfffffffc
call fcn.00411570
mov eax, esp
push dword [ebp - 0x14]
lea ecx, [ebp - 0x440]
push ebx
push ecx
push eax
call fcn.00408f88
mov ebx, dword [edi + 0x1c]
test ebx, ebx
mov dword [ebp - 0x20], eax
jne 0x40f8a2
and dword [ebp - 0x1c], ebx
jmp 0x40f8c6
push ebx
call esi
mov esi, eax
inc esi
lea eax, [esi + esi]
add eax, 3
and eax, 0xfffffffc
call fcn.00411570
mov eax, esp
push dword [ebp - 0x14]
push esi
push ebx
push eax
call fcn.00408f88
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
lea edx, [ebp - 0x30]
push edx
push dword [edi + 0x48]
push eax
call dword [ecx + 0xc]
mov ebx, eax
xor esi, esi
test ebx, ebx
jl 0x40f903
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
mov ebx, eax
cmp ebx, esi
jge 0x40f8f8
mov eax, dword [ebp - 0x10]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
jmp 0x40f903
push dword [ebp - 0x10]
mov eax, dword [edi]
push edi
call dword [eax + 0x10]
mov ebx, eax
push 0x4218dc
call fcn.0040d7c8
mov eax, dword [ebp - 0x10]
cmp eax, esi
pop ecx
mov byte [ebp - 4], 0
je 0x40f91f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x18]
or dword [ebp - 4], 0xffffffff
cmp eax, esi
je 0x40f930
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, ebx
lea esp, [ebp - 0x44c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 4