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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2060
call fcn.0040e880
push ebx
push esi
mov esi, dword [ebp + 8]
cmp esi, 3
push edi
jne 0x40cc75
xor eax, eax
jmp 0x40ce92
test esi, 0x10000
je 0x40cc90
push dword [0x413694]
mov edi, 0x41fccc
call fcn.00409ddc
pop ecx
jmp 0x40cc97
xor eax, eax
call fcn.00409d95
test si, 0x200
je 0x40cca3
call fcn.0040497f
mov dword [ebp - 0xc], esi
and dword [ebp - 0xc], 8
push 0
pop edi
mov esi, 0x41fce0
je 0x40cd2b
cmp dword [0x413698], 0x169
jle 0x40cd2b
cmp dword [0x41fcc4], edi
jne 0x40cd2b
mov ebx, 0x1000
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x40cce3
mov edx, esi
call fcn.00409178
jmp 0x40cceb
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 0x40cc6e
test word [ebp + 8], 0x100
je 0x40cd42
push 5
push 0x402d98
call dword [sym.imp.WININET.dll_InternetSetPerSiteCookieDecisionW]
jmp 0x40cd48
call dword [sym.imp.WININET.dll_InternetClearAllPerSiteCookieDecisions]
call fcn.0040567f
test eax, eax
jne 0x40cd64
push 4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0xa
call fcn.0040c35f
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 0x40cd99
mov ecx, dword [ebp - 8]
push edi
push edi
lea eax, [ebp + ebx*4 - 0x5c]
push eax
push fcn.0040cbe3
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 0x40cd74
cmp dword [0x418c90], edi
jne 0x40cdb8
cmp ebx, edi
je 0x40cdec
push 4
push edi
push 0xc
call fcn.0040c35f
add esp, 0xc
cmp dword [0x418c90], edi
je 0x40cdd9
lea eax, [ebp + 8]
push eax
mov dword [ebp + 8], edi
call fcn.0040cbe3
cmp ebx, edi
je 0x40cdec
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 0x40ce08
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 0x40cdf3
call fcn.0040c2a2
call dword [sym.imp.WININET.dll_InternetClearAllPerSiteCookieDecisions]
cmp dword [ebp - 0xc], edi
je 0x40ce8f
cmp dword [0x413698], 0x169
jle 0x40ce8f
cmp dword [0x41fcc4], edi
je 0x40ce8f
mov ebx, 0x1000
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x40ce47
mov edx, esi
call fcn.00409178
jmp 0x40ce4f
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 0x40cc6e
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret