Function at 0x40b096
Capabilities:
Create thread
Get common file path

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2060
call fcn.0040d5b0
push ebx
push esi
mov esi, dword [ebp + 8]
cmp esi, 3
push edi
jne 0x40b0b5
xor eax, eax
jmp 0x40b2c9
test esi, 0x20000
je 0x40b0cf
mov ebx, dword [0x415034]
mov edi, 0x422b88
call fcn.00407995
jmp 0x40b0d6
xor eax, eax
call fcn.00407951
mov dword [ebp - 0xc], esi
and dword [ebp - 0xc], 8
push 0
pop ebx
mov edi, 0x420840
je 0x40b160
cmp dword [0x415060], 0x2c1
jle 0x40b160
cmp dword [0x4206a4], ebx
jne 0x40b160
mov esi, 0x1000
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
test eax, eax
je 0x40b116
mov edx, edi
call fcn.00406cf9
jmp 0x40b11e
push edi
push esi
call dword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryW]
lea eax, [ebp - 0x205c]
push eax
mov edx, edi
call fcn.00405511
pop ecx
mov ecx, str._netprotdrvss.exe
lea eax, [ebp - 0x205c]
call fcn.004054ed
push ebx
push ebx
push 1
push dword [0x420838]
push ebx
push eax
push ebx
push dword [0x423dd0]
call fcn.0040253c
add esp, 0x20
test eax, eax
jne 0x40b0ae
test word [ebp + 8], 0x100
je 0x40b177
push 5
push str.begun.ru
call dword [sym.imp.WININET.dll_InternetSetPerSiteCookieDecisionW]
jmp 0x40b17d
call dword [sym.imp.WININET.dll_InternetClearAllPerSiteCookieDecisions]
call fcn.004032b8
test eax, eax
jne 0x40b199
push 4
call dword [sym.imp.KERNEL32.DLL_GetLastError]
push eax
push 0xa
call fcn.0040a786
add esp, 0xc
xor esi, esi
mov dword [ebp - 8], 1
mov dword [ebp + 8], 0x41a754
mov eax, dword [ebp + 8]
cmp dword [eax], ebx
je 0x40b1ce
mov ecx, dword [ebp - 8]
push ebx
push ebx
lea eax, [ebp + esi*4 - 0x5c]
push eax
push fcn.0040b023
push ebx
push ebx
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.DLL_CreateThread]
mov dword [ebp + esi*4 - 0x34], eax
inc esi
inc dword [ebp - 8]
add dword [ebp + 8], 0x144
cmp dword [ebp + 8], 0x41b2b8
jl 0x40b1a9
cmp dword [0x41a610], ebx
jne 0x40b1ed
cmp esi, ebx
je 0x40b221
push 4
push ebx
push 0xc
call fcn.0040a786
add esp, 0xc
cmp dword [0x41a610], ebx
je 0x40b20e
lea eax, [ebp + 8]
push eax
mov dword [ebp + 8], ebx
call fcn.0040b023
cmp esi, ebx
je 0x40b221
push 0xffffffffffffffff
push 1
lea eax, [ebp - 0x34]
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_WaitForMultipleObjects]
cmp esi, ebx
mov dword [ebp + 8], ebx
jle 0x40b23d
mov eax, dword [ebp + 8]
push dword [ebp + eax*4 - 0x34]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
inc dword [ebp + 8]
cmp dword [ebp + 8], esi
jl 0x40b228
call fcn.0040a6c9
call dword [sym.imp.WININET.dll_InternetClearAllPerSiteCookieDecisions]
cmp dword [ebp - 0xc], ebx
je 0x40b2c6
cmp dword [0x415060], 0x2c1
jle 0x40b2c6
cmp dword [0x4206a4], ebx
je 0x40b2c6
mov esi, 0x1000
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.DLL_GetModuleFileNameW]
test eax, eax
je 0x40b27c
mov edx, edi
call fcn.00406cf9
jmp 0x40b284
push edi
push esi
call dword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryW]
lea eax, [ebp - 0x205c]
push eax
mov edx, edi
call fcn.00405511
pop ecx
mov ecx, str._netprotdrvss.exe
lea eax, [ebp - 0x205c]
call fcn.004054ed
push ebx
push ebx
push 1
push dword [0x420838]
push ebx
push eax
push ebx
push dword [0x423dd0]
call fcn.0040253c
add esp, 0x20
test eax, eax
jne 0x40b0ae
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret