Function at 0x417a88
Capabilities:
Check http status code
Connect to http server
Create thread
Terminate thread

Disassembly:
push ebp
mov eax, 0x24cc
lea ebp, [esp - 0x244c]
call fcn.004c2440
mov eax, dword [0x4e7384]
push ebx
push esi
push edi
mov dword [ebp + 0x2448], eax
mov eax, dword [ebp + 0x2454]
xor ebx, ebx
push 0x10000000
add eax, 0xc
push ebx
lea esi, [ebp - 0x40]
mov edi, ecx
mov dword [eax], ebx
call fcn.00417677
push 0x10000000
push dword [ebp + 0x2458]
mov eax, esi
call fcn.004176d8
test eax, eax
je 0x417da9
mov esi, dword [ebp + 0x2454]
push ebx
push ebx
push 3
push dword [ebp - 0x1c]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp - 0x30]
push dword [esi]
call dword [sym.imp.WININET.dll_InternetConnectW]
cmp eax, ebx
mov dword [ebp - 0x48], eax
je 0x417da9
cmp dword [esi + 4], ebx
lea eax, [ebp - 0x4c]
push eax
mov dword [ebp - 0x80], str.image_gif
mov dword [ebp - 0x7c], str.image_x_xbitmap
mov dword [ebp - 0x78], str.image_jpg
mov dword [ebp - 0x74], str.image_pjpeg
mov dword [ebp - 0x70], str.text_html
mov dword [ebp - 0x6c], str.text_xml
mov dword [ebp - 0x68], 0x4cfd94
mov dword [ebp - 0x64], ebx
lea eax, [ebp - 0x40]
je 0x417bb6
call fcn.00417740
mov dword [ebp + 0x2454], eax
lea eax, [ebp + 0x2458]
push eax
lea eax, [ebp - 0x40]
call fcn.004177a4
mov ecx, dword [ebp + 0x2454]
mov ecx, dword [ecx]
mov eax, dword [eax]
push ebx
or edi, 0x400000
push edi
push ebx
push ecx
push ebx
push eax
push 0x4cfd8c
push dword [ebp - 0x48]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0x2458]
add eax, 0xfffffff4
cmp eax, dword [0x4e9154]
je 0x417ba0
push eax
call fcn.004013aa
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff4
cmp eax, dword [0x4e9154]
je 0x417c21
push eax
call fcn.004013aa
jmp 0x417c21
call fcn.00417740
mov esi, eax
lea eax, [ebp + 0x2458]
push eax
lea eax, [ebp - 0x40]
call fcn.004177a4
mov esi, dword [esi]
mov eax, dword [eax]
push ebx
or edi, 0x400000
push edi
lea ecx, [ebp - 0x80]
push ecx
push esi
push ebx
push eax
push 0x4cfd8c
push dword [ebp - 0x48]
call dword [sym.imp.WININET.dll_HttpOpenRequestW]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0x2458]
add eax, 0xfffffff4
cmp eax, dword [0x4e9154]
je 0x417c07
push eax
call fcn.004013aa
mov eax, dword [ebp - 0x4c]
add eax, 0xfffffff4
cmp eax, dword [0x4e9154]
je 0x417c1b
push eax
call fcn.004013aa
mov esi, dword [ebp + 0x2454]
cmp dword [ebp - 0x44], ebx
je 0x417da9
mov dword [ebp + 0x2454], ebx
cmp dword [ebp + 0x2464], ebx
je 0x417c4d
push ebx
push dword [ebp + 0x2464]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x417d99
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 0x245c]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x2460]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x4c]
push eax
push ebx
lea eax, [ebp - 0x60]
push eax
push 0x4177ed
push ebx
push ebx
mov dword [ebp - 0x4c], ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, eax
cmp edi, ebx
je 0x417d99
push dword [esi + 8]
mov eax, dword [ebp + 0x2464]
push ebx
lea ecx, [ebp - 0x54]
push ecx
xor ecx, ecx
cmp eax, ebx
setne cl
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], eax
inc ecx
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
test eax, eax
jne 0x417d90
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, dword [sym.imp.WININET.dll_HttpQueryInfoW]
push ebx
lea eax, [ebp + 0x2458]
push eax
lea eax, [esi + 0xc]
push eax
push 0x20000013
push dword [ebp - 0x44]
mov dword [ebp + 0x2458], 4
call edi
test eax, eax
je 0x417dc3
mov eax, dword [esi + 0xc]
cmp eax, 0x12e
je 0x417dc8
cmp eax, 0x197
jne 0x417d34
cmp dword [ebp + 0x2454], ebx
jne 0x417d34
mov eax, dword [esi + 0x10]
mov ecx, dword [eax - 8]
cmp ecx, ebx
je 0x417d20
lea ecx, [ecx + ecx + 2]
push ecx
push eax
push 0x2b
push dword [ebp - 0x44]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
mov eax, dword [esi + 0x14]
mov ecx, dword [eax - 8]
cmp ecx, ebx
je 0x417d81
lea ecx, [ecx + ecx + 2]
push ecx
push eax
push 0x2c
jmp 0x417d78
cmp eax, 0x191
jne 0x417dfa
cmp dword [ebp + 0x2454], ebx
jne 0x417dfa
mov eax, dword [esi + 0x10]
mov ecx, dword [eax - 8]
cmp ecx, ebx
je 0x417d66
lea ecx, [ecx + ecx + 2]
push ecx
push eax
push 0x1c
push dword [ebp - 0x44]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
mov eax, dword [esi + 0x14]
mov ecx, dword [eax - 8]
cmp ecx, ebx
je 0x417d81
lea ecx, [ecx + ecx + 2]
push ecx
push eax
push 0x1d
push dword [ebp - 0x44]
call dword [sym.imp.WININET.dll_InternetSetOptionW]
mov dword [ebp + 0x2454], 1
jmp 0x417c30
push 0xffffffffffffffff
push edi
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [ebp - 0x44]
mov esi, dword [sym.imp.WININET.dll_InternetCloseHandle]
call esi
push dword [ebp - 0x48]
call esi
xor eax, eax
mov ecx, dword [ebp + 0x2448]
pop edi
pop esi
pop ebx
call fcn.004c2215
add ebp, 0x244c
leave
ret 0x14
mov dword [esi + 0xc], ebx
jmp 0x417dfa
push ebx
lea edx, [ebp + 0x2458]
mov eax, 0x400
lea ecx, [esi + 0x18]
push edx
mov dword [ebp + 0x2458], eax
call fcn.00402f4f
push eax
push 0x21
push dword [ebp - 0x44]
call edi
test eax, eax
je 0x417dfa
or eax, 0xffffffff
lea ecx, [esi + 0x18]
call fcn.00402f7b
mov eax, dword [esi + 0xc]
cmp eax, 0x190
jae 0x417d99
cmp eax, 0x12e
je 0x417d99
lea eax, [ebp - 0x48]
push eax
add esi, 0x1c
call fcn.00446b7d
mov eax, dword [ebp - 0x44]
jmp 0x417dab