Function at 0x759747
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3508
call fcn.007c1eb0
and byte [ebp - 0x11e0], 0
push ebx
push esi
push edi
mov ecx, 0x464
xor eax, eax
lea edi, reloc.ws2_32.dll_WSASetLastError
cmp dword [ebp + 8], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 8], 0x11
je 0x759961
cmp dword [ebp + 0xc], 0
je 0x759961
push 0x20
push dword [ebp + 8]
call fcn.007c3bc0
mov edi, eax
pop ecx
test edi, edi
pop ecx
je 0x7598b8
lea eax, [ebp - 4]
inc edi
push eax
lea eax, reloc.ws2_32.dll_WSASetLastError
mov esi, 0x1194
push eax
push edi
mov dword [ebp - 4], esi
call fcn.0075027a
add esp, 0xc
test eax, eax
jne 0x7598b8
push 0x10
pop ebx
cmp dword [ebp - 4], ebx
jle 0x7598b8
and byte [edi], al
cmp dword [ebp + 0x14], eax
je 0x7597fe
push dword [ebp - 8]
push eax
push dword [ebp + 0x14]
call fcn.007c3430
lea eax, [ebp - 8]
push eax
lea eax, reloc.ws2_32.dll_WSASetLastError
push dword [ebp + 0x14]
push dword [ebp - 4]
push eax
call fcn.00753a3e
add esp, 0x1c
push dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
push dword [ebp + 8]
push edi
call fcn.007ca140
mov eax, dword [ebp - 4]
push ebx
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.007c2eb0
add esp, 0x18
xor eax, eax
mov cl, byte [ebp + eax - 0x14]
xor byte [ebp + eax - 0x1c], cl
inc eax
cmp eax, 8
jl 0x759827
mov eax, dword [ebp - 4]
push ebx
and byte [ebp + eax - 0x11f0], 0
lea eax, [ebp - 0x3c]
push eax
push edi
call fcn.007c7760
pop ecx
push eax
push edi
call fcn.00743c55
add esp, 0x10
test eax, eax
jne 0x7598b8
lea eax, [ebp - 0x2c]
push ebx
push eax
lea eax, [ebp - 0x1c]
push ebx
push eax
call fcn.007504e2
add esp, 0x10
test eax, eax
jne 0x7598b8
push esi
push eax
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
call fcn.007c3430
lea eax, reloc.ws2_32.dll_WSASetLastError
push 0x1193
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ebp - 4]
add eax, 0xfffffff0
push eax
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
call fcn.00750ad3
add esp, 0x24
test eax, eax
lea eax, [ebp - 0x2c]
push ebx
push eax
je 0x7598bf
call fcn.0075001b
pop ecx
pop ecx
push 0x14
jmp 0x759963
call fcn.0075001b
pop ecx
test eax, eax
pop ecx
jne 0x7598b8
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], esi
push eax
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
call fcn.0075d2b4
add esp, 0xc
test eax, eax
jne 0x7598b8
push esi
lea eax, reloc.ws2_32.dll_WSASetLastError
push edi
push eax
call fcn.00742781
lea eax, reloc.ws2_32.dll_WSASetLastError
push esi
push eax
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
call fcn.007427cb
add esp, 0x18
lea eax, [ebp - 0x4c]
push ebx
push eax
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
call fcn.007c7760
pop ecx
push eax
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
call fcn.00743c55
add esp, 0x10
test eax, eax
jne 0x7598b8
mov cl, byte [ebp + eax - 0x1c]
cmp cl, byte [ebp + eax - 0x4c]
jne 0x7598b8
inc eax
cmp eax, 8
jl 0x759936
push dword [ebp + 0x10]
lea eax, reloc.ws2_32.dll_WSASetLastError
push eax
push edi
call fcn.00742781
add esp, 0xc
xor eax, eax
jmp 0x759964
push 0x1e
pop eax
pop edi
pop esi
pop ebx
leave
ret