Function at 0x10001090
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Get socket status
Receive data
Receive data on socket
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
mov eax, 0x24370
call fcn.10001580
mov eax, dword [esp + 0x24374]
push ebx
push ebp
push esi
mov ecx, dword [eax]
mov ebp, dword [eax + 0xc4]
mov esi, dword [eax + 0xc8]
push edi
add eax, 4
push 0x3f
lea edx, [esp + 0x34]
push eax
push edx
mov dword [esp + 0x28], ecx
call dword [sym.imp.MSVCRT.dll_strncpy]
xor ebx, ebx
add esp, 0xc
cmp ebp, ebx
jne 0x100010d6
mov ebp, 0x50
mov eax, 0x10624dd3
mov ecx, 0xff
mul esi
xor eax, eax
lea edi, [esp + 0x401]
mov byte [esp + 0x400], bl
mov byte [esp + 0x900], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x7f
xor eax, eax
lea edi, [esp + 0x901]
mov byte [esp + 0xb00], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3fff
xor eax, eax
lea edi, [esp + 0xb01]
mov byte [esp + 0x10b00], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x4e1f
xor eax, eax
lea edi, [esp + 0x10b01]
mov esi, str.__xml_version_1.0____r_n_g:searchrequest_xmlns:g_DAV:___r_n_g:sql__r_nSelect__DAV:displayname__from_scope___r_n__g:sql__r_n__g:searchrequest__r_n
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x22
lea edi, [esp + 0x70]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x801]
mov byte [esp + 0x800], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x301]
mov byte [esp + 0x300], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
shr edx, 6
push ebp
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], 1
stosb byte es:[edi], al
mov word [esp + 0x24], 2
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 0x22], ax
mov eax, dword [esp + 0x1c]
push eax
call dword [sym.imp.WS2_32.dll_htonl]
push 6
push 1
push 2
mov dword [esp + 0x30], eax
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
je 0x10001569
lea ecx, [esp + 0x18]
push ecx
push 0x8004667e
push esi
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
je 0x10001562
lea edx, [esp + 0x20]
push 0x10
push edx
push esi
call dword [sym.imp.WS2_32.dll_connect]
mov ebp, dword [sym.imp.WS2_32.dll_select]
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x200]
push ebx
push ecx
push ebx
push ebx
mov dword [esp + 0x214], esi
mov dword [esp + 0x210], 1
call ebp
cmp eax, 0xffffffff
je 0x10001562
cmp eax, ebx
je 0x10001562
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0x900]
lea edx, [esp + 0x30]
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x904]
push str.SEARCH___HTTP_1.1_r_nHost:__s_r_n_r_n
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edi, [esp + 0x90c]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ebx
push ecx
lea ecx, [esp + 0x908]
push ecx
push esi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x10001562
lea edx, [esp + 0x10]
lea eax, [esp + 0xf8]
push edx
push ebx
push ebx
push eax
push ebx
mov dword [esp + 0x110], esi
mov dword [esp + 0x10c], 1
call ebp
cmp eax, 0xffffffff
je 0x10001562
cmp eax, ebx
je 0x10001562
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x400]
push ebx
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x404]
push 0x3ff
push ecx
push esi
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x10001562
cmp byte [esp + 0x409], 0x34
jne 0x10001562
mov cl, byte [esp + 0x40a]
mov al, 0x31
cmp cl, al
jne 0x10001562
cmp byte [esp + 0x40b], al
jne 0x10001562
mov edi, dword [sym.imp.MSVCRT.dll_strstr]
lea edx, [esp + 0x400]
push str.Microsoft_IIS
push edx
call edi
add esp, 8
test eax, eax
je 0x10001562
push 2
push esi
call dword [sym.imp.WS2_32.dll_shutdown]
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
lea eax, [esp + 0x400]
push str.Server:
push eax
call edi
add esp, 8
test eax, eax
je 0x100013cc
lea ecx, [esp + 0x400]
push str.Server:
push ecx
call edi
mov edi, dword [sym.imp.MSVCRT.dll_strncpy]
mov esi, eax
add esi, 8
push 0x100
lea edx, [esp + 0x80c]
push esi
push edx
call edi
add esp, 0x14
xor eax, eax
cmp byte [eax + esi], 0xd
je 0x100013a0
inc eax
cmp eax, 0x100
jl 0x10001392
push eax
lea eax, [esp + 0x304]
push esi
push eax
call edi
mov edx, dword [esp + 0x24390]
lea ecx, [esp + 0x30c]
push 0xff
add edx, 0x1cd
push ecx
push edx
call edi
add esp, 0x18
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
je 0x10001569
lea eax, [esp + 0x18]
push eax
push 0x8004667e
push esi
call dword [sym.imp.WS2_32.dll_ioctlsocket]
cmp eax, 0xffffffff
je 0x10001562
lea ecx, [esp + 0x20]
push 0x10
push ecx
push esi
call dword [sym.imp.WS2_32.dll_connect]
lea edx, [esp + 0x10]
lea eax, [esp + 0x1fc]
push edx
push ebx
push eax
push ebx
push ebx
mov dword [esp + 0x214], esi
mov dword [esp + 0x210], 1
call ebp
cmp eax, 0xffffffff
je 0x10001562
cmp eax, ebx
je 0x10001562
mov ecx, 0x4000
xor eax, eax
lea edi, [esp + 0xb00]
lea edx, [esp + 0xb00]
rep stosd dword es:[edi], eax
mov ecx, 0x3fff
mov eax, 0x41414141
lea edi, [esp + 0xb00]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ecx, 0x4e20
xor eax, eax
lea edi, [esp + 0x10b00]
rep stosd dword es:[edi], eax
lea edi, [esp + 0x70]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [esp + 0x10b00]
push ecx
lea ecx, [esp + 0x34]
push ecx
push edx
push str.SEARCH___s_HTTP_1.1_r_nHost:__s_r_nContent_type:_text_xml_r_nContent_Length:__d_r_n_r_n
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edi, [esp + 0x10b14]
or ecx, 0xffffffff
xor eax, eax
add esp, 0x14
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ebx
push ecx
lea ecx, [esp + 0x10b08]
push ecx
push esi
call dword [sym.imp.WS2_32.dll_send]
lea edi, [esp + 0x70]
or ecx, 0xffffffff
xor eax, eax
push ebx
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea edx, [esp + 0x74]
push ecx
push edx
push esi
call dword [sym.imp.WS2_32.dll_send]
lea eax, [esp + 0x10]
lea ecx, [esp + 0xf8]
push eax
push ebx
push ebx
push ecx
push ebx
mov dword [esp + 0x110], esi
mov dword [esp + 0x10c], 1
call ebp
cmp eax, 0xffffffff
je 0x1000154e
cmp eax, ebx
je 0x1000154e
push ebx
lea edx, [esp + 0x404]
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x404]
push 0x3ff
push edx
push esi
rep stosd dword es:[edi], eax
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
push esi
jne 0x10001563
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x24370
ret
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
add esp, 0x24370
ret
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x24370
ret