Function at 0x401890
Capabilities:
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4b4
mov eax, dword [0x41f004]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push 0x200
mov dword [ebp - 0x480], eax
mov esi, ecx
lea eax, [ebp - 0x278]
mov dword [ebp - 0x47c], edx
push 0
push eax
call fcn.00404260
add esp, 0xc
lea eax, [ebp - 0x478]
push 0x1ff
push esi
push eax
call fcn.00406ee0
add esp, 0xc
lea eax, [ebp - 0x478]
push 0x41d8bc
push eax
call fcn.00406eba
add esp, 8
mov dword [ebp - 0x4b0], eax
mov esi, 1
push 0x41d8bc
push 0
call fcn.00406eba
mov dword [ebp + esi*4 - 0x4b0], eax
add esp, 8
inc esi
cmp esi, 0xc
jl 0x401901
mov esi, dword [ebp - 0x4b0]
test esi, esi
je 0x401ff8
mov edi, dword [ebp - 0x4ac]
test edi, edi
je 0x401ff8
movups xmm0, xmmword [str.004SLQJl5LhDWp11eus]
mov eax, dword [0x41d8d0]
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x64], eax
movups xmmword [ebp - 0x74], xmm0
call section..text
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x401974
test cl, cl
je 0x401970
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x401974
add eax, 2
add esi, 2
test cl, cl
jne 0x401954
xor eax, eax
jmp 0x401979
sbb eax, eax
or eax, 1
mov ebx, dword [sym.imp.WS2_32.dll_send]
test eax, eax
jne 0x4019de
mov eax, dword [str.004SRQJ]
lea ecx, [ebp - 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [0x41d8d8]
push edi
mov dword [ebp - 8], eax
call section..text
push eax
lea eax, [ebp - 0x278]
push str._s__s_n
push eax
call fcn.00401070
lea ecx, [ebp - 0x278]
add esp, 0x10
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4019c0
mov esi, dword [ebp - 0x47c]
lea eax, [ebp - 0x278]
push 0
sub ecx, edx
push ecx
push eax
push esi
call ebx
jmp 0x4019e4
mov esi, dword [ebp - 0x47c]
mov ecx, edi
mov eax, 0x41d8dc
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401a10
test dl, dl
je 0x401a0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401a10
add eax, 2
add ecx, 2
test dl, dl
jne 0x4019f0
xor eax, eax
jmp 0x401a15
sbb eax, eax
or eax, 1
test eax, eax
je 0x401a49
mov ecx, edi
mov eax, 0x41d8e0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401a40
test dl, dl
je 0x401a3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401a40
add eax, 2
add ecx, 2
test dl, dl
jne 0x401a20
xor eax, eax
jmp 0x401a45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401a9b
mov eax, dword [str.004MRLQ]
lea ecx, [ebp - 0xc]
push dword [ebp - 0x480]
mov dword [ebp - 0xc], eax
mov eax, dword [0x41d8e8]
mov dword [ebp - 8], eax
call section..text
push eax
lea eax, [ebp - 0x278]
push str._s__s_n
push eax
call fcn.00401070
lea ecx, [ebp - 0x278]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401a85
push 0
sub ecx, edx
lea eax, [ebp - 0x278]
push ecx
push eax
push esi
call ebx
mov eax, dword [str.004NLFN]
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov esi, edi
mov eax, dword [0x41d8f0]
mov dword [ebp - 0x44], eax
call section..text
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x401ad5
test cl, cl
je 0x401ad1
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x401ad5
add eax, 2
add esi, 2
test cl, cl
jne 0x401ab5
xor eax, eax
jmp 0x401ada
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401b70
mov ecx, dword [ebp - 0x4a4]
mov eax, dword [ebp + 0xc]
nop dword [eax + eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x401b10
test dl, dl
je 0x401b0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x401b10
add eax, 2
add ecx, 2
test dl, dl
jne 0x401af0
xor eax, eax
jmp 0x401b15
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401b70
mov eax, dword [str.004MRLQ]
lea ecx, [ebp - 0xc]
push dword [ebp - 0x480]
mov dword [ebp - 0xc], eax
mov eax, dword [0x41d8e8]
mov dword [ebp - 8], eax
call section..text
push eax
lea eax, [ebp - 0x278]
push str._s__s_n
push eax
call fcn.00401070
lea ecx, [ebp - 0x278]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x401b55
push 0
sub ecx, edx
lea eax, [ebp - 0x278]
push ecx
push eax
push dword [ebp - 0x47c]
call ebx
mov ax, word [0x41d830]
lea ecx, [ebp - 0x54]
movq xmm0, qword [str.007SULYPVJ]
mov esi, edi
mov word [ebp - 0x4c], ax
mov al, byte [0x41d832]
movq qword [ebp - 0x54], xmm0
mov byte [ebp - 0x4a], al
call section..text
nop dword [eax]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x401bc0
test cl, cl
je 0x401bbc
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x401bc0
add eax, 2
add esi, 2
test cl, cl
jne 0x401ba0
xor eax, eax
jmp 0x401bc5
sbb eax, eax
or eax, 1
test eax, eax
je 0x401bfd
mov eax, 0x41d8f4
nop
mov cl, byte [eax]
cmp cl, byte [edi]
jne 0x401bf0
test cl, cl
je 0x401bec
mov cl, byte [eax + 1]
cmp cl, byte [edi + 1]
jne 0x401bf0
add eax, 2
add edi, 2
test cl, cl
jne 0x401bd0
xor eax, eax
jmp 0x401bf5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401ff8
mov ax, word [0x41d900]
movq xmm0, qword [str.007YHUVLRQ]
mov edi, dword [ebp - 0x49c]
mov esi, dword [ebp - 0x4a0]
mov word [ebp - 0x10], ax
mov al, byte [0x41d902]
movq qword [ebp - 0x18], xmm0
mov byte [ebp - 0xe], al
test edi, edi
je 0x401c5f
lea ecx, [ebp - 0x18]
call section..text
mov ecx, edi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x401c56
test dl, dl
je 0x401c52
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x401c56
add ecx, 2
add eax, 2
test dl, dl
jne 0x401c36
xor eax, eax
jmp 0x401c5b
sbb eax, eax
or eax, 1
test eax, eax
je 0x401c99
test esi, esi
je 0x401cae
lea ecx, [ebp - 0x18]
call section..text
mov ecx, esi
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x401c90
test dl, dl
je 0x401c8c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x401c90
add ecx, 2
add eax, 2
test dl, dl
jne 0x401c70
xor eax, eax
jmp 0x401c95
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401cae
mov ebx, dword [ebp - 0x47c]
mov ecx, ebx
mov edx, dword [ebp - 0x480]
call fcn.004030c0
jmp 0x401cb4
mov ebx, dword [ebp - 0x47c]
mov eax, dword [0x41d90c]
movq xmm0, qword [str.009SURFHVVHV]
mov dword [ebp - 0x38], eax
mov al, byte [0x41d910]
movq qword [ebp - 0x40], xmm0
mov byte [ebp - 0x34], al
test edi, edi
je 0x401d09
lea ecx, [ebp - 0x40]
call section..text
mov ecx, edi
nop
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x401d00
test dl, dl
je 0x401cfc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x401d00
add ecx, 2
add eax, 2
test dl, dl
jne 0x401ce0
xor eax, eax
jmp 0x401d05
sbb eax, eax
or eax, 1
test eax, eax
je 0x401d40
test esi, esi
je 0x401d4d
lea ecx, [ebp - 0x40]
call section..text
mov ecx, esi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x401d37
test dl, dl
je 0x401d33
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x401d37
add ecx, 2
add eax, 2
test dl, dl
jne 0x401d17
xor eax, eax
jmp 0x401d3c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401d4d
mov edx, dword [ebp - 0x480]
mov ecx, ebx
call fcn.00402130
mov ax, word [0x41d91c]
movq xmm0, qword [str.009SURFHVV]
mov ebx, dword [ebp - 0x498]
mov word [ebp - 0x1c], ax
mov al, byte [0x41d91e]
movq qword [ebp - 0x24], xmm0
mov byte [ebp - 0x1a], al
test edi, edi
je 0x401dac
lea ecx, [ebp - 0x24]
call section..text
mov ecx, edi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x401da0
test dl, dl
je 0x401d9c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x401da0
add ecx, 2
add eax, 2
test dl, dl
jne 0x401d80
xor eax, eax
jmp 0x401da5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401dac
push ebx
jmp 0x401dea
test esi, esi
je 0x401dfe
lea ecx, [ebp - 0x24]
call section..text
mov ecx, esi
nop word [eax + eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x401de0
test dl, dl
je 0x401ddc
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x401de0
add ecx, 2
add eax, 2
test dl, dl
jne 0x401dc0
xor eax, eax
jmp 0x401de5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401dfe
push edi
mov edx, dword [ebp - 0x480]
mov ecx, dword [ebp - 0x47c]
call fcn.004010b0
add esp, 4
mov eax, dword [str.004NLOO]
mov dword [ebp - 0xc], eax
mov eax, dword [0x41d924]
mov dword [ebp - 8], eax
test edi, edi
je 0x401e4c
lea ecx, [ebp - 0xc]
call section..text
mov ecx, edi
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x401e40
test dl, dl
je 0x401e3c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x401e40
add ecx, 2
add eax, 2
test dl, dl
jne 0x401e20
xor eax, eax
jmp 0x401e45
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401e4c
push ebx
jmp 0x401e8a
test esi, esi
je 0x401ea7
lea ecx, [ebp - 0xc]
call section..text
mov ecx, esi
nop word [eax + eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x401e80
test dl, dl
je 0x401e7c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x401e80
add ecx, 2
add eax, 2
test dl, dl
jne 0x401e60
xor eax, eax
jmp 0x401e85
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401ea7
push edi
call fcn.0040756e
mov edx, dword [ebp - 0x480]
add esp, 4
mov ecx, dword [ebp - 0x47c]
push eax
call fcn.00402010
add esp, 4
movq xmm0, qword [str.006UHERRW]
mov ax, word [0x41d930]
movq qword [ebp - 0x30], xmm0
mov word [ebp - 0x28], ax
test edi, edi
je 0x401ef9
lea ecx, [ebp - 0x30]
call section..text
mov ecx, edi
nop dword [eax]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x401ef0
test dl, dl
je 0x401eec
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x401ef0
add ecx, 2
add eax, 2
test dl, dl
jne 0x401ed0
xor eax, eax
jmp 0x401ef5
sbb eax, eax
or eax, 1
test eax, eax
je 0x401f30
test esi, esi
je 0x401f41
lea ecx, [ebp - 0x30]
call section..text
mov ecx, esi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x401f27
test dl, dl
je 0x401f23
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x401f27
add ecx, 2
add eax, 2
test dl, dl
jne 0x401f07
xor eax, eax
jmp 0x401f2c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401f41
mov edx, dword [ebp - 0x480]
mov ecx, dword [ebp - 0x47c]
call fcn.00402320
movq xmm0, qword [str.008VFDQKRVW]
mov eax, dword [0x41d93c]
movq qword [ebp - 0x60], xmm0
mov dword [ebp - 0x58], eax
test edi, edi
je 0x401f9f
lea ecx, [ebp - 0x60]
call section..text
mov ecx, edi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x401f84
test dl, dl
je 0x401f80
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x401f84
add ecx, 2
add eax, 2
test dl, dl
jne 0x401f64
xor eax, eax
jmp 0x401f89
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401f9f
push dword [ebp - 0x494]
call fcn.0040756e
add esp, 4
push eax
push ebx
jmp 0x401fe4
test esi, esi
je 0x401ff8
lea ecx, [ebp - 0x60]
call section..text
nop dword [eax + eax]
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x401fd0
test cl, cl
je 0x401fcc
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x401fd0
add esi, 2
add eax, 2
test cl, cl
jne 0x401fb0
xor eax, eax
jmp 0x401fd5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x401ff8
push ebx
call fcn.0040756e
add esp, 4
push eax
push edi
mov edx, dword [ebp - 0x480]
mov ecx, dword [ebp - 0x47c]
call fcn.00402590
add esp, 8
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004031d1
mov esp, ebp
pop ebp
ret