Function at 0x446ed0
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket
Receive data
Receive data on socket
Resolve dns
Send data
Send data on socket
Send http request
Send http request with host header
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1254
call fcn.004c5930
mov eax, dword [0x577760]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x1248], eax
mov eax, edi
mov dword [ebp - 0x1244], ecx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x446f02
sub eax, edx
jne 0x446f1c
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004be8b8
mov esp, ebp
pop ebp
ret
push ebx
push 0x104
lea edx, [ebp - 0x20c]
push 0
push edx
call fcn.004c5420
push 0x104
lea eax, [ebp - 0x108]
push 0
push eax
call fcn.004c5420
lea ecx, [ebp - 0x1240]
push ecx
lea edx, [ebp - 0x1238]
push edx
mov ecx, edi
call fcn.00446c80
mov ebx, 0x10
add esp, 0x20
cmp dword [eax + 0x14], ebx
jb 0x446f67
mov eax, dword [eax]
lea edx, [ebp - 0x108]
sub edx, eax
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x446f70
cmp dword [ebp - 0x1224], ebx
jb 0x446f91
mov eax, dword [ebp - 0x1238]
push eax
call fcn.004bf135
add esp, 4
lea eax, [ebp - 0x108]
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x446fa0
sub eax, edx
push esi
mov esi, eax
je 0x447039
lea ecx, [ebp - 0x108]
push ecx
push edi
call fcn.004c1040
add esp, 8
lea edx, [ebp - 0x108]
push edx
lea edi, [esi + eax]
call dword [sym.imp.WS2_32.dll_gethostbyname]
mov esi, eax
test esi, esi
je 0x447039
mov ecx, dword [ebp - 0x1240]
mov eax, 2
push ecx
mov word [ebp - 0x121c], ax
call dword [sym.imp.WS2_32.dll_htons]
mov word [ebp - 0x121a], ax
mov edx, dword [esi + 0xc]
mov eax, dword [edx]
mov ecx, dword [eax]
push 0
push 1
push 2
mov dword [ebp - 0x1218], ecx
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
mov dword [ebp - 0x123c], esi
cmp esi, 0xffffffff
je 0x447039
push ebx
lea edx, [ebp - 0x121c]
push edx
push esi
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x44704c
push esi
call dword [sym.imp.WS2_32.dll_closesocket]
pop esi
pop ebx
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004be8b8
mov esp, ebp
pop ebp
ret
push 0x1000
push 0
push 0x595bf0
call fcn.004c5420
mov eax, 0x595bf0
add esp, 0xc
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x447066
mov ecx, dword [str.GET]
mov dl, byte [0x560d80]
mov dword [eax], ecx
mov byte [eax + 4], dl
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x447084
sub eax, edx
je 0x4470bc
mov eax, edi
mov ecx, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x447093
mov edi, 0x595bf0
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4470a4
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4470d3
mov edi, 0x595bf0
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4470c2
mov ax, word [0x560d78]
mov word [edi], ax
mov eax, 0x595bf0
dec eax
lea esp, [esp]
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4470e0
mov ecx, dword [str._HTTP_1.1_r_n]
mov edx, dword [0x560d88]
mov dword [eax], ecx
mov ecx, dword [0x560d8c]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov eax, 0x595bf0
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x447108
mov edx, dword [str.Host:]
mov cx, word [0x560d94]
mov dword [eax], edx
mov dl, byte [0x560d96]
mov word [eax + 4], cx
mov byte [eax + 6], dl
lea eax, [ebp - 0x108]
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x447134
mov edi, 0x595bf0
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x447145
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
mov eax, 0x595bf0
rep movsb byte es:[edi], byte [esi]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x447161
mov bx, word [0x55c578]
mov cl, byte [0x55c57a]
mov edi, 0x595bf0
mov word [eax], bx
mov byte [eax + 2], cl
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x447182
mov eax, dword [ebp - 0x1244]
mov ecx, 6
mov esi, str.Connection:_keep_alive_r_n
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
test eax, eax
je 0x4471ca
mov ecx, eax
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4471a3
mov edi, 0x595bf0
sub eax, ecx
mov esi, ecx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4471b4
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, 0x595bf0
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x4471d0
mov dl, byte [0x55c57a]
mov edi, dword [ebp - 0x123c]
mov esi, dword [sym.imp.WS2_32.dll_setsockopt]
mov word [eax], bx
push 4
mov byte [eax + 2], dl
lea eax, [ebp - 0x124c]
push eax
push 0x1006
push 0xffff
push edi
mov dword [ebp - 0x124c], 0x2710
call esi
push 4
lea ecx, [ebp - 0x124c]
push ecx
push 0x1005
push 0xffff
push edi
call esi
mov eax, 0x595bf0
lea ecx, [eax + 1]
mov edi, edi
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x447230
push 0
sub eax, ecx
push eax
push 0x595bf0
push edi
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x447253
push edi
jmp 0x447033
push 0xfff
lea edx, [ebp - 0x120b]
push 0
push edx
mov byte [ebp - 0x120c], 0
call fcn.004c5420
mov ebx, dword [sym.imp.WS2_32.dll_recv]
add esp, 0xc
xor esi, esi
jmp 0x447280
mov eax, dword [ebp - 0x123c]
push 0
push 1
lea edi, [ebp + esi - 0x120c]
push edi
push eax
call ebx
cmp eax, 0xffffffff
je 0x44740a
cmp byte [ebp + esi - 0x120f], 0xd
jne 0x4472c1
cmp byte [ebp + esi - 0x120e], 0xa
jne 0x4472c1
cmp byte [ebp + esi - 0x120d], 0xd
jne 0x4472c1
cmp byte [edi], 0xa
je 0x4472ca
inc esi
cmp esi, 0x1000
jb 0x447280
lea edx, [ebp - 0x1250]
push edx
lea eax, [ebp - 0x120c]
push str._____d
push eax
call fcn.004bfc12
mov eax, dword [ebp - 0x1250]
lea ecx, [eax - 0xc8]
add esp, 0xc
cmp ecx, 0xc7
ja 0x447039
cmp eax, 0x12e
je 0x44749c
cmp eax, 0x12d
je 0x44749c
xor esi, esi
lea eax, [ebp - 0x120c]
mov dword [ebp - 0x1254], esi
mov dword [ebp - 0x1244], esi
call fcn.00446c00
cmp eax, esi
je 0x447347
lea edx, [ebp - 0x1254]
push edx
push 0x560de0
push eax
call fcn.004bfc12
add esp, 0xc
jmp 0x447369
lea eax, [ebp - 0x120c]
push str.Transfer_Encoding:_chunked
push eax
call fcn.004c1040
add esp, 8
test eax, eax
je 0x447369
mov dword [ebp - 0x1244], 1
lea ecx, [ebp - 0x120c]
push str.Content_Encoding:_gzip
push ecx
call fcn.004c1040
push 0x2800
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x1240], 0x2800
call fcn.004be940
push 0x2800
mov esi, eax
push edi
push esi
call fcn.004c5420
add esp, 0x18
mov eax, dword [ebp - 0x1240]
lea edx, [ebx + 0x400]
dec eax
cmp edx, eax
jle 0x4473cf
mov ecx, dword [ebp - 0x1240]
lea eax, [ecx + ecx]
push eax
push esi
mov dword [ebp - 0x1240], eax
call fcn.004c11e0
add esp, 8
mov esi, eax
mov eax, dword [ebp - 0x123c]
push 0
push 0x400
lea edx, [esi + edi]
push edx
push eax
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
jle 0x44745d
add edi, eax
add ebx, eax
mov eax, dword [ebp - 0x1254]
test eax, eax
je 0x447416
cmp edi, eax
jb 0x4473a3
cmp ebx, eax
je 0x44745d
push esi
call fcn.004be8c7
add esp, 4
mov ecx, dword [ebp - 0x123c]
push ecx
jmp 0x447033
cmp dword [ebp - 0x1244], 0
je 0x4473a3
cmp byte [esi + edi - 5], 0x30
jne 0x4473a3
cmp byte [esi + edi - 4], 0xd
jne 0x4473a3
cmp byte [esi + edi - 3], 0xa
jne 0x4473a3
cmp byte [esi + edi - 2], 0xd
jne 0x4473a3
cmp byte [esi + edi - 1], 0xa
jne 0x4473a3
mov byte [esi + edi - 5], 0
jmp 0x447461
mov byte [esi + edi], 0
mov edi, dword [ebp - 0x1248]
push ebx
push esi
push edi
call fcn.004c4af0
push esi
mov byte [edi + ebx], 0
call fcn.004be8c7
mov edx, dword [ebp - 0x123c]
add esp, 0x10
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
pop esi
mov eax, ebx
pop ebx
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004be8b8
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x120c]
call fcn.00446c20
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 4
xor esi, esi
lea esp, [esp]
mov ecx, dword [ebp - 0x1244]
mov edx, dword [ebp - 0x1248]
push ecx
push edx
lea eax, [ebp - 0x20c]
push eax
call fcn.00446ed0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x447503
push 0x12c
inc esi
call ebx
cmp esi, 3
jl 0x4474c0
pop esi
pop ebx
mov eax, edi
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004be8b8
mov esp, ebp
pop ebp
ret
cmp edi, 0xffffffff
jne 0x44750a
xor edi, edi
mov ecx, dword [ebp - 4]
pop esi
pop ebx
mov eax, edi
xor ecx, ebp
pop edi
call fcn.004be8b8
mov esp, ebp
pop ebp
ret