Function at 0x406190
Capabilities:
Receive http request
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push edi
lea edi, [esp + 8]
and esp, 0xfffffff8
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x940]
lea edi, [ebp - 0x8d8]
push ebx
sub esp, 0x964
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.httpapi.dll_HttpCreateHttpHandle]
sub esp, 8
mov ebx, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x487
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Got_error__u._n
call fcn.00401af0
mov eax, dword [ebp - 0x940]
call fcn.00401d20
movzx ebx, ax
mov eax, ebx
call fcn.00401b10
mov dword [esp + 8], ebx
mov dword [esp], edi
mov esi, eax
mov dword [esp + 4], str.xyzzy___HTTP_1.1_r_nHost:_localhost:_u_r_nConnection:_keep_alive_r_nQux:_foo_baz__r_n_r_n
call fcn.00401040
mov ecx, dword [sym.imp.msvcrt.dll_strlen]
mov dword [esp], edi
mov dword [ebp - 0x94c], ecx
call ecx
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
call dword [sym.imp.ws2_32.dll_send]
sub esp, 0x10
mov dword [ebp - 0x948], eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x48d
mov dword [esp], edi
mov ecx, dword [ebp - 0x94c]
call ecx
mov edx, dword [ebp - 0x948]
mov dword [esp + 4], str.send___returned__d._n
cmp edx, eax
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
lea edx, [ebp - 0x810]
mov eax, 0xcccccccc
mov ecx, 0x200
mov edi, edx
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x944]
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], 0x800
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x940]
mov dword [esp], eax
call dword [sym.imp.httpapi.dll_HttpReceiveHttpRequest]
sub esp, 0x20
mov edi, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x491
xor eax, eax
test edi, edi
sete al
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], str.Got_error__u._n
call fcn.00401af0
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x492
mov eax, dword [ebp - 0x7ec]
mov dword [esp + 4], str.Got_verb__u._n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x493
movzx edx, word [ebp - 0x7e8]
mov dword [esp + 4], str.Got_unknown_verb_length__u._n
cmp dx, 5
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
call fcn.0040ded0
mov edi, dword [sym.imp.msvcrt.dll_strcmp]
mov dword [eax], 0x412056
mov dword [eax + 4], 0x494
mov edx, dword [ebp - 0x7e4]
mov dword [esp + 4], str.xyzzy
mov dword [esp], edx
mov dword [ebp - 0x948], edx
call edi
mov edx, dword [ebp - 0x948]
mov dword [esp + 4], str.Got_unknown_verb__s._n
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x495
movzx edx, word [ebp - 0x7bc]
mov dword [esp + 4], str.Got__u_unknown_headers._n
cmp dx, 1
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x496
mov eax, dword [ebp - 0x7b8]
movzx edx, word [eax]
mov dword [esp + 4], str.Got_name_length__u._n
cmp dx, 3
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
call fcn.0040ded0
mov dword [eax + 4], 0x498
mov dword [eax], 0x412056
mov eax, dword [ebp - 0x7b8]
mov edx, dword [eax + 4]
mov dword [esp + 4], 0x412a45
mov dword [esp], edx
mov dword [ebp - 0x948], edx
call edi
mov edx, dword [ebp - 0x948]
mov dword [esp + 4], str.Got_name__s._n
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x49a
mov eax, dword [ebp - 0x7b8]
movzx edx, word [eax + 2]
mov dword [esp + 4], str.Got_value_length__u._n
cmp dx, 7
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x49c
mov eax, dword [ebp - 0x7b8]
mov edx, dword [eax + 8]
mov dword [esp + 4], str.foo_baz
mov dword [esp], edx
mov dword [ebp - 0x948], edx
call edi
mov edx, dword [ebp - 0x948]
mov dword [esp + 4], str.Got_value__s._n
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
mov edi, dword [ebp - 0x940]
mov dword [esp + 0xc], ebx
lea ebx, [ebp - 0x93c]
mov dword [esp], ebx
mov dword [esp + 8], 0x4121d4
mov dword [esp + 4], 0x32
call fcn.00401400
mov dword [esp + 4], ebx
mov dword [esp], edi
call dword [sym.imp.httpapi.dll_HttpRemoveUrl]
sub esp, 8
mov ebx, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x4a0
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Got_error__u._n
mov dword [esp], eax
call fcn.00401af0
mov dword [esp], esi
call dword [sym.imp.ws2_32.dll_closesocket]
mov eax, dword [ebp - 0x940]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CloseHandle]
sub esp, 4
mov ebx, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x4a3
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.Failed_to_close_queue_handle__error__lu._n
mov dword [esp + 8], eax
call fcn.00401af0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret