Function at 0x4ab7e0
Capabilities:
Make an http request with a cookie
Send data
Send data on socket
Send http request
Send http request with host header

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f1256
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1048
call fcn.004ebe60
mov eax, dword [0x515040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x104c], eax
xor ecx, ecx
xor edi, edi
mov dword [ebp - 0x1020], edi
mov dword [ebp - 0x102c], edi
mov dword [ebp - 0x101c], ecx
mov dword [ebp - 0x1028], ecx
mov dword [ebp - 0x1024], ecx
mov dword [ebp - 4], ecx
mov eax, dword [eax + 0x28]
sub eax, ecx
je 0x4ab875
sub eax, 1
je 0x4ab86c
sub eax, 1
jne 0x4ab89f
push 4
push str.POST
jmp 0x4ab87c
push 3
push 0x50c34c
jmp 0x4ab87c
push 4
push str.HEAD
lea ecx, [ebp - 0x102c]
call fcn.004ce180
mov ecx, dword [ebp - 0x1028]
mov edi, dword [ebp - 0x102c]
mov dword [ebp - 0x101c], ecx
mov dword [ebp - 0x1020], edi
test edi, edi
je 0x4ab92b
mov eax, dword [ebp - 0x1024]
add eax, 2
cmp ecx, eax
jb 0x4ab8c5
push 0x502dac
push ecx
push edi
call fcn.004d9723
add esp, 0xc
jmp 0x4ab918
add ecx, ecx
inc eax
cmp ecx, eax
mov esi, edi
cmovbe ecx, eax
push ecx
mov dword [ebp - 0x101c], ecx
mov dword [ebp - 0x1028], ecx
call fcn.004cf60b
add esp, 4
mov edi, eax
mov dword [ebp - 0x1020], edi
mov dword [ebp - 0x102c], edi
push 0x502dac
push esi
push str._s_s
push dword [ebp - 0x101c]
mov byte [edi], 0
push edi
call fcn.00419320
add esp, 0x14
push esi
call fcn.004cf4f6
add esp, 4
mov esi, edi
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x4ab920
sub esi, ecx
jmp 0x4ab99d
lea eax, [ecx + ecx]
mov ecx, 2
cmp eax, ecx
cmova ecx, eax
push ecx
mov dword [ebp - 0x101c], ecx
mov dword [ebp - 0x1028], ecx
call fcn.004cf60b
mov edi, eax
add esp, 4
mov esi, edi
mov dword [ebp - 0x1020], edi
mov dword [ebp - 0x102c], edi
mov byte [edi], 0
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4ab963
sub esi, ecx
push 0
mov dword [ebp - 0x1024], esi
call fcn.004cf4f6
add esp, 4
cmp esi, 1
jb 0x4ab98d
cmp byte [edi], 0x20
jne 0x4ab98d
cmp esi, 1
je 0x4ab9a3
jmp 0x4ab994
mov al, byte [0x502dac]
mov byte [edi], al
mov esi, 1
mov byte [edi + 1], 0
mov dword [ebp - 0x1024], esi
mov eax, dword [ebp - 0x104c]
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x1030], edx
test edx, edx
je 0x4aba61
cmp byte [edx], 0
je 0x4aba61
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x1034], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ab9d0
sub ecx, dword [ebp - 0x1034]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x101c]
add eax, esi
cmp ecx, eax
jb 0x4ab9f9
push edx
push ecx
push edi
call fcn.004d9723
add esp, 0xc
jmp 0x4aba4d
add ecx, ecx
inc eax
cmp ecx, eax
mov esi, edi
cmovbe ecx, eax
push ecx
mov dword [ebp - 0x101c], ecx
mov dword [ebp - 0x1028], ecx
call fcn.004cf60b
add esp, 4
mov edi, eax
mov dword [ebp - 0x1020], edi
mov dword [ebp - 0x102c], edi
push dword [ebp - 0x1030]
mov byte [edi], 0
push esi
push str._s_s
push dword [ebp - 0x101c]
push edi
call fcn.00419320
add esp, 0x14
push esi
call fcn.004cf4f6
add esp, 4
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4aba52
sub esi, ecx
mov dword [ebp - 0x1024], esi
mov ecx, dword [ebp - 0x101c]
lea eax, [esi + 0x12]
cmp ecx, eax
jb 0x4aba7f
push str._HTTP_1.1_r_nHost:
push ecx
push edi
call fcn.004d9723
add esp, 0xc
jmp 0x4abad2
add ecx, ecx
inc eax
cmp ecx, eax
mov esi, edi
cmovbe ecx, eax
push ecx
mov dword [ebp - 0x101c], ecx
mov dword [ebp - 0x1028], ecx
call fcn.004cf60b
add esp, 4
mov edi, eax
mov dword [ebp - 0x1020], edi
mov dword [ebp - 0x102c], edi
push str._HTTP_1.1_r_nHost:
push esi
push str._s_s
push dword [ebp - 0x101c]
mov byte [edi], 0
push edi
call fcn.00419320
add esp, 0x14
push esi
call fcn.004cf4f6
add esp, 4
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4abad7
mov eax, dword [ebp - 0x104c]
lea edx, [ebp - 0x1018]
sub esi, ecx
mov dword [ebp - 0x1024], esi
mov ecx, dword [eax + 0x10]
call fcn.004ab790
cmp byte [ebp - 0x1018], 0
je 0x4abb92
lea ecx, [ebp - 0x1018]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4abb10
mov eax, dword [ebp - 0x101c]
sub ecx, edx
inc ecx
add ecx, esi
cmp eax, ecx
jb 0x4abb39
lea ecx, [ebp - 0x1018]
push ecx
push eax
push edi
call fcn.004d9723
add esp, 0xc
jmp 0x4abb7e
lea edx, [ebp - 0x102c]
mov esi, edi
call fcn.004ce140
mov edi, dword [ebp - 0x102c]
lea eax, [ebp - 0x1018]
push eax
mov eax, dword [ebp - 0x1028]
push esi
push str._s_s
push eax
push edi
mov dword [ebp - 0x101c], eax
mov dword [ebp - 0x1020], edi
call fcn.00419320
add esp, 0x14
push esi
call fcn.004cf4f6
add esp, 4
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4abb83
sub esi, ecx
mov dword [ebp - 0x1024], esi
test edi, edi
je 0x4abc27
mov ecx, dword [ebp - 0x101c]
lea eax, [esi + 3]
cmp ecx, eax
jb 0x4abbb8
push 0x50bdf0
push ecx
push edi
call fcn.004d9723
add esp, 0xc
jmp 0x4abc0b
add ecx, ecx
inc eax
cmp ecx, eax
mov esi, edi
cmovbe ecx, eax
push ecx
mov dword [ebp - 0x101c], ecx
mov dword [ebp - 0x1028], ecx
call fcn.004cf60b
add esp, 4
mov edi, eax
mov dword [ebp - 0x1020], edi
mov dword [ebp - 0x102c], edi
push 0x50bdf0
push esi
push str._s_s
push dword [ebp - 0x101c]
mov byte [edi], 0
push edi
call fcn.00419320
add esp, 0x14
push esi
call fcn.004cf4f6
add esp, 4
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4abc10
sub ecx, edx
mov dword [ebp - 0x103c], ecx
mov dword [ebp - 0x1024], ecx
jmp 0x4abc5d
push 2
push 0x50bdf0
lea ecx, [ebp - 0x102c]
call fcn.004ce180
mov eax, dword [ebp - 0x1024]
mov edi, dword [ebp - 0x102c]
mov dword [ebp - 0x103c], eax
mov eax, dword [ebp - 0x1028]
mov dword [ebp - 0x101c], eax
mov dword [ebp - 0x1020], edi
mov eax, dword [ebp - 0x104c]
mov eax, dword [eax + 0x202c]
test eax, eax
je 0x4ac1ed
xor edx, edx
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x1048], esi
mov dword [ebp - 0x1038], edx
mov dword [ebp - 0x1044], edx
mov dword [ebp - 0x1040], ecx
mov byte [ebp - 4], 1
mov byte [ebp - 0x104d], cl
test eax, eax
je 0x4abf4a
mov dword [ebp - 0x1030], ecx
xor edi, edi
nop dword [eax]
test edi, edi
je 0x4abd2e
lea eax, [ecx + 9]
cmp edx, eax
jb 0x4abccc
push str.Cookie:
push edx
push edi
call fcn.004d9723
add esp, 0xc
jmp 0x4abd1a
add edx, edx
inc eax
cmp edx, eax
mov esi, edi
cmovbe edx, eax
push edx
mov dword [ebp - 0x1038], edx
mov dword [ebp - 0x1044], edx
call fcn.004cf60b
mov ecx, dword [ebp - 0x1038]
add esp, 4
mov edi, eax
mov dword [ebp - 0x1048], edi
push str.Cookie:
push esi
push str._s_s
push ecx
push edi
mov byte [edi], 0
call fcn.00419320
add esp, 0x14
push esi
call fcn.004cf4f6
add esp, 4
mov esi, edi
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x4abd20
sub esi, ecx
jmp 0x4abdaf
lea eax, [edx + edx]
mov ecx, 9
cmp eax, ecx
cmova ecx, eax
push ecx
mov dword [ebp - 0x1038], ecx
mov dword [ebp - 0x1044], ecx
call fcn.004cf60b
mov edi, eax
add esp, 4
mov esi, edi
mov dword [ebp - 0x1048], edi
mov byte [edi], 0
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4abd60
sub esi, ecx
push 0
mov dword [ebp - 0x1040], esi
call fcn.004cf4f6
add esp, 4
cmp esi, 8
jb 0x4abd96
cmp dword [edi], 0x6b6f6f43
jne 0x4abd96
cmp dword [edi + 4], 0x203a6569
jne 0x4abd96
cmp esi, 8
je 0x4abdb5
jmp 0x4abda6
mov eax, dword [str.Cookie:]
mov ecx, dword [0x50c370]
mov dword [edi], eax
mov dword [edi + 4], ecx
mov esi, 8
mov byte [edi + 8], 0
mov dword [ebp - 0x1040], esi
mov eax, dword [ebp - 0x1030]
mov edx, dword [ebp - 0x104c]
shl eax, 0xa
add edx, 0x2c
mov dword [ebp - 0x1030], eax
add edx, eax
je 0x4abe8f
cmp byte [edx], 0
je 0x4abe8f
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x1034], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4abdf0
sub ecx, dword [ebp - 0x1034]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x1038]
add eax, esi
cmp ecx, eax
jb 0x4abe19
push edx
push ecx
push edi
call fcn.004d9723
add esp, 0xc
jmp 0x4abe74
add ecx, ecx
inc eax
cmp ecx, eax
mov esi, edi
cmovbe ecx, eax
push ecx
mov dword [ebp - 0x1038], ecx
mov dword [ebp - 0x1044], ecx
call fcn.004cf60b
mov ecx, dword [ebp - 0x1030]
mov edi, eax
mov eax, dword [ebp - 0x104c]
add esp, 4
add ecx, 0x2c
mov dword [ebp - 0x1048], edi
add eax, ecx
mov ecx, dword [ebp - 0x1038]
mov byte [edi], 0
push eax
push esi
push str._s_s
push ecx
push edi
call fcn.00419320
add esp, 0x14
push esi
call fcn.004cf4f6
add esp, 4
mov esi, edi
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x4abe80
sub esi, ecx
mov dword [ebp - 0x1040], esi
mov ecx, dword [ebp - 0x1038]
lea eax, [esi + 3]
cmp ecx, eax
jb 0x4abead
push 0x50bdf0
push ecx
push edi
call fcn.004d9723
add esp, 0xc
jmp 0x4abefb
add ecx, ecx
inc eax
cmp ecx, eax
mov esi, edi
cmovbe ecx, eax
push ecx
mov dword [ebp - 0x1038], ecx
mov dword [ebp - 0x1044], ecx
call fcn.004cf60b
mov ecx, dword [ebp - 0x1038]
add esp, 4
mov edi, eax
mov dword [ebp - 0x1048], edi
push 0x50bdf0
push esi
push str._s_s
push ecx
push edi
mov byte [edi], 0
call fcn.00419320
add esp, 0x14
push esi
call fcn.004cf4f6
add esp, 4
mov ecx, edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4abf00
mov al, byte [ebp - 0x104d]
sub ecx, edx
mov edx, dword [ebp - 0x104c]
inc al
mov byte [ebp - 0x104d], al
movzx eax, al
mov dword [ebp - 0x1040], ecx
cmp eax, dword [edx + 0x202c]
mov edx, dword [ebp - 0x1038]
mov dword [ebp - 0x1030], eax
jb 0x4abcb0
mov edi, dword [ebp - 0x1020]
mov esi, dword [ebp - 0x1048]
test esi, esi
je 0x4ac1e0
cmp byte [esi], 0
je 0x4ac1e0
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4abf60
sub ecx, edx
test edi, edi
je 0x4ac00a
mov eax, dword [ebp - 0x103c]
inc eax
add eax, ecx
mov ecx, dword [ebp - 0x101c]
cmp ecx, eax
jb 0x4abf91
push esi
push ecx
push edi
call fcn.004d9723
add esp, 0xc
jmp 0x4abfeb
add ecx, ecx
inc eax
cmp ecx, eax
mov esi, edi
cmovbe ecx, eax
push ecx
mov dword [ebp - 0x101c], ecx
mov dword [ebp - 0x1028], ecx
call fcn.004cf60b
add esp, 4
mov edi, eax
mov dword [ebp - 0x1020], edi
mov dword [ebp - 0x102c], edi
push dword [ebp - 0x1048]
mov byte [edi], 0
push esi
push str._s_s
push dword [ebp - 0x101c]
push edi
call fcn.00419320
add esp, 0x14
push esi
call fcn.004cf4f6
mov esi, dword [ebp - 0x1048]
add esp, 4
lea ecx, [edi + 1]
nop
mov al, byte [edi]
inc edi
test al, al
jne 0x4abff0
sub edi, ecx
mov dword [ebp - 0x103c], edi
mov dword [ebp - 0x1024], edi
jmp 0x4ac1e0
mov edx, esi
lea ecx, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x4ac010
sub edx, ecx
mov dword [ebp - 0x1034], edx
je 0x4ac1d2
mov ecx, esi
lea eax, [ecx + 1]
mov dword [ebp - 0x1030], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ac030
sub ecx, dword [ebp - 0x1030]
cmp ecx, edx
jae 0x4ac057
mov edx, esi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4ac046
sub edx, ecx
mov dword [ebp - 0x1034], edx
je 0x4ac0b7
mov ecx, dword [ebp - 0x101c]
lea eax, [edx + 1]
add ecx, ecx
cmp ecx, eax
cmovbe ecx, eax
push ecx
mov dword [ebp - 0x101c], ecx
mov dword [ebp - 0x1028], ecx
call fcn.004cf60b
mov edi, eax
add esp, 4
mov ecx, edi
mov dword [ebp - 0x1020], edi
mov dword [ebp - 0x102c], edi
mov byte [edi], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ac092
sub ecx, edx
push 0
mov dword [ebp - 0x103c], ecx
mov dword [ebp - 0x1024], ecx
call fcn.004cf4f6
mov edx, dword [ebp - 0x1034]
add esp, 4
mov ecx, dword [ebp - 0x103c]
cmp ecx, edx
jb 0x4ac1ad
mov eax, edi
mov dword [ebp - 0x1038], esi
mov edi, edx
mov dword [ebp - 0x1030], eax
sub edi, 4
mov dword [ebp - 0x1054], edi
mov edi, dword [ebp - 0x1020]
jb 0x4ac11d
mov esi, dword [ebp - 0x1038]
mov eax, dword [eax]
cmp eax, dword [esi]
mov esi, dword [ebp - 0x1048]
mov eax, dword [ebp - 0x1030]
jne 0x4ac126
add dword [ebp - 0x1038], 4
add eax, 4
sub dword [ebp - 0x1054], 4
mov ecx, dword [ebp - 0x103c]
mov dword [ebp - 0x1030], eax
jae 0x4ac0e6
cmp dword [ebp - 0x1054], 0xfffffffc
je 0x4ac1a1
mov edi, dword [ebp - 0x1038]
mov al, byte [eax]
cmp al, byte [edi]
mov edi, dword [ebp - 0x1020]
jne 0x4ac1ad
cmp dword [ebp - 0x1054], 0xfffffffd
je 0x4ac1a1
mov eax, dword [ebp - 0x1030]
mov esi, dword [ebp - 0x1038]
mov al, byte [eax + 1]
cmp al, byte [esi + 1]
mov esi, dword [ebp - 0x1048]
jne 0x4ac1ad
cmp dword [ebp - 0x1054], 0xfffffffe
je 0x4ac1a1
mov eax, dword [ebp - 0x1030]
mov edx, dword [ebp - 0x1038]
mov al, byte [eax + 2]
cmp al, byte [edx + 2]
mov edx, dword [ebp - 0x1034]
jne 0x4ac1ad
cmp dword [ebp - 0x1054], 0xffffffff
je 0x4ac1a1
mov eax, dword [ebp - 0x1030]
mov ecx, dword [ebp - 0x1038]
mov al, byte [eax + 3]
cmp al, byte [ecx + 3]
mov ecx, dword [ebp - 0x103c]
jne 0x4ac1ad
cmp ecx, edx
je 0x4ac1e0
mov eax, edx
mov byte [edx + edi], 0
jmp 0x4ac1d4
push edx
push esi
push edi
call fcn.004d21c0
mov eax, dword [ebp - 0x1034]
add esp, 0xc
mov byte [eax + edi], 0
mov edi, eax
mov dword [ebp - 0x103c], edi
mov dword [ebp - 0x1024], edi
jmp 0x4ac1e0
xor eax, eax
mov dword [ebp - 0x1024], eax
mov dword [ebp - 0x103c], eax
push esi
mov byte [ebp - 4], 0
call fcn.004cf4f6
add esp, 4
mov eax, dword [ebp - 0x104c]
cmp dword [eax + 0x28], 2
jne 0x4ac4f7
mov dword [ebp - 0x1048], 0
mov dword [ebp - 0x1040], 0
mov byte [ebp - 4], 2
push 0x42
mov dword [ebp - 0x1044], 0x42
call fcn.004cf60b
mov edi, eax
add esp, 4
mov esi, edi
mov dword [ebp - 0x1048], edi
mov byte [edi], 0
lea ecx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x4ac240
sub esi, ecx
push 0
mov dword [ebp - 0x1040], esi
call fcn.004cf4f6
add esp, 4
cmp esi, 0x41
jb 0x4ac292
mov ecx, edi
mov dword [ebp - 0x1034], 0x3d
mov edx, str.Content_Type:_application_x_www_form_urlencoded_r_nContent_Length:
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4ac292
add ecx, 4
add edx, 4
sub dword [ebp - 0x1034], 4
jae 0x4ac270
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4ac292
cmp esi, 0x41
je 0x4ac2d3
jmp 0x4ac2c5
movups xmm0, xmmword [str.Content_Type:_application_x_www_form_urlencoded_r_nContent_Length:]
movups xmmword [edi], xmm0
movups xmm0, xmmword [0x50c388]
movups xmmword [edi + 0x10], xmm0
movups xmm0, xmmword [0x50c398]
movups xmmword [edi + 0x20], xmm0
movups xmm0, xmmword [0x50c3a8]
movups xmmword [edi + 0x30], xmm0
mov al, byte [0x50c3b8]
mov byte [edi + 0x40], al
mov dword [ebp - 0x1040], 0x41
mov byte [edi + 0x41], 0
mov eax, dword [ebp - 0x104c]
lea ecx, [ebp - 0x1048]
push dword [eax + 0x24]
call fcn.004ce2c0
mov esi, dword [ebp - 0x1048]
test esi, esi
je 0x4ac372
mov eax, dword [ebp - 0x1040]
mov ecx, dword [ebp - 0x1044]
add eax, 3
cmp ecx, eax
jb 0x4ac319
push 0x50bdf0
push ecx
push esi
call fcn.004d9723
add esp, 0xc
jmp 0x4ac35c
mov edi, esi
inc eax
lea esi, [ecx + ecx]
cmp esi, eax
cmovbe esi, eax
push esi
mov dword [ebp - 0x1044], esi
call fcn.004cf60b
add esp, 4
mov dword [ebp - 0x1048], eax
mov byte [eax], 0
push 0x50bdf0
push edi
push str._s_s
push esi
mov esi, eax
push esi
call fcn.00419320
add esp, 0x14
push edi
call fcn.004cf4f6
add esp, 4
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ac361
sub ecx, edx
mov dword [ebp - 0x1040], ecx
jmp 0x4ac3e9
mov eax, dword [ebp - 0x1044]
mov ecx, 3
add eax, eax
cmp eax, ecx
cmova ecx, eax
push ecx
mov dword [ebp - 0x1044], ecx
call fcn.004cf60b
mov esi, eax
add esp, 4
mov edi, esi
mov dword [ebp - 0x1048], esi
mov byte [esi], 0
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x4ac3a3
sub edi, ecx
push 0
mov dword [ebp - 0x1040], edi
call fcn.004cf4f6
add esp, 4
cmp edi, 2
jb 0x4ac3d2
mov eax, 0xa0d
cmp word [esi], ax
jne 0x4ac3d2
cmp edi, 2
je 0x4ac3e9
jmp 0x4ac3db
mov ax, word [0x50bdf0]
mov word [esi], ax
mov dword [ebp - 0x1040], 2
mov byte [esi + 2], 0
cmp byte [esi], 0
je 0x4ac4ea
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ac3f7
mov edi, dword [ebp - 0x1020]
sub ecx, edx
test edi, edi
je 0x4ac4a5
mov eax, dword [ebp - 0x103c]
inc eax
add eax, ecx
mov ecx, dword [ebp - 0x101c]
cmp ecx, eax
jb 0x4ac42e
push esi
push ecx
push edi
call fcn.004d9723
add esp, 0xc
jmp 0x4ac483
inc eax
add ecx, ecx
cmp ecx, eax
mov esi, edi
cmovbe ecx, eax
push ecx
mov dword [ebp - 0x101c], ecx
mov dword [ebp - 0x1028], ecx
call fcn.004cf60b
add esp, 4
mov edi, eax
mov eax, dword [ebp - 0x1048]
mov dword [ebp - 0x1020], edi
mov dword [ebp - 0x102c], edi
push eax
push esi
push str._s_s
push dword [ebp - 0x101c]
mov byte [edi], 0
push edi
call fcn.00419320
add esp, 0x14
push esi
call fcn.004cf4f6
add esp, 4
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4ac488
sub esi, ecx
mov dword [ebp - 0x103c], esi
mov dword [ebp - 0x1024], esi
mov esi, dword [ebp - 0x1048]
jmp 0x4ac4ea
mov ecx, esi
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ac4b0
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x102c]
call fcn.004ce180
mov eax, dword [ebp - 0x1024]
mov dword [ebp - 0x103c], eax
mov eax, dword [ebp - 0x1028]
mov dword [ebp - 0x101c], eax
mov eax, dword [ebp - 0x102c]
mov dword [ebp - 0x1020], eax
push esi
mov byte [ebp - 4], 0
call fcn.004cf4f6
add esp, 4
mov edi, dword [ebp - 0x1020]
test edi, edi
je 0x4ac58e
mov eax, dword [ebp - 0x103c]
mov ecx, dword [ebp - 0x101c]
add eax, 0x26
cmp ecx, eax
jb 0x4ac529
push str.Connection:_close_r_nAccept:_text__r_n_r_n
push ecx
push edi
call fcn.004d9723
add esp, 0xc
jmp 0x4ac576
add ecx, ecx
inc eax
cmp ecx, eax
mov esi, edi
cmovbe ecx, eax
push ecx
mov dword [ebp - 0x101c], ecx
mov dword [ebp - 0x1028], ecx
call fcn.004cf60b
add esp, 4
mov edi, eax
mov dword [ebp - 0x102c], edi
push str.Connection:_close_r_nAccept:_text__r_n_r_n
push esi
push str._s_s
push dword [ebp - 0x101c]
mov byte [edi], 0
push edi
call fcn.00419320
add esp, 0x14
push esi
call fcn.004cf4f6
add esp, 4
mov esi, edi
lea ecx, [esi + 1]
nop dword [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x4ac580
sub esi, ecx
jmp 0x4ac644
mov eax, dword [ebp - 0x101c]
mov ecx, 0x26
add eax, eax
cmp eax, ecx
cmova ecx, eax
push ecx
mov dword [ebp - 0x101c], ecx
mov dword [ebp - 0x1028], ecx
call fcn.004cf60b
mov edi, eax
add esp, 4
mov esi, edi
mov dword [ebp - 0x102c], edi
mov byte [edi], 0
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4ac5c5
sub esi, ecx
push 0
mov dword [ebp - 0x1024], esi
call fcn.004cf4f6
add esp, 4
cmp esi, 0x25
jb 0x4ac616
mov ecx, edi
mov dword [ebp - 0x1034], 0x21
mov edx, str.Connection:_close_r_nAccept:_text__r_n_r_n
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x4ac616
add ecx, 4
add edx, 4
sub dword [ebp - 0x1034], 4
jae 0x4ac5f4
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x4ac616
cmp esi, 0x25
je 0x4ac64a
jmp 0x4ac63b
movups xmm0, xmmword [str.Connection:_close_r_nAccept:_text__r_n_r_n]
movups xmmword [edi], xmm0
movups xmm0, xmmword [0x50c3cc]
movups xmmword [edi + 0x10], xmm0
mov eax, dword [0x50c3dc]
mov dword [edi + 0x20], eax
mov al, byte [0x50c3e0]
mov byte [edi + 0x24], al
mov esi, 0x25
mov byte [edi + 0x25], 0
mov dword [ebp - 0x1024], esi
mov eax, dword [ebp - 0x104c]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x1030], edx
test edx, edx
je 0x4ac700
cmp byte [edx], 0
je 0x4ac700
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x1034], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4ac675
sub ecx, dword [ebp - 0x1034]
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x101c]
add eax, esi
cmp ecx, eax
jb 0x4ac69e
push edx
push ecx
push edi
call fcn.004d9723
add esp, 0xc
jmp 0x4ac6ec
add ecx, ecx
inc eax
cmp ecx, eax
mov esi, edi
cmovbe ecx, eax
push ecx
mov dword [ebp - 0x101c], ecx
mov dword [ebp - 0x1028], ecx
call fcn.004cf60b
add esp, 4
mov edi, eax
mov dword [ebp - 0x102c], edi
push dword [ebp - 0x1030]
mov byte [edi], 0
push esi
push str._s_s
push dword [ebp - 0x101c]
push edi
call fcn.00419320
add esp, 0x14
push esi
call fcn.004cf4f6
add esp, 4
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4ac6f1
sub esi, ecx
mov dword [ebp - 0x1024], esi
mov eax, dword [ebp - 0x101c]
lea ecx, [esi + 3]
cmp eax, ecx
jb 0x4ac71e
push 0x50bdf0
push eax
push edi
call fcn.004d9723
add esp, 0xc
jmp 0x4ac765
lea esi, [eax + eax]
lea eax, [ecx + 1]
cmp esi, eax
cmovbe esi, eax
push esi
mov dword [ebp - 0x1028], esi
call fcn.004cf60b
add esp, 4
mov dword [ebp - 0x1020], eax
mov byte [eax], 0
push 0x50bdf0
push edi
push str._s_s
push esi
push eax
call fcn.00419320
add esp, 0x14
push edi
call fcn.004cf4f6
mov edi, dword [ebp - 0x1020]
add esp, 4
mov esi, edi
lea ecx, [esi + 1]
nop word [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x4ac770
mov eax, dword [ebp - 0x104c]
sub esi, ecx
add eax, 0xc
mov dword [ebp - 0x1054], eax
mov edx, dword [eax]
mov dword [ebp - 0x1030], edx
cmp edx, 0xffffffff
je 0x4ac7f2
xor ecx, ecx
mov dword [ebp - 0x1034], ecx
test esi, esi
jle 0x4ac7e5
push 0
mov eax, esi
sub eax, ecx
push eax
lea eax, [ecx + edi]
push eax
push edx
call dword [sym.imp.WSOCK32.dll_send]
cmp eax, 0xffffffff
jne 0x4ac7cd
call dword [sym.imp.WSOCK32.dll_WSAGetLastError]
cmp eax, 0x2733
jne 0x4ac7ec
mov ecx, dword [ebp - 0x1034]
jmp 0x4ac7db
mov ecx, dword [ebp - 0x1034]
add ecx, eax
mov dword [ebp - 0x1034], ecx
mov edx, dword [ebp - 0x1030]
cmp ecx, esi
jl 0x4ac7a1
mov eax, 1
jmp 0x4ac807
mov eax, dword [ebp - 0x1054]
mov ecx, eax
call fcn.004acf70
mov ecx, dword [ebp - 0x104c]
xor eax, eax
mov dword [ebp - 0x104c], ecx
mov edx, dword [ebp - 0x104c]
mov ecx, 0x2030
push edi
mov dword [edx + ecx], eax
call fcn.004cf4f6
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004cf01b
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret