Function at 0x1400428a0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1c8
call fcn.1400035e0
sub rsp, rax
mov rax, qword [0x1401ad1c0]
mov qword [rsp + 0x180], rax
mov qword [rsp + 0x1e0], rbx
mov qword [rsp + 0x1b8], rdi
mov qword [rsp + 0x1a0], r14
lea rdi, [rcx + 0xd]
mov qword [rsp + 0x198], r15
mov rbx, rdx
mov qword [rsp + 0x70], rdx
xor r14d, r14d
mov r15, rcx
mov r10, rdi
xor ax, ax
lea rdx, [rsp + 0x80]
nop
mov byte [rdx], al
inc ax
inc rdx
cmp ax, 0x100
jl 0x140042900
mov qword [rsp + 0x1c0], rsi
xor r11b, r11b
lea r8, [rsp + 0x80]
xor r9b, r9b
mov esi, 0x100
nop
nop
movzx eax, r11b
inc r8
movzx ecx, byte [rax + r15]
movzx eax, byte [r8 - 1]
sub ecx, eax
movzx eax, r9b
add eax, ecx
movzx ecx, byte [r8 - 1]
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movzx edx, al
mov r9d, eax
movzx eax, byte [rsp + rdx + 0x80]
mov byte [r8 - 1], al
movzx eax, r11b
mov byte [rsp + rdx + 0x80], cl
inc eax
cdq
and edx, 7
lea r11d, [rdx + rax]
and r11d, 7
sub r11d, edx
dec rsi
jne 0x140042930
lea rax, [r15 + 8]
mov esi, 4
mov qword [rsp + 0x1e8], rbp
mov qword [rsp + 0x1b0], r12
xor r11b, r11b
mov qword [rsp + 0x68], rax
mov r9, rax
xor bpl, bpl
mov qword [rsp + 0x58], rsi
mov r12, rsi
nop
nop
movzx eax, r11b
inc r9
inc eax
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movzx r8d, al
mov r11d, eax
movzx eax, bpl
movzx ecx, byte [rsp + r8 + 0x80]
add eax, ecx
movzx ecx, byte [rsp + r8 + 0x80]
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movzx edx, al
mov ebp, eax
movzx eax, byte [rsp + rdx + 0x80]
mov byte [rsp + r8 + 0x80], al
mov byte [rsp + rdx + 0x80], cl
movzx eax, byte [rsp + r8 + 0x80]
movzx ecx, cl
add eax, ecx
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movzx ecx, al
movzx eax, byte [rsp + rcx + 0x80]
xor byte [r9 - 1], al
dec r12
jne 0x1400429c0
movzx r12d, word [r15 + 6]
mov qword [rsp + 0x1a8], r13
xor r8w, r8w
mov word [r15 + 6], r14w
lea r11, [r15 + 2]
mov ebp, 2
mov word [rsp + 0x30], r12w
lea r13, [0x1401c3970]
nop
nop
nop
movzx r9d, byte [r11 - 2]
mov cl, r8b
shr r8w, 4
mov al, r9b
and ecx, 0xf
shr r9, 4
movzx edx, word [r13 + rcx*4]
and eax, 0xf
xor dx, word [r13 + rax*4]
xor dx, r8w
mov al, dl
shr dx, 4
and eax, 0xf
movzx r8d, word [r13 + rax*4]
xor r8w, word [r13 + r9*4]
movzx r9d, byte [r11 - 1]
xor r8w, dx
mov al, r9b
shr r9, 4
and eax, 0xf
mov cl, r8b
shr r8w, 4
and ecx, 0xf
movzx edx, word [r13 + rcx*4]
xor dx, word [r13 + rax*4]
xor dx, r8w
mov al, dl
shr dx, 4
and eax, 0xf
movzx r8d, word [r13 + rax*4]
xor r8w, word [r13 + r9*4]
movzx r9d, byte [r11]
xor r8w, dx
mov al, r9b
shr r9, 4
and eax, 0xf
mov cl, r8b
shr r8w, 4
and ecx, 0xf
movzx edx, word [r13 + rcx*4]
xor dx, word [r13 + rax*4]
xor dx, r8w
mov al, dl
shr dx, 4
and eax, 0xf
movzx r8d, word [r13 + rax*4]
xor r8w, word [r13 + r9*4]
movzx r9d, byte [r11 + 1]
xor r8w, dx
mov al, r9b
shr r9, 4
mov cl, r8b
and eax, 0xf
shr r8w, 4
and ecx, 0xf
movzx edx, word [r13 + rcx*4]
xor dx, word [r13 + rax*4]
xor dx, r8w
mov al, dl
shr dx, 4
and eax, 0xf
movzx r8d, word [r13 + rax*4]
xor r8w, word [r13 + r9*4]
movzx r9d, byte [r11 + 2]
xor r8w, dx
mov al, r9b
shr r9, 4
mov cl, r8b
and eax, 0xf
shr r8w, 4
and ecx, 0xf
movzx edx, word [r13 + rcx*4]
xor dx, word [r13 + rax*4]
xor dx, r8w
mov al, dl
shr dx, 4
and eax, 0xf
movzx r8d, word [r13 + rax*4]
xor r8w, word [r13 + r9*4]
movzx r9d, byte [r11 + 3]
xor r8w, dx
mov cl, r8b
shr r8w, 4
mov al, r9b
and eax, 0xf
and ecx, 0xf
shr r9, 4
movzx edx, word [r13 + rcx*4]
add r11, 6
xor dx, word [r13 + rax*4]
xor dx, r8w
mov al, dl
shr dx, 4
and eax, 0xf
movzx r8d, word [r13 + rax*4]
xor r8w, word [r13 + r9*4]
xor r8w, dx
dec rbp
jne 0x140042a80
cmp r12w, r8w
jne 0x140042d62
movzx eax, word [r15 + 8]
lea r12, [r15 + 0xc]
xor r13b, r13b
lea ecx, [rax - 0xc]
xor r11w, r11w
mov qword [rsp + 0x60], r12
test ecx, ecx
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x34], ecx
jle 0x140042cfc
mov ebx, ecx
nop
nop
nop
nop
movzx eax, bpl
movsx r8, r11w
inc r11w
inc eax
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movzx r9d, al
mov ebp, eax
movzx eax, r13b
movzx ecx, byte [rsp + r9 + 0x80]
add eax, ecx
movzx ecx, byte [rsp + r9 + 0x80]
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movzx edx, al
mov r13d, eax
movzx eax, byte [rsp + rdx + 0x80]
mov byte [rsp + r9 + 0x80], al
mov byte [rsp + rdx + 0x80], cl
movzx eax, byte [rsp + r9 + 0x80]
movzx ecx, cl
add eax, ecx
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movzx ecx, al
movzx eax, byte [rsp + rcx + 0x80]
xor byte [r8 + r12], al
movsx eax, r11w
cmp eax, ebx
jl 0x140042c60
mov rbx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x50]
xor r9w, r9w
add eax, 0xfffffff4
mov r11, r12
je 0x140042d5b
mov ebp, eax
lea r13, [0x1401c3970]
movzx r8d, byte [r11]
mov cl, r9b
shr r9w, 4
mov al, r8b
and ecx, 0xf
shr r8, 4
movzx edx, word [r13 + rcx*4]
and eax, 0xf
inc r11
xor dx, word [r13 + rax*4]
xor dx, r9w
mov al, dl
shr dx, 4
and eax, 0xf
movzx r9d, word [r13 + rax*4]
xor r9w, word [r13 + r8*4]
xor r9w, dx
dec rbp
jne 0x140042d11
cmp word [r15 + 0xa], r9w
je 0x140042d69
xor eax, eax
jmp 0x1400432d5
xor eax, eax
xor r8w, r8w
cmp byte [r12], al
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], rax
jbe 0x140042e0a
movzx r9d, byte [r12]
mov bp, ax
nop
nop
movzx ecx, byte [r10]
test ecx, ecx
je 0x140042dda
dec ecx
je 0x140042db2
dec ecx
jne 0x140042e03
add r8w, 0x29
mov word [rsp + 0x74], 0x29
add r10, 0x2a
jmp 0x140042e03
movzx eax, word [r10 + 1]
add r8w, 0x203
mov word [rsp + 0x72], 0x203
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, 2
cdqe
add r10, rax
jmp 0x140042e03
movzx eax, word [r10 + 1]
add eax, 7
cdq
and edx, 7
lea ebp, [rdx + rax]
sar ebp, 3
add bp, 2
movzx eax, bp
add r8w, bp
mov word [rsp + 0x70], bp
inc eax
cdqe
add r10, rax
dec r9
jne 0x140042d90
jmp 0x140042e0f
mov bp, word [rsp + 0x70]
add r8w, 0x40
movzx r13d, r8w
mov ecx, r13d
call fcn.140030800
test r13d, r13d
mov qword [rbx], rax
je 0x140042e40
xor ecx, ecx
mov rdx, r13
nop
mov rax, qword [rbx]
inc rcx
dec rdx
mov byte [rcx + rax - 1], r14b
jne 0x140042e30
xor r10d, r10d
xor r8d, r8d
lea r11, [rsp + 0x70]
xor r13d, r13d
nop
cmp word [r11], r14w
je 0x140042e85
test r10d, r10d
mov rcx, qword [rbx]
lea rax, [rcx + 0x40]
mov qword [r8 + rcx], rax
je 0x140042e8c
lea rdx, [rsp + 0x70]
mov r9, r13
nop
movzx eax, word [rdx]
mov rcx, qword [rbx]
add rdx, 2
add qword [r8 + rcx], rax
dec r9
jne 0x140042e70
jmp 0x140042e8c
mov rax, qword [rbx]
mov qword [r8 + rax], r14
inc r10d
inc r13
add r11, 2
add r8, 8
cmp r10d, 8
jb 0x140042e50
xor r13d, r13d
cmp byte [r12], r13b
jbe 0x1400430e8
nop
movzx ecx, byte [rdi]
test ecx, ecx
je 0x14004309a
dec ecx
je 0x140043007
dec ecx
jne 0x1400430d7
call fcn.14005cd50
xor r11d, r11d
lea r8, [rdi + 4]
nop
nop
nop
mov eax, esi
mov ecx, reloc.WSOCK32.dll_send
add r8, 5
sub ecx, r11d
shr ecx, 2
sub eax, ecx
movzx ecx, byte [r8 - 6]
mov edx, eax
mov eax, dword [rsp + rax*4 + 0x38]
shl eax, 8
or ecx, eax
mov eax, esi
mov dword [rsp + rdx*4 + 0x38], ecx
mov ecx, reloc.WSOCK32.dll_select
sub ecx, r11d
shr ecx, 2
sub eax, ecx
mov edx, eax
mov ecx, dword [rsp + rax*4 + 0x38]
movzx eax, byte [r8 - 5]
shl ecx, 8
or ecx, eax
mov eax, esi
mov dword [rsp + rdx*4 + 0x38], ecx
mov ecx, reloc.COMCTL32.dll_InitCommonControls
sub ecx, r11d
shr ecx, 2
sub eax, ecx
movzx ecx, byte [r8 - 4]
mov edx, eax
mov eax, dword [rsp + rax*4 + 0x38]
shl eax, 8
or ecx, eax
mov eax, esi
mov dword [rsp + rdx*4 + 0x38], ecx
mov ecx, reloc.WSOCK32.dll_recv
sub ecx, r11d
shr ecx, 2
sub eax, ecx
movzx ecx, byte [r8 - 3]
mov edx, eax
mov eax, dword [rsp + rax*4 + 0x38]
shl eax, 8
or ecx, eax
mov eax, esi
mov dword [rsp + rdx*4 + 0x38], ecx
mov ecx, reloc.WSOCK32.dll_ntohs
sub ecx, r11d
add r11d, 5
shr ecx, 2
sub eax, ecx
movzx ecx, byte [r8 - 2]
mov edx, eax
mov eax, dword [rsp + rax*4 + 0x38]
shl eax, 8
or ecx, eax
cmp r11d, 0x14
mov dword [rsp + rdx*4 + 0x38], ecx
jb 0x140042ee0
mov eax, dword [rsp + 0x38]
bt eax, 0x1e
jae 0x140042fde
btr eax, 0x1e
lea rdx, [0x1401c39b0]
mov r9w, 1
mov dword [rsp + 0x38], eax
mov rax, qword [rbx]
movzx r8d, si
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x38]
call fcn.14005b790
jmp 0x1400430d7
mov rax, qword [rbx]
lea rdx, [0x1401c39b0]
xor r9d, r9d
mov rcx, qword [rax + 0x10]
movzx r8d, si
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x38]
call fcn.14005b790
jmp 0x1400430d7
mov rax, qword [rbx]
xor r8d, r8d
mov rcx, qword [rax + 8]
movzx eax, word [rdi + 1]
mov word [rcx], ax
movzx eax, word [rdi + 1]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
je 0x140043061
lea r9, [rdi + 3]
nop
mov rax, qword [rbx]
lea edx, [r8 + 0xc0]
inc r8d
mov rcx, qword [rax + 8]
movzx eax, byte [r9]
inc r9
mov byte [rdx + rcx + 2], al
movzx eax, word [rdi + 1]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
cmp r8d, eax
jb 0x140043030
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov byte [rcx + 0x1ff], 1
mov rax, qword [rbx]
mov rcx, qword [rax + 8]
mov byte [rcx + 0x201], 1
movzx eax, word [rdi + 1]
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, 2
cdqe
add rdi, rax
inc r14d
jmp 0x1400430d7
movzx r10d, bp
test r10d, r10d
je 0x1400430ca
xor edx, edx
lea r8, [rdi + 1]
mov r9, r10
nop
mov rax, qword [rbx]
inc rdx
inc r8
dec r9
mov rcx, qword [rax]
movzx eax, byte [r8 - 1]
mov byte [rdx + rcx - 1], al
jne 0x1400430b0
lea eax, [r10 + 1]
movsxd rcx, eax
add rdi, rcx
inc r14d
movzx eax, byte [r12]
inc r13d
cmp r13d, eax
jb 0x140042eb0
mov ax, word [rsp + 0x30]
lea rcx, [rsp + 0x80]
mov word [r15 + 6], ax
xor ax, ax
nop
mov byte [rcx], al
inc ax
inc rcx
cmp ax, 0x100
jl 0x140043100
xor r10b, r10b
lea r8, [rsp + 0x80]
mov esi, 0x100
xor r9b, r9b
movzx eax, r10b
inc r8
movzx ecx, byte [rax + r15]
movzx eax, byte [r8 - 1]
sub ecx, eax
movzx eax, r9b
add eax, ecx
movzx ecx, byte [r8 - 1]
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movzx edx, al
mov r9d, eax
movzx eax, byte [rsp + rdx + 0x80]
mov byte [r8 - 1], al
movzx eax, r10b
mov byte [rsp + rdx + 0x80], cl
inc eax
cdq
and edx, 7
lea r10d, [rdx + rax]
and r10d, 7
sub r10d, edx
dec rsi
jne 0x140043121
mov rsi, qword [rsp + 0x58]
mov r12, qword [rsp + 0x68]
xor r9b, r9b
xor r10b, r10b
nop
movzx ecx, r10b
movzx eax, r9b
inc r12
inc eax
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movzx r8d, al
mov r9d, eax
movzx eax, byte [rsp + r8 + 0x80]
add eax, ecx
movzx ecx, byte [rsp + r8 + 0x80]
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movzx edx, al
mov r10d, eax
movzx eax, byte [rsp + rdx + 0x80]
mov byte [rsp + r8 + 0x80], al
mov byte [rsp + rdx + 0x80], cl
movzx eax, byte [rsp + r8 + 0x80]
movzx ecx, cl
add eax, ecx
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movzx ecx, al
movzx eax, byte [rsp + rcx + 0x80]
xor byte [r12 - 1], al
dec rsi
jne 0x140043190
mov edi, dword [rsp + 0x34]
mov r12, qword [rsp + 0x60]
xor r11b, r11b
xor bl, bl
xor r10w, r10w
test edi, edi
jle 0x1400432d2
nop
nop
nop
movzx ecx, bl
movzx eax, r11b
movsx r8, r10w
inc eax
inc r10w
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movzx r9d, al
mov r11d, eax
movzx eax, byte [rsp + r9 + 0x80]
add eax, ecx
movzx ecx, byte [rsp + r9 + 0x80]
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movzx edx, al
mov ebx, eax
movzx eax, byte [rsp + rdx + 0x80]
mov byte [rsp + r9 + 0x80], al
mov byte [rsp + rdx + 0x80], cl
movzx eax, byte [rsp + r9 + 0x80]
movzx ecx, cl
add eax, ecx
cdq
movzx edx, dl
add eax, edx
movzx eax, al
sub eax, edx
movzx ecx, al
movzx edx, byte [rsp + rcx + 0x80]
movsx ecx, r10w
xor byte [r8 + r12], dl
cmp ecx, edi
jl 0x140043240
mov eax, r14d
mov r15, qword [rsp + 0x198]
mov r14, qword [rsp + 0x1a0]
mov r13, qword [rsp + 0x1a8]
mov r12, qword [rsp + 0x1b0]
mov rdi, qword [rsp + 0x1b8]
mov rsi, qword [rsp + 0x1c0]
mov rbp, qword [rsp + 0x1e8]
mov rbx, qword [rsp + 0x1e0]
mov rcx, qword [rsp + 0x180]
call fcn.14006b6a0
add rsp, 0x1c8
ret