Function at 0x6cb18320
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x74
mov eax, dword [eax + 0x94]
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x48], ecx
test eax, eax
je 0x6cb18541
mov edx, dword [ebx + 0x9c]
test edx, edx
jne 0x6cb18670
cmp eax, 0xffffffff
je 0x6cb18775
cmp dword [ebx + 0x98], eax
sete al
movzx eax, al
mov edi, eax
test edi, edi
jne 0x6cb18541
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x6cb18856
xor edi, edi
lea ecx, [ebx + 0xb0]
mov dword [ebp - 0x44], 1
mov eax, dword [ebx + 0xac]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x4c], edi
test edx, edx
jne 0x6cb186e0
test eax, eax
jne 0x6cb183cf
mov edx, dword [ebp + 0xc]
mov eax, ebx
call sym._refill_buffer
mov dword [ebp - 0x44], eax
test eax, eax
je 0x6cb18452
mov edx, dword [ebx + 0x9c]
mov eax, dword [ebx + 0xac]
test edx, edx
jne 0x6cb18760
test eax, eax
je 0x6cb18452
mov esi, eax
mov eax, dword [ebp - 0x48]
cmp esi, eax
jbe 0x6cb183da
mov esi, eax
mov eax, dword [ebp - 0x58]
add eax, dword [ebx + 0xa8]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x4c]
mov dword [esp], eax
call sym._memmove
mov eax, dword [ebx + 0xac]
mov edx, 0
sub eax, esi
mov dword [ebx + 0xac], eax
je 0x6cb18416
mov edx, dword [ebx + 0xa8]
add edx, esi
mov dword [ebx + 0xa8], edx
mov edi, dword [ebx + 0x98]
mov ecx, dword [ebx + 0x94]
mov edx, dword [ebx + 0x9c]
add dword [ebp - 0x4c], esi
add edi, esi
mov dword [ebp - 0x50], ecx
test edx, edx
je 0x6cb18680
sub dword [ebx + 0xa4], esi
mov dword [ebx + 0x98], edi
test ecx, ecx
jne 0x6cb186f5
mov edi, dword [ebp - 0x4c]
test byte [0x6cb2c118], 8
je 0x6cb18557
mov eax, dword [ebx + 0x94]
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], str.retrieved__u_bytes___u__u__n
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x98]
mov dword [esp + 0x10], 0x7fc
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], str.read_data
mov dword [esp + 8], 0x6cb2d8a1
mov dword [esp + 4], 0x6cb2c118
mov dword [esp], 3
call sym._ros_dbg_log
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x6cb184db
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x6cb1856d
mov eax, dword [ebp - 0x54]
mov dword [esp + 0xc], edi
mov dword [esp + 4], 0x80000
mov dword [esp + 8], eax
mov dword [esp], ebx
call sym._send_callback
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x6cb184ee
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x6cb184ee
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov eax, dword [ebx + 0x94]
test eax, eax
je 0x6cb1851b
mov edx, dword [ebx + 0x9c]
test edx, edx
jne 0x6cb18665
cmp eax, 0xffffffff
je 0x6cb18536
cmp dword [ebx + 0x98], eax
sete al
movzx eax, al
test eax, eax
je 0x6cb18536
mov eax, dword [ebx + 0x5c]
mov dword [ebp - 0x40], 0x28
test eax, eax
je 0x6cb18536
test byte [ebx + 0x10], 8
je 0x6cb185a0
mov eax, ebx
call sym._close_connection.part.27
mov eax, dword [ebp - 0x44]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0x44], 1
xor edi, edi
test byte [0x6cb2c118], 8
jne 0x6cb18462
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x6cb184db
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x6cb184c0
mov dword [ebp - 0x38], 3
call sym._GetLastError_0
mov dword [esp + 0xc], 8
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x38]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x200000
mov dword [esp], ebx
call sym._send_callback
jmp 0x6cb184ee
lea edi, [ebp - 0x40]
lea esi, [ebp - 0x38]
mov dword [esp + 8], 0
xor ecx, ecx
mov dword [esp + 4], edi
mov edx, 0x17
mov eax, ebx
mov dword [esp], esi
call sym._query_headers
test eax, eax
je 0x6cb18700
mov dword [esp + 4], str.close
mov dword [esp], esi
call dword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
je 0x6cb18741
mov esi, dword [ebx + 0x5c]
test byte [0x6cb2c118], 8
jne 0x6cb18804
mov dword [esp], 0x6cb2c100
call sym._EnterCriticalSection_4
sub esp, 4
call sym._GetTickCount64_0
add eax, 0x7530
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x94]
adc edx, 0
mov dword [esi + 0x9c], edx
mov edx, dword [eax + 0x18]
mov dword [esi], edx
lea edx, [eax + 0x18]
mov dword [esi + 4], edx
mov edx, dword [eax + 0x18]
mov dword [edx + 4], esi
mov dword [eax + 0x18], esi
mov esi, dword [0x6cb32020]
test esi, esi
je 0x6cb18790
mov dword [esp], 0x6cb2c100
call sym._LeaveCriticalSection_4
mov eax, dword [ebp - 0x44]
mov dword [ebx + 0x5c], 0
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 0xa0]
jmp 0x6cb18517
mov edi, dword [ebx + 0xa0]
jmp 0x6cb18364
mov ecx, dword [ebp - 0x50]
mov dword [ebx + 0x98], edi
test ecx, ecx
je 0x6cb18452
xor ecx, ecx
cmp dword [ebp - 0x50], edi
sete cl
cmp dword [ebp - 0x50], 0xffffffff
mov edi, ecx
je 0x6cb186a9
test edi, edi
jne 0x6cb18452
sub dword [ebp - 0x48], esi
jne 0x6cb18392
mov edi, dword [ebp - 0x4c]
test edx, edx
je 0x6cb1854a
mov eax, dword [ebx + 0xa4]
test eax, eax
jne 0x6cb1854a
mov edx, dword [ebp + 0xc]
mov eax, ebx
call sym._refill_buffer
mov dword [ebp - 0x44], eax
jmp 0x6cb1854a
mov edx, dword [ebx + 0xa4]
cmp eax, edx
jbe 0x6cb1839a
mov eax, edx
jmp 0x6cb1839a
mov edi, dword [ebx + 0xa0]
jmp 0x6cb186a1
mov dword [esp + 4], edi
xor ecx, ecx
mov edx, 0x45
mov eax, ebx
mov dword [esp + 8], 0
mov dword [esp], esi
call sym._query_headers
test eax, eax
jne 0x6cb185cb
mov eax, dword [ebx + 0x4c]
mov dword [esp + 4], str.HTTP_1.0
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
jne 0x6cb185e4
mov edi, dword [ebx + 0x5c]
test edi, edi
jne 0x6cb1852f
mov eax, dword [ebp - 0x44]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [ebx + 0xa4]
cmp eax, edx
jbe 0x6cb183c7
mov eax, edx
jmp 0x6cb183c7
mov eax, dword [ebp - 0x48]
test eax, eax
jne 0x6cb18377
xor edi, edi
mov dword [ebp - 0x44], 1
jmp 0x6cb1854a
lea eax, [ebp - 0x3c]
mov dword [esp], 4
mov dword [esp + 8], eax
mov eax, dword [0x6cb3200c]
mov dword [esp + 4], eax
call sym._GetModuleHandleExW_12
sub esp, 0xc
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], sym._connection_collector_4
mov dword [esp + 4], 0
mov dword [esp], 0
call sym._CreateThread_24
sub esp, 0x18
test eax, eax
je 0x6cb18841
mov dword [esp], eax
call sym._CloseHandle_4
mov dword [0x6cb32020], 1
sub esp, 4
jmp 0x6cb18644
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], str.caching_connection__p_n
mov dword [esp + 0x10], 0x616
mov dword [esp + 0xc], str.cache_connection
mov dword [esp + 8], 0x6cb2d8a1
mov dword [esp + 4], 0x6cb2c118
mov dword [esp], 3
call sym._ros_dbg_log
jmp 0x6cb185f4
mov eax, dword [0x6cb3200c]
mov dword [esp], eax
call sym._FreeLibrary_4
sub esp, 4
jmp 0x6cb18644
mov dword [ebp - 0x44], 1
jmp 0x6cb186b5