Function at 0x409260
Capabilities:
Receive http request
Register http server url
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push edi
mov ecx, 0x14
lea edi, [esp + 8]
and esp, 0xfffffff8
push dword [edi - 4]
push ebp
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x9f0]
mov esi, 0x412d52
push ebx
sub esp, 0xa2c
mov eax, dword [str.GET__s_HTTP_1.1_r_nHost:_localhost:_u_r_nConnection:_keep_alive_r_nUser_Agent:_WINE_r_n_r_n]
mov dword [ebp - 0x9f2], eax
mov eax, dword [0x412d9e]
mov dword [ebp - 0x9a4], eax
lea eax, [ebp - 0x9fc]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [sym.imp.httpapi.dll_HttpCreateHttpHandle]
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
sub esp, 8
mov ebx, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x4df
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
lea eax, [ebp - 0x9f8]
mov dword [esp + 4], 0
mov dword [esp], eax
call esi
sub esp, 8
mov ebx, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x4e1
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 - 0x9fc]
call fcn.00401d20
mov dword [esp + 8], str.http:__localhost:_u_foobar_foo_
movzx esi, ax
lea eax, [ebp - 0x9a0]
mov dword [esp + 4], 0x32
mov dword [esp + 0xc], esi
mov dword [esp], eax
call fcn.00401400
lea eax, [ebp - 0x9a0]
mov dword [esp + 8], 0
mov edi, dword [sym.imp.httpapi.dll_HttpAddUrl]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x9f8]
mov dword [esp], eax
mov dword [ebp - 0xa14], edi
call edi
sub esp, 0xc
mov ebx, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x4e6
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
lea ebx, [ebp - 0x8d8]
mov dword [esp], eax
mov dword [esp + 4], str.Got_error__u._n
call fcn.00401af0
mov eax, esi
call fcn.00401b10
mov dword [esp + 8], esi
mov dword [esp], ebx
mov edi, eax
mov dword [esp + 4], str.GET__foobar_HTTP_1.1_r_nHost:_localhost:_u_r_nConnection:_keep_alive_r_nUser_Agent:_WINE_r_n_r_n
call fcn.00401040
mov eax, dword [sym.imp.msvcrt.dll_strlen]
mov dword [esp], ebx
mov dword [ebp - 0xa08], eax
call eax
mov ecx, dword [sym.imp.ws2_32.dll_send]
mov dword [esp + 4], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [ebp - 0xa04], edi
mov dword [esp], edi
mov dword [ebp - 0xa0c], ecx
call ecx
sub esp, 0x10
mov edi, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x4eb
mov dword [esp], ebx
mov eax, dword [ebp - 0xa08]
call eax
mov dword [esp + 8], edi
cmp edi, eax
mov dword [esp + 4], str.send___returned__d._n
lea edi, [ebp - 0x810]
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
lea edx, [ebp - 0xa00]
mov eax, 0xcccccccc
mov ecx, 0x200
rep stosd dword es:[edi], eax
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x810]
mov dword [esp + 0x10], edx
mov edx, dword [sym.imp.httpapi.dll_HttpReceiveHttpRequest]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0x800
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x9fc]
mov dword [esp], eax
mov dword [ebp - 0xa10], edx
call edx
sub esp, 0x20
mov edi, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x4ef
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], 0x4f0
mov eax, dword [ebp - 0xa00]
mov dword [esp + 4], str.Got_size__lu._n
cmp eax, 0x1d0
mov dword [esp + 8], eax
seta al
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
mov edi, dword [ebp - 0xa04]
mov dword [esp], edi
mov edx, dword [ebp - 0x800]
mov ecx, dword [ebp - 0x7fc]
mov eax, dword [ebp - 0x9fc]
call fcn.00401be0
lea ecx, [ebp - 0x9f2]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 8], str._foobar_foo_bar
call fcn.00401040
mov dword [esp], ebx
mov edx, dword [ebp - 0xa08]
call edx
mov dword [esp + 4], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [ebp - 0xa04], edi
mov dword [esp], edi
mov ecx, dword [ebp - 0xa0c]
call ecx
sub esp, 0x10
mov edi, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x4f6
mov dword [esp], ebx
mov edx, dword [ebp - 0xa08]
call edx
mov dword [esp + 8], edi
cmp edi, eax
mov dword [esp + 4], str.send___returned__d._n
lea edi, [ebp - 0x810]
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
mov eax, 0xcccccccc
mov ecx, 0x200
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0xa00]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], ecx
lea ecx, [ebp - 0x810]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0x800
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x9f8]
mov dword [esp], eax
mov edx, dword [ebp - 0xa10]
call edx
sub esp, 0x20
mov edi, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x4fa
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], 0x4fb
mov eax, dword [ebp - 0xa00]
mov dword [esp + 4], str.Got_size__lu._n
cmp eax, 0x1d0
mov dword [esp + 8], eax
seta al
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
mov edi, dword [ebp - 0xa04]
mov dword [esp], edi
mov edx, dword [ebp - 0x800]
mov ecx, dword [ebp - 0x7fc]
mov eax, dword [ebp - 0x9f8]
call fcn.00401be0
lea ecx, [ebp - 0x9f2]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 8], str._foobar_foo
call fcn.00401040
mov dword [esp], ebx
mov edx, dword [ebp - 0xa08]
call edx
mov dword [esp + 4], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [ebp - 0xa04], edi
mov dword [esp], edi
mov ecx, dword [ebp - 0xa0c]
call ecx
sub esp, 0x10
mov edi, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x501
mov dword [esp], ebx
mov edx, dword [ebp - 0xa08]
call edx
mov dword [esp + 8], edi
cmp edi, eax
mov dword [esp + 4], str.send___returned__d._n
lea edi, [ebp - 0x810]
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
mov eax, 0xcccccccc
mov ecx, 0x200
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0xa00]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], ecx
lea ecx, [ebp - 0x810]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0x800
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x9f8]
mov dword [esp], eax
mov eax, dword [ebp - 0xa10]
call eax
sub esp, 0x20
mov edi, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x505
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], 0x506
mov eax, dword [ebp - 0xa00]
mov dword [esp + 4], str.Got_size__lu._n
cmp eax, 0x1d0
mov dword [esp + 8], eax
seta al
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
mov edi, dword [ebp - 0xa04]
mov dword [esp], edi
mov edx, dword [ebp - 0x800]
mov ecx, dword [ebp - 0x7fc]
mov eax, dword [ebp - 0x9f8]
call fcn.00401be0
lea ecx, [ebp - 0x9f2]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 8], str._foobar_foo_ab
call fcn.00401040
mov dword [esp], ebx
mov edx, dword [ebp - 0xa08]
call edx
mov dword [esp + 4], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [ebp - 0xa04], edi
mov dword [esp], edi
mov ecx, dword [ebp - 0xa0c]
call ecx
sub esp, 0x10
mov edi, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x50c
mov dword [esp], ebx
mov edx, dword [ebp - 0xa08]
call edx
mov dword [esp + 8], edi
cmp edi, eax
mov dword [esp + 4], str.send___returned__d._n
lea edi, [ebp - 0x810]
sete al
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
mov eax, 0xcccccccc
mov ecx, 0x200
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0xa00]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], ecx
lea ecx, [ebp - 0x810]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0x800
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x9f8]
mov dword [esp], eax
mov eax, dword [ebp - 0xa10]
call eax
sub esp, 0x20
mov ebx, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x510
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 8], ebx
lea ebx, [ebp - 0x93c]
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], 0x511
mov eax, dword [ebp - 0xa00]
mov dword [esp + 4], str.Got_size__lu._n
cmp eax, 0x1d0
mov dword [esp + 8], eax
seta al
movzx eax, al
mov dword [esp], eax
call fcn.00401af0
mov edi, dword [ebp - 0xa04]
mov dword [esp], edi
mov edx, dword [ebp - 0x800]
mov ecx, dword [ebp - 0x7fc]
mov eax, dword [ebp - 0x9f8]
call fcn.00401be0
mov dword [esp], edi
call dword [sym.imp.ws2_32.dll_closesocket]
mov edi, dword [ebp - 0x9fc]
sub esp, 4
mov dword [esp + 0xc], esi
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
mov edi, dword [sym.imp.httpapi.dll_HttpRemoveUrl]
call edi
lea eax, [ebp - 0x9a0]
sub esp, 8
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x9f8]
mov dword [esp], eax
call edi
sub esp, 8
mov edi, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x518
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
mov dword [esp + 0xc], esi
mov dword [esp], ebx
mov dword [esp + 8], str.http:__localhost:_u_barfoo_
mov dword [esp + 4], 0x32
call fcn.00401400
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov eax, dword [ebp - 0x9fc]
mov dword [esp], eax
mov edi, dword [ebp - 0xa14]
call edi
sub esp, 0xc
mov ebx, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x51c
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
lea eax, [ebp - 0x9a0]
mov dword [esp + 0xc], esi
mov dword [esp + 8], str.http:__localhost:_u_barfoo_
mov dword [esp + 4], 0x32
mov dword [esp], eax
call fcn.00401400
lea eax, [ebp - 0x9a0]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x9f8]
mov dword [esp], eax
call edi
sub esp, 0xc
mov ebx, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x51f
xor eax, eax
cmp ebx, 0xb7
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Got_error__u._n
call fcn.00401af0
lea eax, [ebp - 0x9a0]
mov dword [esp + 0xc], esi
mov dword [esp + 8], str.http:__localhost:_u_barfoo
mov dword [esp + 4], 0x32
mov dword [esp], eax
call fcn.00401400
lea eax, [ebp - 0x9a0]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x9f8]
mov dword [esp], eax
call edi
sub esp, 0xc
mov ebx, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x523
xor eax, eax
cmp ebx, 0xb7
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Got_error__u._n
call fcn.00401af0
lea eax, [ebp - 0x9a0]
mov dword [esp + 0xc], esi
mov dword [esp + 8], str.http:__localhost:_u_barfoo_ab
mov dword [esp + 4], 0x32
mov dword [esp], eax
call fcn.00401400
lea eax, [ebp - 0x9a0]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x9f8]
mov dword [esp], eax
call edi
sub esp, 0xc
mov ebx, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x527
xor eax, eax
cmp ebx, 0x57
sete al
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Got_error__u._n
mov esi, dword fs:[0x18]
call fcn.00401af0
mov eax, dword [ebp - 0x9fc]
mov edi, dword [sym.imp.kernel32.dll_CloseHandle]
mov dword [esp], eax
call edi
sub esp, 4
mov ebx, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x52a
mov eax, dword [esi + 0x34]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str.Failed_to_close_queue_handle__error__lu._n
call fcn.00401af0
mov eax, dword [ebp - 0x9f8]
mov dword [esp], eax
call edi
sub esp, 4
mov ebx, eax
call fcn.0040ded0
mov dword [eax], 0x412056
mov dword [eax + 4], 0x52c
mov eax, dword [esi + 0x34]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str.Failed_to_close_queue_handle__error__lu._n
call fcn.00401af0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
lea esp, [edi - 8]
pop edi
ret