Function at 0x6cb1f580
Capabilities:
Check for software breakpoints
Check http status code

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, eax
sub esp, 0x8c
mov eax, dword [eax + 0x5c]
mov dword [ebp - 0x60], edx
test eax, eax
je 0x6cb1fcb0
mov edx, dword [ebx + 0x8c]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], edx
call sym._netconn_set_timeout
mov eax, dword [ebx + 0x5c]
test eax, eax
je 0x6cb1fb35
mov eax, ebx
call sym._read_reply.part.22
test eax, eax
je 0x6cb1fb35
lea eax, [ebp - 0x58]
mov dword [esp + 8], 0
xor ecx, ecx
mov edx, 0x20000013
mov dword [esp + 4], eax
lea eax, [ebp - 0x54]
mov dword [esp], eax
mov eax, ebx
mov dword [ebp - 0x58], 4
call sym._query_headers
mov edi, eax
test eax, eax
je 0x6cb1f710
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x50], 4
cmp eax, 0xcc
je 0x6cb1f620
cmp eax, 0x130
jne 0x6cb1f780
mov dword [ebx + 0x94], 0
mov dword [ebx + 0x98], 0
mov esi, dword [ebx + 0x10]
and esi, 1
je 0x6cb1fb50
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x5c], eax
cmp eax, 0x12e
je 0x6cb1fbc6
mov ecx, dword [ebp - 0x5c]
lea eax, [ecx - 0x12d]
cmp eax, 1
jbe 0x6cb1f845
cmp ecx, 0x133
je 0x6cb1f845
mov eax, dword [ebp - 0x5c]
cmp eax, 0x191
je 0x6cb1f684
cmp eax, 0x197
jne 0x6cb1f712
mov esi, dword [ebx + 0x10]
and esi, 4
jne 0x6cb1f712
mov eax, dword [ebp - 0x5c]
cmp eax, 0x191
je 0x6cb1fdf0
cmp eax, 0x197
je 0x6cb1fc30
test byte [0x6cb2c118], 4
je 0x6cb1f712
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], str.unhandled_status__u_n
mov dword [esp + 0x10], 0x9b6
mov dword [esp + 0xc], str.handle_authorization
mov dword [esp + 8], 0x6cb2d8a1
mov dword [esp + 4], 0x6cb2c118
mov dword [esp], 2
call sym._ros_dbg_log
jmp 0x6cb1f712
call sym._GetProcessHeap_0
mov edx, dword [ebp - 0x64]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], edx
call sym._HeapFree_12
sub esp, 0xc
nop
xor edi, edi
mov eax, dword [ebx + 0x88]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x5c]
mov dword [esp], eax
call sym._netconn_set_timeout
mov edx, dword [ebx + 0x94]
test edx, edx
jne 0x6cb1fbe0
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x6cb1f76c
test edi, edi
je 0x6cb1fbf0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x20000
mov dword [esp], ebx
call sym._send_callback
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x6cb2fd2c
mov eax, dword [ebx + 0x44]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
je 0x6cb1f620
lea eax, [ebx + 0x94]
lea esi, [ebp - 0x50]
xor ecx, ecx
mov edx, 0x20000005
mov dword [esp], eax
mov eax, ebx
mov dword [esp + 8], 0
mov dword [esp + 4], esi
call sym._query_headers
test eax, eax
jne 0x6cb1f7d0
mov dword [ebx + 0x94], 0xffffffff
mov dword [esp + 4], esi
lea esi, [ebp - 0x4c]
xor ecx, ecx
mov edx, 0x3f
mov dword [esp + 8], 0
mov eax, ebx
mov dword [esp], esi
mov dword [ebp - 0x50], 0x28
call sym._query_headers
test eax, eax
je 0x6cb1f62a
mov dword [esp + 4], str.chunked
mov dword [esp], esi
call dword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x6cb1f62a
mov dword [ebx + 0x94], 0xffffffff
mov dword [ebx + 0x9c], 1
mov dword [ebx + 0xa4], 0xffffffff
mov dword [ebx + 0xa0], 0
jmp 0x6cb1f62a
mov eax, dword [ebx + 0x10]
and eax, 2
mov dword [ebp - 0x6c], eax
jne 0x6cb1f712
mov esi, dword [ebx + 0x18]
test esi, esi
je 0x6cb1f712
lea esi, [ebp - 0x4c]
mov eax, dword [ebx + 0x40]
mov dword [esp + 8], 0
xor ecx, ecx
mov dword [esp + 4], esi
mov edx, 0x21
mov dword [esp], 0
mov dword [ebp - 0x68], eax
mov eax, ebx
call sym._query_headers
call sym._GetLastError_0
cmp eax, 0x7a
jne 0x6cb1f710
mov edi, dword [ebp - 0x4c]
call sym._GetProcessHeap_0
mov dword [esp + 4], 0
mov dword [esp + 8], edi
mov dword [esp], eax
call sym._HeapAlloc_12
sub esp, 0xc
mov dword [ebp - 0x64], eax
test eax, eax
je 0x6cb1f710
mov ecx, dword [ebp - 0x4c]
mov dword [esp], eax
mov eax, ebx
mov dword [esp + 8], 0
shr ecx, 1
mov dword [esp + 4], esi
lea edx, [ecx - 1]
mov dword [ebp - 0x74], ecx
xor ecx, ecx
mov dword [ebp - 0x70], edx
mov edx, 0x21
call sym._query_headers
test eax, eax
je 0x6cb1f6f0
mov eax, dword [ebp - 0x6c]
lea edx, [ebp - 0x48]
mov ecx, 0xd
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x70]
mov dword [esp + 0xc], esi
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x4c], 0x3c
mov dword [esp], eax
mov dword [ebp - 0x14], 0xffffffff
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x38], 0xffffffff
mov dword [ebp - 0x44], 0xffffffff
call sym.winhttp.dll_WinHttpCrackUrl
sub esp, 0x10
mov edi, eax
test eax, eax
jne 0x6cb1fcd0
mov eax, dword [ebp - 0x64]
cmp word [eax], 0x2f
je 0x6cb1ffa0
mov dword [esp + 4], 0x2f
mov eax, dword [ebx + 0x48]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_wcsrchr]
test eax, eax
je 0x6cb1f97b
xor edx, edx
mov word [eax], dx
mov eax, dword [ebx + 0x48]
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll_wcslen]
mov dword [ebp - 0x68], eax
call eax
mov esi, eax
call sym._GetProcessHeap_0
mov edx, dword [ebp - 0x74]
mov dword [esp + 4], 0
mov dword [esp], eax
lea edx, [esi + edx + 1]
add edx, edx
mov dword [esp + 8], edx
call sym._HeapAlloc_12
sub esp, 0xc
mov esi, eax
test eax, eax
je 0x6cb1fdc9
mov eax, dword [ebx + 0x48]
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [sym.imp.msvcrt.dll_wcscpy]
mov dword [esp + 4], 0x6cb2fd28
mov dword [esp], esi
call dword [sym.imp.msvcrt.dll_wcscat]
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x68]
mov dword [esp], esi
lea edi, [edx + edx]
call eax
mov ecx, dword [ebp - 0x64]
mov dword [esp + 8], edi
lea eax, [esi + eax*2]
mov dword [esp + 4], ecx
mov dword [esp], eax
call sym._memmove
mov edx, dword [ebp - 0x70]
xor eax, eax
mov word [esi + edx*2], ax
mov edi, dword [ebx + 0x48]
call sym._GetProcessHeap_0
mov dword [esp + 4], 0
mov dword [esp + 8], edi
mov dword [esp], eax
call sym._HeapFree_12
mov eax, dword [ebp - 0x74]
mov dword [ebx + 0x48], esi
sub esp, 0xc
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], 0x4000
mov dword [esp + 8], eax
mov dword [esp], ebx
call sym._send_callback
mov dword [esp + 4], 1
lea edi, [ebx + 0x20b0]
mov ecx, str.Content_Type
lea esi, [ebx + 0x20b4]
mov dword [esp], 0
mov edx, esi
mov eax, edi
call sym._get_header_index.isra.12
test eax, eax
js 0x6cb1fa82
mov ecx, eax
mov edx, esi
mov eax, edi
call sym._delete_header.isra.13
mov dword [esp], 0
mov ecx, str.Content_Length
mov edx, esi
mov eax, edi
mov dword [esp + 4], 1
call sym._get_header_index.isra.12
test eax, eax
js 0x6cb1faae
mov ecx, eax
mov edx, esi
mov eax, edi
call sym._delete_header.isra.13
cmp dword [ebp - 0x5c], 0x133
je 0x6cb1fad3
mov dword [esp + 4], str.POST
mov eax, dword [ebx + 0x44]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
je 0x6cb1ff20
call sym._GetProcessHeap_0
mov edx, dword [ebp - 0x64]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], edx
call sym._HeapFree_12
sub esp, 0xc
mov dword [esp + 0x10], 0
xor ecx, ecx
xor edx, edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov eax, dword [ebx + 0x58]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x54]
mov dword [esp], eax
mov eax, ebx
call sym._send_request
test eax, eax
je 0x6cb1f710
mov eax, dword [ebx + 0x5c]
test eax, eax
jne 0x6cb1f5c1
mov dword [esp], 0x2f78
xor edi, edi
call sym._SetLastError_4
sub esp, 4
jmp 0x6cb1f712
mov eax, dword [ebx + 0x20b4]
test eax, eax
je 0x6cb1f640
mov dword [ebp - 0x5c], edi
jmp 0x6cb1fb6e
add esi, 1
cmp esi, dword [ebx + 0x20b4]
jae 0x6cb1fbb2
mov edx, dword [ebx + 0x20b0]
lea eax, [esi + esi*2]
mov dword [esp + 4], str.Set_Cookie
lea edi, [edx + eax*4]
mov eax, dword [edi]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x6cb1fb63
mov eax, dword [edi + 8]
test eax, eax
jne 0x6cb1fb63
mov eax, dword [edi + 4]
mov dword [esp], ebx
add esi, 1
mov dword [esp + 4], eax
call sym._set_cookies
cmp esi, dword [ebx + 0x20b4]
jb 0x6cb1fb6e
mov eax, dword [ebp - 0x54]
mov edi, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], eax
cmp eax, 0x12e
jne 0x6cb1f651
mov eax, ebx
call sym._is_passport_request
test eax, eax
jne 0x6cb20134
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x5c], eax
jmp 0x6cb1f651
xor edx, edx
mov eax, ebx
call sym._refill_buffer
mov edi, eax
jmp 0x6cb1f73d
mov dword [ebp - 0x4c], 1
call sym._GetLastError_0
mov dword [esp], ebx
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x4c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 8
mov dword [esp + 4], 0x200000
call sym._send_callback
lea esp, [ebp - 0xc]
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0x5c], 1
mov edx, 0x29
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x50]
mov dword [esp], eax
mov eax, ebx
call sym._query_auth_schemes
test eax, eax
je 0x6cb1f712
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x5c]
mov eax, ebx
call sym._do_authorization
test eax, eax
jne 0x6cb1faf2
mov eax, dword [ebp - 0x4c]
mov ecx, 1
not eax
and eax, dword [ebp - 0x50]
mov dword [ebp - 0x50], eax
test eax, ecx
je 0x6cb1fc8f
mov edx, dword [ebp - 0x5c]
mov eax, ebx
call sym._do_authorization
test eax, eax
jne 0x6cb1faf2
add esi, 0xc
cmp esi, 0x3c
je 0x6cb1f712
mov ecx, dword [esi + 0x6cb2f528]
mov eax, dword [ebp - 0x50]
test eax, ecx
jne 0x6cb1fc7d
jmp 0x6cb1fc8f
mov dword [esp], 0x2ef3
xor edi, edi
call sym._SetLastError_4
mov eax, edi
sub esp, 4
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x40]
cmp eax, 1
je 0x6cb1fff0
cmp eax, 2
je 0x6cb20022
mov eax, dword [ebp - 0x74]
mov dword [esp + 4], 0x4000
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 8], eax
call sym._send_callback
mov eax, dword [ebp - 0x38]
lea esi, [eax + eax + 2]
call sym._GetProcessHeap_0
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._HeapAlloc_12
sub esp, 0xc
mov edi, eax
test eax, eax
je 0x6cb1f6f0
lea eax, [esi - 2]
mov dword [esp], edi
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], eax
call sym._memmove
xor eax, eax
mov word [edi + esi - 2], ax
movzx esi, word [ebp - 0x34]
test si, si
je 0x6cb1fe01
mov eax, dword [ebp - 0x68]
mov dword [esp + 4], edi
mov eax, dword [eax + 0x44]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
jne 0x6cb1fd7e
mov eax, dword [ebp - 0x68]
cmp word [eax + 0x56], si
je 0x6cb20050
mov eax, dword [ebp - 0x68]
mov edx, dword [eax + 0x44]
mov dword [ebp - 0x6c], edx
call sym._GetProcessHeap_0
mov edx, dword [ebp - 0x6c]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], edx
call sym._HeapFree_12
mov eax, dword [ebp - 0x68]
sub esp, 0xc
mov word [eax + 0x54], si
movzx esi, si
mov dword [eax + 0x44], edi
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp], eax
call sym._set_server_for_hostname
mov edi, eax
test eax, eax
jne 0x6cb1fe20
call sym._GetProcessHeap_0
mov edx, dword [ebp - 0x64]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [esp + 8], edx
call sym._HeapFree_12
sub esp, 0xc
jmp 0x6cb1f712
mov dword [ebp - 0x5c], 0
mov edx, 0x28
jmp 0x6cb1fc3c
cmp dword [ebp - 0x40], 2
sete al
movzx esi, al
sub esi, 1
and si, 0xfe95
add si, 0x1bb
jmp 0x6cb1fd5a
mov eax, dword [ebx + 0x5c]
mov dword [esp], eax
call sym._netconn_close
mov dword [ebx + 0x5c], 0
mov dword [ebx + 0x98], 0
mov dword [ebx + 0x94], 0
mov dword [ebx + 0xac], 0
mov dword [ebx + 0xa8], 0
mov dword [ebx + 0xa0], 0
mov dword [ebx + 0x9c], 0
mov edx, 0xa0000000
mov eax, ebx
call sym._add_host_header
mov edi, eax
test eax, eax
je 0x6cb1fdc9
mov eax, ebx
call sym._open_connection
mov edi, eax
test eax, eax
je 0x6cb1fdc9
mov esi, dword [ebx + 0x48]
call sym._GetProcessHeap_0
mov dword [esp + 4], 0
mov dword [esp + 8], esi
mov dword [esp], eax
call sym._HeapFree_12
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 0x48], 0
sub esp, 0xc
test eax, eax
je 0x6cb200e6
add eax, dword [ebp - 0x14]
lea esi, [eax + eax + 2]
call sym._GetProcessHeap_0
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._HeapAlloc_12
sub esp, 0xc
mov dword [ebx + 0x48], eax
test eax, eax
je 0x6cb1fad3
mov edx, dword [ebp - 0x20]
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._memmove
mov eax, dword [ebx + 0x48]
xor ecx, ecx
mov word [eax + esi - 2], cx
jmp 0x6cb1fa4a
mov esi, dword [ebx + 0x44]
call sym._GetProcessHeap_0
mov dword [esp + 4], 0
mov dword [esp + 8], esi
mov dword [esp], eax
call sym._HeapFree_12
sub esp, 0xc
mov dword [esp], 0x6cb2fd44
call dword [sym.imp.msvcrt.dll_wcslen]
mov esi, eax
call sym._GetProcessHeap_0
lea edx, [esi + esi + 2]
mov dword [esp + 4], 0
mov dword [esp + 8], edx
mov dword [esp], eax
call sym._HeapAlloc_12
sub esp, 0xc
mov esi, eax
test eax, eax
je 0x6cb1ff85
mov dword [esp + 4], 0x6cb2fd44
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_wcscpy]
mov dword [ebx + 0x44], esi
mov dword [ebx + 0x54], 0
mov dword [ebx + 0x58], 0
jmp 0x6cb1fad3
call sym._GetProcessHeap_0
mov edx, dword [ebp - 0x74]
mov dword [esp + 4], 0
mov dword [esp], eax
add edx, edx
mov dword [esp + 8], edx
call sym._HeapAlloc_12
sub esp, 0xc
mov esi, eax
test eax, eax
je 0x6cb1fdc9
mov edi, dword [ebp - 0x70]
mov dword [esp], esi
lea eax, [edi + edi]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], eax
call sym._memmove
xor ecx, ecx
mov word [esi + edi*2], cx
jmp 0x6cb1fa0a
mov eax, dword [ebx + 0xc]
test eax, 0x800000
je 0x6cb1fce5
cmp dword [ebx + 0x18], 1
je 0x6cb1f6f0
test byte [0x6cb2c118], 8
jne 0x6cb200aa
and eax, 0xff7fffff
mov dword [ebx + 0xc], eax
jmp 0x6cb1fce5
mov eax, dword [ebx + 0xc]
test eax, 0x800000
jne 0x6cb1fce5
test byte [0x6cb2c118], 8
jne 0x6cb20071
or eax, 0x800000
mov dword [ebx + 0xc], eax
jmp 0x6cb1fce5
call sym._GetProcessHeap_0
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [esp], eax
call sym._HeapFree_12
sub esp, 0xc
jmp 0x6cb1fe6e
mov dword [esp + 0x14], str.redirect_from_non_secure_page_to_secure_page_n
mov dword [esp + 0x10], 0xabd
mov dword [esp + 0xc], str.handle_redirect
mov dword [esp + 8], 0x6cb2d8a1
mov dword [esp + 4], 0x6cb2c118
mov dword [esp], 3
call sym._ros_dbg_log
mov eax, dword [ebx + 0xc]
jmp 0x6cb20039
mov dword [esp + 0x14], str.redirect_from_secure_page_to_non_secure_page_n
mov dword [esp + 0x10], 0xab8
mov dword [esp + 0xc], str.handle_redirect
mov dword [esp + 8], 0x6cb2d8a1
mov dword [esp + 4], 0x6cb2c118
mov dword [esp], 3
call sym._ros_dbg_log
mov eax, dword [ebx + 0xc]
jmp 0x6cb20015
mov dword [esp], 0x6cb2fd28
call dword [sym.imp.msvcrt.dll_wcslen]
mov esi, eax
call sym._GetProcessHeap_0
lea edx, [esi + esi + 2]
mov dword [esp + 4], 0
mov dword [esp + 8], edx
mov dword [esp], eax
call sym._HeapAlloc_12
sub esp, 0xc
mov esi, eax
test eax, eax
je 0x6cb2012c
mov dword [esp + 4], 0x6cb2fd28
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_wcscpy]
mov dword [ebx + 0x48], esi
jmp 0x6cb1fa4a
mov eax, dword [ebx + 0x50]
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll_wcslen]
mov edi, dword [ebx + 0x50]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xa0000000
mov esi, eax
mov dword [esp + 8], 0x6cb2f07c
mov dword [esp + 4], str.Status
mov dword [esp], ebx
call sym._process_header
test eax, eax
je 0x6cb1f710
test esi, esi
jle 0x6cb201e1
lea edx, [edi + 4]
lea ecx, [esi - 2]
xor eax, eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x5c], edx
jmp 0x6cb20197
add eax, 1
cmp esi, eax
je 0x6cb201d4
cmp eax, ecx
jge 0x6cb20190
lea edx, [eax + eax]
cmp word [edi + eax*2], 0x33
lea ebx, [edx + edi]
jne 0x6cb20190
cmp word [edi + eax*2 + 2], 0x30
jne 0x6cb20190
add edx, dword [ebp - 0x5c]
cmp word [edi + eax*2 + 4], 0x32
jne 0x6cb20190
mov eax, ebx
mov edi, 1
mov ebx, dword [ebp - 0x64]
mov word [eax], 0x34
mov word [edx], 0x31
jmp 0x6cb1f712
mov ebx, dword [ebp - 0x64]
mov edi, 1
jmp 0x6cb1f712
mov edi, 1
jmp 0x6cb1f712