Function at 0x14004aed0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x88
call fcn.1400035e0
sub rsp, rax
mov rax, qword [0x1401ad1c0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x80], rbx
xor eax, eax
mov qword [rsp + 0x78], rbp
cmp dword [0x1401f5014], eax
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x68], rdi
movzx edi, r9w
movzx esi, r8w
movzx ebp, dx
mov rbx, rcx
mov byte [rsp + 0x30], 0
mov byte [rsp + 0x31], 0
mov qword [rsp + 0x32], rax
mov byte [rsp + 0x3a], al
mov word [rsp + 0x3b], ax
jne 0x14004af43
mov word [0x1401f3ea4], 0x81
mov eax, 0x81
jmp 0x14004b38c
lea rcx, [0x1401f33f0]
xor edx, edx
mov r8d, 0xa5
mov qword [rsp + 0x58], r13
call sub.MSVCR110.dll_memset
mov eax, dword [reloc.WSOCK32.dll_inet_ntoa]
mov edx, dword [0x1401f3ed0]
xor r13d, r13d
add eax, 0x11
movzx ecx, al
movzx eax, byte [rsp + 0xb0]
mov dword [0x1401f3435], edx
xor dl, cl
mov dword [reloc.WSOCK32.dll_inet_ntoa], ecx
lea r8d, [r13 + 0x30]
mov byte [0x1401f33f0], dl
lea rcx, [0x1401f33fd]
lea rdx, [0x1401f4fb0]
mov qword [0x1401f3508], r13
mov qword [0x1401f3510], r13
mov qword [0x1401f3518], r13
mov qword [0x1401f3520], r13
mov qword [0x1401f3528], r13
mov qword [0x1401f3530], r13
mov qword [0x1401f3538], r13
mov dword [0x1401f3540], r13d
mov word [0x1401f3544], r13w
mov byte [0x1401f3509], 8
mov byte [0x1401f33f1], 0x60
mov word [0x1401f3433], 0x206c
mov word [0x1401f342d], 0x238c
mov word [0x1401f33f2], bp
mov word [0x1401f33f4], si
mov word [0x1401f33f6], di
mov byte [0x1401f33f8], al
mov word [0x1401f3478], 0x1bbc
call sub.MSVCR110.dll_memcpy
mov rax, qword [rbx]
lea r11, [rsp + 0x20]
mov qword [r11], rax
mov eax, dword [rbx + 8]
mov dword [r11 + 8], eax
movzx eax, byte [rbx + 0xc]
mov byte [r11 + 0xc], al
movzx r9d, byte [rsp + 0x20]
mov ecx, r9d
dec ecx
je 0x14004b101
sub ecx, 3
je 0x14004b0b1
cmp ecx, 4
je 0x14004b0b1
mov ecx, dword [0x1401c69b4]
mov eax, dword [reloc.WSOCK32.dll_closesocket]
lea r8d, [r13 + 0x1e]
cmp ecx, 1
jge 0x14004b078
lea ecx, [r13 + 1]
jmp 0x14004b07f
cmp ecx, r8d
cmovg ecx, r8d
cmp eax, 1
jge 0x14004b098
mov eax, 1
cmp eax, ecx
cmovl eax, ecx
cdq
idiv ecx
mov ebx, eax
jmp 0x14004b145
mov edx, 0x3c
cmp eax, edx
cmovg eax, edx
cmp eax, ecx
cmovl eax, ecx
cdq
idiv ecx
mov ebx, eax
jmp 0x14004b145
mov ecx, dword [0x1401c69d4]
mov eax, dword [reloc.WSOCK32.dll_closesocket]
mov r8d, 0x1e
cmp ecx, 1
jge 0x14004b0ce
lea ecx, [r8 - 0x1d]
jmp 0x14004b0d5
cmp ecx, r8d
cmovg ecx, r8d
cmp eax, 1
jge 0x14004b0eb
mov eax, 1
cmp eax, ecx
cmovl eax, ecx
cdq
idiv ecx
mov ebx, eax
jmp 0x14004b145
mov edx, 0x3c
cmp eax, edx
cmovg eax, edx
cmp eax, ecx
cmovl eax, ecx
cdq
idiv ecx
mov ebx, eax
jmp 0x14004b145
mov ecx, dword [0x1401c69c4]
mov eax, dword [reloc.WSOCK32.dll_closesocket]
mov r8d, 0x1e
cmp ecx, 1
jge 0x14004b11e
lea ecx, [r8 - 0x1d]
jmp 0x14004b125
cmp ecx, r8d
cmovg ecx, r8d
cmp eax, 1
jge 0x14004b131
mov eax, 1
jmp 0x14004b13b
mov edx, 0x3c
cmp eax, edx
cmovg eax, edx
cmp eax, ecx
cmovl eax, ecx
cdq
idiv ecx
mov ebx, eax
cmp ebx, 1
jge 0x14004b151
mov ebx, 1
jmp 0x14004b158
cmp ebx, 0x1e
cmovg ebx, r8d
inc ebx
mov qword [rsp + 0x60], r12
mov edi, r13d
je 0x14004b350
lea rbp, [0x140000000]
lea rsi, [0x1401f33cc]
lea r12, [0x1401f3329]
nop
test edi, edi
jne 0x14004b35e
inc word [0x1401c699c]
cmp r9b, 8
lea rcx, [rsp + 0x20]
mov rax, qword [rcx]
mov qword [rbp + 0x1f3ec0], rax
mov eax, dword [rcx + 8]
mov dword [rbp + 0x1f3ec8], eax
movzx eax, byte [rcx + 0xc]
mov byte [rbp + 0x1f3ecc], al
jne 0x14004b33b
movzx ecx, word [0x1401f3e90]
call qword [0x1401f34e8]
mov word [0x1401f342f], ax
call fcn.140049f60
movzx r11d, byte [0x1401f33f1]
cmp r11b, 0x31
je 0x14004b2d2
cmp r11b, 0x62
je 0x14004b2d2
cmp r11b, 0x60
je 0x14004b2d2
lea rcx, [0x1401f3320]
xor edx, edx
mov r8d, 0xad
call sub.MSVCR110.dll_memset
movzx eax, word [0x1401c699c]
lea rdx, [0x1401f33f0]
lea rcx, [0x1401f3328]
mov r8d, 0xa5
mov word [0x1401f3322], ax
mov word [0x1401f3320], 0x2309
mov word [0x1401f3324], reloc.mfc110.dll_Ordinal_300
mov word [0x1401f3326], 0xa5
call sub.MSVCR110.dll_memcpy
movzx r11d, byte [0x1401f33f0]
movzx eax, r11b
and al, 0xf
movzx r10d, al
xor r8b, r8b
mov r9w, 0xa4
mov rdx, rsi
nop
movzx ecx, byte [rdx]
movzx eax, r8b
dec rdx
movzx r8d, cl
add cl, cl
or cl, al
shr r8b, 7
add r9w, 0xffff
mov byte [rdx + 1], cl
jne 0x14004b270
test r8b, r8b
je 0x14004b29d
or byte [0x1401f33cc], 1
movzx eax, r10w
add r10w, 0xffff
test ax, ax
jne 0x14004b262
mov rax, r12
mov ecx, 0xa4
xor byte [rax], r11b
inc rax
dec rcx
jne 0x14004b2b4
lea rdx, [0x1401f3320]
lea rcx, [rsp + 0x20]
call fcn.14004a400
jmp 0x14004b2dc
lea rcx, [rsp + 0x20]
call fcn.14004a270
mov dword [0x1401f3edc], r13d
mov eax, 1
test eax, eax
je 0x14004b32c
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x20]
xor r8d, r8d
call fcn.14004a870
cmp eax, 0x3e
je 0x14004b308
cmp eax, 0x46
jne 0x14004b2e8
cmp word [0x1401f3ea4], r13w
movzx edx, byte [0x1401f3509]
jne 0x14004b323
movzx ecx, dl
mov word [0x1401f3ea4], cx
test dl, dl
jne 0x14004b2e8
mov edi, 1
dec ebx
je 0x14004b34c
movzx r9d, byte [rsp + 0x20]
jmp 0x14004b180
mov dword [0x1401f3edc], 0xa
mov eax, 0xfffffef1
jmp 0x14004b382
test edi, edi
jne 0x14004b35e
mov byte [0x1401f3509], 0x81
mov eax, 0x81
jmp 0x14004b382
lea rcx, [rsp + 0x30]
mov rax, qword [rcx]
mov qword [rbp + 0x1f3eb0], rax
mov eax, dword [rcx + 8]
mov dword [rbp + 0x1f3eb8], eax
movzx eax, byte [rcx + 0xc]
mov byte [rbp + 0x1f3ebc], al
xor eax, eax
mov r12, qword [rsp + 0x60]
mov r13, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x40]
call fcn.14006b6a0
add rsp, 0x88
ret