Function at 0x49e8d0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov eax, reloc.WS2_32.dll_getservbyport
call fcn.0055e9c0
sub rsp, rax
mov eax, dword [rcx]
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x30], rbp
mov r9d, eax
mov qword [rsp + 0x28], rsi
lea rsi, [0x00400000]
ror r9d, 8
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x18], r12
and r9d, 0xff00ff00
rol eax, 8
mov qword [rsp + 0x10], r13
and eax, 0xff00ff
mov qword [rsp + 8], r14
mov qword [rsp], r15
or r9d, eax
mov eax, dword [rcx + 4]
mov r15, rdx
xor r9d, dword [r8]
mov r10d, eax
mov rdi, r8
ror r10d, 8
and r10d, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or r10d, eax
mov eax, dword [rcx + 8]
xor r10d, dword [r8 + 4]
mov ebx, eax
ror ebx, 8
and ebx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ebx, eax
mov eax, dword [rcx + 0xc]
xor ebx, dword [r8 + 8]
mov r11d, eax
ror r11d, 8
and r11d, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or r11d, eax
mov rax, r10
xor r11d, dword [r8 + 0xc]
shr rax, 0x10
mov r8d, r9d
movzx edx, al
mov rax, rbx
mov ebp, dword [rsi + rdx*4 + 0x170a10]
shr rax, 8
movzx ecx, al
mov eax, r9d
xor ebp, dword [rsi + rcx*4 + 0x170e10]
shr rax, 0x18
xor ebp, dword [rsi + rax*4 + 0x170610]
movzx eax, r11b
xor ebp, dword [rsi + rax*4 + 0x171210]
mov rax, r11
xor ebp, dword [rdi + 0x10]
shr rax, 8
movzx edx, al
mov rax, rbx
mov r12d, dword [rsi + rdx*4 + 0x170e10]
shr rax, 0x10
movzx ecx, al
mov rax, r10
xor r12d, dword [rsi + rcx*4 + 0x170a10]
shr rax, 0x18
xor r12d, dword [rsi + rax*4 + 0x170610]
movzx eax, r9b
xor r12d, dword [rsi + rax*4 + 0x171210]
mov eax, r9d
xor r12d, dword [rdi + 0x14]
shr rax, 8
movzx edx, al
mov rax, r11
mov edx, dword [rsi + rdx*4 + 0x170e10]
shr rax, 0x10
movzx ecx, al
mov rax, rbx
xor edx, dword [rsi + rcx*4 + 0x170a10]
mov r14d, dword [rdi + 0xf0]
shr r8, 0x10
shr rax, 0x18
xor edx, dword [rsi + rax*4 + 0x170610]
movzx ecx, r8b
movzx eax, r10b
xor edx, dword [rsi + rax*4 + 0x171210]
mov r8d, dword [rsi + rcx*4 + 0x170a10]
shr r10, 8
xor edx, dword [rdi + 0x18]
movzx eax, r10b
shr r11, 0x18
xor r8d, dword [rsi + rax*4 + 0x170e10]
movzx eax, bl
sar r14d, 1
xor r8d, dword [rsi + r11*4 + 0x170610]
lea r13, [rdi + 0x20]
xor r8d, dword [rsi + rax*4 + 0x171210]
xor r8d, dword [rdi + 0x1c]
dec r14d
je 0x49ece5
lea r15, [0x00400000]
nop
nop
mov esi, edx
mov edi, r8d
mov r10d, ebp
mov eax, r12d
shr r10, 0x10
shr rdi, 0x18
shr rax, 0x10
mov r11d, r12d
movzx edx, al
mov rax, rsi
shr r11, 8
mov ebx, dword [r15 + rdx*4 + 0x170a10]
shr rax, 8
movzx ecx, al
mov eax, ebp
xor ebx, dword [r15 + rcx*4 + 0x170e10]
shr rax, 0x18
xor ebx, dword [r15 + rax*4 + 0x170610]
movzx eax, r8b
xor ebx, dword [r15 + rax*4 + 0x171210]
mov eax, r8d
xor ebx, dword [r13]
shr rax, 8
movzx edx, al
mov rax, rsi
mov r9d, dword [r15 + rdx*4 + 0x170e10]
shr rax, 0x10
movzx ecx, al
mov eax, r12d
xor r9d, dword [r15 + rcx*4 + 0x170a10]
shr rax, 0x18
xor r9d, dword [r15 + rax*4 + 0x170610]
movzx eax, bpl
xor r9d, dword [r15 + rax*4 + 0x171210]
mov eax, ebp
xor r9d, dword [r13 + 4]
shr rax, 8
movzx edx, al
mov eax, r8d
mov r8d, dword [r15 + rdx*4 + 0x170e10]
shr rax, 0x10
movzx ecx, al
mov rax, rsi
xor r8d, dword [r15 + rcx*4 + 0x170a10]
shr rax, 0x18
movzx ecx, r10b
xor r8d, dword [r15 + rax*4 + 0x170610]
mov edx, dword [r15 + rcx*4 + 0x170a10]
movzx eax, r12b
xor r8d, dword [r15 + rax*4 + 0x171210]
movzx eax, r11b
mov r10d, r9d
xor edx, dword [r15 + rax*4 + 0x170e10]
xor r8d, dword [r13 + 8]
movzx eax, sil
xor edx, dword [r15 + rdi*4 + 0x170610]
mov r11d, r8d
mov r8d, ebx
xor edx, dword [r15 + rax*4 + 0x171210]
mov rax, r10
xor edx, dword [r13 + 0xc]
shr rax, 0x10
mov r9d, edx
movzx edx, al
mov rax, r11
mov ebp, dword [r15 + rdx*4 + 0x170a10]
shr rax, 8
movzx ecx, al
mov eax, ebx
xor ebp, dword [r15 + rcx*4 + 0x170e10]
shr rax, 0x18
xor ebp, dword [r15 + rax*4 + 0x170610]
movzx eax, r9b
xor ebp, dword [r15 + rax*4 + 0x171210]
mov rax, r9
xor ebp, dword [r13 + 0x10]
shr rax, 8
movzx edx, al
mov rax, r11
shr rax, 0x10
movzx ecx, al
mov r12d, dword [r15 + rdx*4 + 0x170e10]
shr r8, 0x10
mov rax, r10
xor r12d, dword [r15 + rcx*4 + 0x170a10]
shr rax, 0x18
add r13, 0x20
xor r12d, dword [r15 + rax*4 + 0x170610]
movzx eax, bl
xor r12d, dword [r15 + rax*4 + 0x171210]
mov eax, ebx
xor r12d, dword [r13 - 0xc]
shr rax, 8
movzx edx, al
mov rax, r9
shr r9, 0x18
mov edx, dword [r15 + rdx*4 + 0x170e10]
shr rax, 0x10
movzx ecx, al
mov rax, r11
xor edx, dword [r15 + rcx*4 + 0x170a10]
shr rax, 0x18
movzx ecx, r8b
xor edx, dword [r15 + rax*4 + 0x170610]
mov r8d, dword [r15 + rcx*4 + 0x170a10]
movzx eax, r10b
xor edx, dword [r15 + rax*4 + 0x171210]
shr r10, 8
xor edx, dword [r13 - 8]
movzx eax, r10b
xor r8d, dword [r15 + rax*4 + 0x170e10]
movzx eax, r11b
xor r8d, dword [r15 + r9*4 + 0x170610]
xor r8d, dword [r15 + rax*4 + 0x171210]
xor r8d, dword [r13 - 4]
dec r14d
jne 0x49eab0
mov r15, qword [rsp + 0x48]
lea rsi, [0x00400000]
mov r11d, edx
mov r10d, r8d
mov eax, r12d
shr rax, 0x10
mov r9d, r12d
mov r8d, ebp
movzx ecx, al
mov rax, r11
shr rax, 8
mov edx, dword [rsi + rcx*4 + 0x171210]
movzx ecx, al
and edx, 0xff0000
mov eax, dword [rsi + rcx*4 + 0x170610]
and eax, 0xff00
xor edx, eax
mov eax, ebp
shr rax, 0x18
mov ecx, dword [rsi + rax*4 + 0x170e10]
movzx eax, r10b
movzx eax, byte [rsi + rax*4 + 0x170a10]
and ecx, 0xff000000
xor edx, ecx
xor edx, eax
xor edx, dword [r13]
mov eax, edx
ror eax, 8
and eax, 0xff00ff00
rol edx, 8
and edx, 0xff00ff
or eax, edx
mov dword [r15], eax
mov rax, r11
shr rax, 0x10
movzx ecx, al
mov rax, r10
mov edx, dword [rsi + rcx*4 + 0x171210]
shr rax, 8
movzx ecx, al
and edx, 0xff0000
mov eax, dword [rsi + rcx*4 + 0x170610]
and eax, 0xff00
xor edx, eax
mov eax, r12d
shr rax, 0x18
mov eax, dword [rsi + rax*4 + 0x170e10]
and eax, 0xff000000
xor edx, eax
movzx eax, bpl
movzx eax, byte [rsi + rax*4 + 0x170a10]
xor edx, eax
xor edx, dword [r13 + 4]
mov eax, edx
ror eax, 8
and eax, 0xff00ff00
rol edx, 8
and edx, 0xff00ff
or eax, edx
mov dword [r15 + 4], eax
mov rax, r10
shr rax, 0x10
movzx ecx, al
mov eax, ebp
mov edx, dword [rsi + rcx*4 + 0x171210]
shr rax, 8
movzx ecx, al
and edx, 0xff0000
mov eax, dword [rsi + rcx*4 + 0x170610]
and eax, 0xff00
xor edx, eax
mov rax, r11
shr rax, 0x18
mov eax, dword [rsi + rax*4 + 0x170e10]
and eax, 0xff000000
xor edx, eax
movzx eax, r12b
movzx eax, byte [rsi + rax*4 + 0x170a10]
xor edx, eax
xor edx, dword [r13 + 8]
mov eax, edx
ror eax, 8
and eax, 0xff00ff00
mov r14, qword [rsp + 8]
mov r12, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x58]
rol edx, 8
and edx, 0xff00ff
shr r8, 0x10
shr r9, 8
or eax, edx
shr r10, 0x18
mov dword [r15 + 8], eax
movzx eax, r8b
mov edx, dword [rsi + rax*4 + 0x171210]
movzx eax, r9b
mov ecx, dword [rsi + rax*4 + 0x170610]
mov eax, dword [rsi + r10*4 + 0x170e10]
and edx, 0xff0000
and eax, 0xff000000
and ecx, 0xff00
xor edx, ecx
xor edx, eax
movzx eax, r11b
movzx eax, byte [rsi + rax*4 + 0x170a10]
mov rsi, qword [rsp + 0x28]
xor edx, eax
xor edx, dword [r13 + 0xc]
mov r13, qword [rsp + 0x10]
mov eax, edx
ror eax, 8
and eax, 0xff00ff00
rol edx, 8
and edx, 0xff00ff
or eax, edx
mov dword [r15 + 0xc], eax
mov r15, qword [rsp]
add rsp, 0x38
ret