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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2060
call fcn.0040e800
push ebx
push esi
mov esi, dword [ebp + 8]
cmp esi, 3
push edi
jne 0x40cbef
xor eax, eax
jmp 0x40ce0c
test esi, 0x10000
je 0x40cc0a
push dword [0x413694]
mov edi, 0x41fccc
call fcn.00409ddc
pop ecx
jmp 0x40cc11
xor eax, eax
call fcn.00409d95
test si, 0x200
je 0x40cc1d
call fcn.0040497f
mov dword [ebp - 0xc], esi
and dword [ebp - 0xc], 8
push 0
pop edi
mov esi, 0x41fce0
je 0x40cca5
cmp dword [0x413698], 0x168
jle 0x40cca5
cmp dword [0x41fcc4], edi
jne 0x40cca5
mov ebx, 0x1000
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x40cc5d
mov edx, esi
call fcn.00409178
jmp 0x40cc65
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea eax, [ebp - 0x205c]
push eax
mov edx, esi
call fcn.0040779f
pop ecx
mov ecx, 0x402c68
lea eax, [ebp - 0x205c]
call fcn.0040777b
push edi
push edi
push edi
push dword [0x41fcc8]
push edi
push eax
push dword [0x4232d8]
call fcn.00404847
add esp, 0x1c
test eax, eax
jne 0x40cbe8
test word [ebp + 8], 0x100
je 0x40ccbc
push 5
push 0x402d98
call dword [sym.imp.WININET.dll_InternetSetPerSiteCookieDecisionW]
jmp 0x40ccc2
call dword [sym.imp.WININET.dll_InternetClearAllPerSiteCookieDecisions]
call fcn.0040567f
test eax, eax
jne 0x40ccde
push 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xa
call fcn.0040c2d9
add esp, 0xc
xor ebx, ebx
mov dword [ebp - 8], 1
mov dword [ebp + 8], 0x418dd4
mov eax, dword [ebp + 8]
cmp dword [eax], edi
je 0x40cd13
mov ecx, dword [ebp - 8]
push edi
push edi
lea eax, [ebp + ebx*4 - 0x5c]
push eax
push fcn.0040cb5d
push edi
push edi
mov dword [eax], ecx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp + ebx*4 - 0x34], eax
inc ebx
inc dword [ebp - 8]
add dword [ebp + 8], 0x144
cmp dword [ebp + 8], 0x419938
jl 0x40ccee
cmp dword [0x418c90], edi
jne 0x40cd32
cmp ebx, edi
je 0x40cd66
push 4
push edi
push 0xc
call fcn.0040c2d9
add esp, 0xc
cmp dword [0x418c90], edi
je 0x40cd53
lea eax, [ebp + 8]
push eax
mov dword [ebp + 8], edi
call fcn.0040cb5d
cmp ebx, edi
je 0x40cd66
push 0xffffffffffffffff
push 1
lea eax, [ebp - 0x34]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
cmp ebx, edi
mov dword [ebp + 8], edi
jle 0x40cd82
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], ebx
jl 0x40cd6d
call fcn.0040c21c
call dword [sym.imp.WININET.dll_InternetClearAllPerSiteCookieDecisions]
cmp dword [ebp - 0xc], edi
je 0x40ce09
cmp dword [0x413698], 0x168
jle 0x40ce09
cmp dword [0x41fcc4], edi
je 0x40ce09
mov ebx, 0x1000
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x40cdc1
mov edx, esi
call fcn.00409178
jmp 0x40cdc9
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
lea eax, [ebp - 0x205c]
push eax
mov edx, esi
call fcn.0040779f
pop ecx
mov ecx, 0x402c68
lea eax, [ebp - 0x205c]
call fcn.0040777b
push edi
push edi
push edi
push dword [0x41fcc8]
push edi
push eax
push dword [0x4232d8]
call fcn.00404847
add esp, 0x1c
test eax, eax
jne 0x40cbe8
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret