Function at 0x1400f2740
Capabilities:
Encode data using xor
Encrypt data using rc4 ksa

Disassembly:
push rsi
push rdi
sub rsp, 0x118
mov qword [rsp + 0x100], rcx
call fcn.1400f3493
mov qword [rsp + 0x108], rax
call fcn.1400f3493
xor eax, eax
mov qword [rsp + 0x110], rax
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0xf8], rax
cmp rax, 0x100
je 0x1400f27b2
mov rax, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x100]
mov dl, 0x33
xor dl, 0x33
mov byte [rcx + rax], dl
add rax, 1
mov qword [rsp + 0x110], rax
jmp 0x1400f276d
mov ecx, 0x3bb
call fcn.1400639c0
mov rcx, rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xf0], rcx
cmp byte [rax], 0
jne 0x1400f3325
mov ecx, 0x167
call fcn.1400639c0
mov rcx, qword [rsp + 0x108]
cmp byte [rcx], 0
mov qword [rsp + 0xe8], rax
jne 0x1400f3325
mov rcx, qword [rsp + 0xf0]
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xe0], rax
cmp rax, rcx
jge 0x1400f3325
mov rax, qword [rsp + 0xe0]
cmp rax, 0xff
jbe 0x1400f284c
mov rcx, qword [rsp + 0xe0]
xor eax, eax
mov edx, eax
mov r8d, 0xff
call fcn.14001cc10
jmp 0x1400f3325
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0xd8], eax
mov ecx, 0x780
mov edx, 0x1662
call fcn.140066590
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0xde], cx
cmp byte [rax], 0
jne 0x1400f3325
mov edx, dword [rsp + 0xd8]
mov ax, word [rsp + 0xde]
and ax, 0xff
movzx ecx, ax
mov eax, 0xff
cmp ecx, edx
mov qword [rsp + 0xd0], rax
ja 0x1400f2ae0
mov ecx, 0x1001
mov edx, 0x1f8
call fcn.140066590
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0xce], cx
cmp byte [rax], 0
jne 0x1400f3325
mov ecx, dword [rsp + 0xd8]
mov ax, word [rsp + 0xce]
and ax, 0xff
movzx edx, ax
mov eax, 0xff
cmp ecx, edx
mov qword [rsp + 0xd0], rax
ja 0x1400f2ae0
mov cx, 0x3830
xor cx, 0x38e9
call fcn.1400639c0
mov rcx, rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xc0], rcx
cmp byte [rax], 0
jne 0x1400f3325
mov r9, qword [rsp + 0xc0]
mov r8, qword [rsp + 0xe0]
mov rax, r8
sub rax, r9
movabs rdx, 0xdb44e50aae879aec
movabs rcx, 0x24bb1af551786513
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs r10, 0xc172f3811517249f
movabs rdx, 0x3e8d0c7eeae8db60
xor r10, rdx
mov rdx, rax
xor rdx, r10
and rcx, rdx
mov rdx, r8
or rdx, rdx
movabs r10, 0xf4d08298718f4b97
movabs r11, 0xb2f7d678e70b468
xor r10, r11
xor rdx, r10
or rcx, rdx
xor rcx, 0xffffffffffffffff
mov rdx, rax
or rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x3411cabaf22c1173
movabs r10, 0xcbee35450dd3ee8c
xor r8, r10
xor rcx, r8
movabs r8, 0xf7637626105043c6
movabs r10, 0x89c89d9efafbc39
xor r8, r10
xor rdx, r8
and rcx, rdx
movabs rdx, 0xc18d9f8fed74e698
movabs r8, 0xc18d9f8fed74e698
xor rdx, r8
cmp rcx, rdx
setl cl
mov r8, rax
xor r8, 0xffffffffffffffff
movabs rdx, 0x3204867846a6e061
movabs r10, 0x2b21f5138354e34
xor rdx, r10
and rdx, r8
movabs r11, 0xa57f96db1a8c7d85
movabs r8, 0x95c90ff2641fd3d0
xor r11, r8
movabs r8, 0x36263240b0661a4
movabs r10, 0xfc9d9cdbf4f99e5b
xor r8, r10
xor r11, r8
mov r10, rax
and r10, r11
mov r8, r9
xor r8, 0xffffffffffffffff
movabs rsi, 0x706871133231c7fe
movabs rdi, 0x40dee83a4ca269ab
xor rsi, rdi
and r8, rsi
and r9, r11
or rdx, r10
or r8, r9
xor rdx, r8
movabs r8, 0x71d6c0f4765c071e
movabs r9, 0x8e293f0b89a3f8e1
xor r8, r9
cmp rdx, r8
setg r8b
mov dl, cl
xor dl, r8b
xor r9d, r9d
xor r9b, 1
xor dl, r9b
or cl, r8b
and cl, dl
test cl, 1
mov qword [rsp + 0xd0], rax
jne 0x1400f2ad6
jmp 0x1400f2ae0
call fcn.140007bb8
jmp 0x1400f3325
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0xb0], rax
mov cx, 0x4773
xor cx, 0xf4bf
mov dx, 0x2052
xor dx, 0x825c
call fcn.140066590
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0xbe], cx
cmp byte [rax], 0
jne 0x1400f3325
mov rax, qword [rsp + 0xb0]
mov edx, dword [rsp + 0xd8]
mov cx, word [rsp + 0xbe]
and cx, 0xff
movzx ecx, cx
cmp ecx, edx
mov qword [rsp + 0xa8], rax
ja 0x1400f2d5e
mov eax, dword [0x1401de988]
mov ecx, dword [0x1401de98c]
xor ecx, 0xbce6b326
add eax, ecx
xor ecx, ecx
sub ecx, 0xa2c512dc
add eax, ecx
mov ecx, 0xbc855625
xor ecx, 0x86b12ce8
xor eax, ecx
mov ecx, 0x9c78a1df
xor ecx, 0x9c78a1df
mov edx, 0x8b261ee1
xor edx, 0x1d631ae2
sub ecx, edx
add eax, ecx
cmp eax, 0xb578fccc
jae 0x1400f3466
mov eax, dword [0x1401de990]
mov ecx, 0x530bce91
xor ecx, 0x1495e5cd
xor eax, ecx
sub eax, dword [0x1401de994]
mov edx, 0x249eb6c9
xor edx, 0xdb614936
mov ecx, eax
xor ecx, edx
and ecx, 0xaad29273
mov edx, 0xffffffff
xor edx, 0xaad29273
and eax, edx
sub eax, ecx
mov ecx, 0x3fad37cb
xor edx, edx
div ecx
sub eax, 0xbddab727
mov dword [rsp + 0xa0], eax
mov ecx, 0xda53
mov edx, 0xcb8a
call fcn.140066590
mov rcx, qword [rsp + 0x108]
mov dx, ax
mov eax, dword [rsp + 0xa0]
mov word [rsp + 0xa4], dx
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0xa7], cl
cmp eax, 0x337a3a07
jb 0x1400f3466
mov al, byte [rsp + 0xa7]
test al, 1
jne 0x1400f2c49
jmp 0x1400f3325
mov rax, qword [rsp + 0xb0]
mov ecx, dword [rsp + 0xd8]
mov dx, word [rsp + 0xa4]
and dx, 0xff
movzx edx, dx
cmp ecx, edx
mov qword [rsp + 0xa8], rax
ja 0x1400f2d5e
mov ecx, 0x1e5
call fcn.1400639c0
mov rcx, rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x98], rcx
cmp byte [rax], 0
jne 0x1400f3325
mov r9, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xe0]
mov rax, rcx
sub rax, r9
mov r8, rax
xor r8, rcx
xor r8, 0xffffffffffffffff
mov rdx, rcx
and rdx, r8
shl rdx, 1
sub rdx, rcx
mov rcx, rax
sub rcx, rdx
cmp rcx, 0
setl cl
mov rdx, rax
or rdx, rdx
xor rdx, 0xffffffffffffffff
mov r8, r9
or r8, r8
xor r8, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
mov r8, rax
or r8, r9
xor r8, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
movabs r8, 0x4866030ec3c483d8
movabs r9, 0xb799fcf13c3b7c27
xor r8, r9
cmp rdx, r8
setg r8b
mov dl, cl
xor dl, r8b
xor r9d, r9d
xor r9b, 1
xor dl, r9b
or cl, r8b
and cl, dl
test cl, 1
mov qword [rsp + 0xa8], rax
jne 0x1400f2d54
jmp 0x1400f2d5e
call fcn.140007bb8
jmp 0x1400f3325
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x90], rax
mov ecx, dword [0x1401de998]
xor ecx, 0xb8354c31
sub ecx, dword [0x1401de99c]
mov eax, 0xf30f5340
xor eax, 0xaf6a1f98
imul ecx, eax
mov eax, ecx
and eax, 0x4845ab71
mov edx, 0x1ab1cc2f
xor edx, 0x52f4675e
xor ecx, edx
or eax, ecx
or eax, 0x50ff1731
mov ecx, 0x360b3b09
xor ecx, 0xa574aab3
cmp eax, ecx
jbe 0x1400f346f
mov eax, dword [0x1401de9a0]
xor edx, edx
div dword [0x1401de9a4]
xor ecx, ecx
sub ecx, 0x5a0d26e8
sub eax, ecx
mov ecx, 0xb531ddd2
xor edx, edx
div ecx
mov ecx, 0x530acd86
xor edx, edx
div ecx
mov dword [rsp + 0x88], eax
mov cx, 0xc9f0
xor cx, 0x3f34
mov dx, 0x4f01
xor dx, 0xa856
call fcn.140066590
mov rcx, qword [rsp + 0x108]
mov dx, ax
mov eax, dword [rsp + 0x88]
mov word [rsp + 0x8c], dx
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x8f], cl
cmp eax, 0xcdff499a
jae 0x1400f346f
mov al, byte [rsp + 0x8f]
test al, 1
jne 0x1400f2e49
jmp 0x1400f3325
mov r8d, dword [0x1401de9a8]
or r8d, dword [0x1401de9ac]
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xc00de849
mov edx, 0xffffffff
xor edx, 0xc00de849
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xd2fb381f
and ecx, 0xc00de849
and edx, 0xd2fb381f
or eax, r8d
or ecx, edx
xor eax, ecx
and eax, 0xbaea6e0b
or eax, 0xb4ec9ef4
cmp eax, 0xa533d2e9
je 0x1400f3478
mov r8d, dword [rsp + 0xd8]
mov dx, word [rsp + 0x8c]
mov eax, dword [0x1401de9b0]
and eax, dword [0x1401de9b4]
add eax, 0x637c5dd6
mov ecx, 0xf69c8725
xor ecx, 0x33613d02
add eax, ecx
sub eax, 0x637c5dd6
xor ecx, ecx
sub ecx, 0xed579f5c
add eax, ecx
sub eax, 0x781695d6
add eax, 0xf908df3c
add eax, 0x781695d6
mov ecx, 0x82da40dc
xor ecx, 0x2c1661ec
and dx, 0xff
movzx edx, dx
cmp edx, r8d
seta dl
mov byte [rsp + 0x87], dl
cmp eax, ecx
jbe 0x1400f2ea3
mov rax, qword [rsp + 0x90]
mov cl, byte [rsp + 0x87]
test cl, 1
mov qword [rsp + 0x78], rax
jne 0x1400f3047
jmp 0x1400f2f39
mov cx, 0xb289
xor cx, 0x579f
mov dx, 0xe152
xor dx, 0x15de
call fcn.140066590
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0x76], cx
cmp byte [rax], 0
jne 0x1400f3325
mov rax, qword [rsp + 0x90]
mov ecx, dword [rsp + 0xd8]
mov r8w, word [rsp + 0x76]
mov r9w, 0xffff
xor r9w, 0xff
mov dx, r8w
xor dx, r9w
and dx, r8w
movzx edx, dx
cmp ecx, edx
mov qword [rsp + 0x78], rax
ja 0x1400f3047
mov ecx, 0x95
call fcn.1400639c0
mov rcx, rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x68], rcx
cmp byte [rax], 0
jne 0x1400f3325
mov r9, qword [rsp + 0x68]
mov rdx, qword [rsp + 0xe0]
mov rax, r9
add rax, rdx
mov rcx, rax
xor rcx, rdx
movabs r8, 0xa3c2d0af0f5deaed
movabs rdx, 0x5c3d2f50f0a21512
xor r8, rdx
mov rdx, rax
xor rdx, r8
mov r8, rax
xor r8, 0xffffffffffffffff
or rdx, r8
and rdx, r9
xor rdx, 0xffffffffffffffff
and r9, r9
xor r9, 0xffffffffffffffff
mov r8, rax
xor r8, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x78], rax
jge 0x1400f3047
call fcn.140007bb8
jmp 0x1400f3325
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x58], rax
mov ecx, 0x7a03
mov edx, 0x6b8b
call fcn.140066590
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0x66], cx
mov al, byte [rax]
mov cl, 0xbf
xor cl, 0xbf
cmp al, cl
jne 0x1400f3325
mov eax, dword [rsp + 0xd8]
mov cx, word [rsp + 0x66]
and cx, 0xff
movzx ecx, cx
cmp eax, ecx
je 0x1400f31b8
mov ecx, 0xc5ef
mov edx, 0xd461
call fcn.140066590
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0x56], cx
cmp byte [rax], 0
jne 0x1400f3325
mov eax, dword [0x1401de9b8]
mov edx, dword [0x1401de9bc]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov r8d, edx
and r8d, ecx
mov ecx, 0xf08162c0
xor ecx, 0xf08162c2
imul ecx, r8d
sub ecx, edx
sub eax, ecx
mov ecx, eax
and ecx, 0xe7bb1e94
shl ecx, 1
xor eax, 0xe7bb1e94
add eax, ecx
mov ecx, eax
and ecx, 0xa0610d86
shl ecx, 1
xor eax, 0xa0610d86
add eax, ecx
mov ecx, 0x34efc37b
xor ecx, 0x8c1fd2bd
imul eax, ecx
cmp eax, 0xc988a693
je 0x1400f3481
mov ecx, dword [rsp + 0xd8]
mov eax, dword [0x1401de9c0]
or eax, dword [0x1401de9c4]
or eax, 0x38c9df44
mov r8d, 0xe2c7515b
xor edx, edx
div r8d
mov dx, word [rsp + 0x56]
mov r9d, 0x843c65f3
xor r9d, 0x22bff471
mov r8d, eax
xor r8d, r9d
xor r8d, 0xffffffff
and r8d, 0xa6839182
shl r8d, 1
sub r8d, 0xa6839182
sub eax, r8d
and dx, 0xff
movzx edx, dx
cmp ecx, edx
sete cl
mov byte [rsp + 0x55], cl
cmp eax, 0xc3307674
je 0x1400f312c
mov rax, qword [rsp + 0x58]
mov cl, byte [rsp + 0x55]
test cl, 1
mov qword [rsp + 0x48], rax
jne 0x1400f31b8
jmp 0x1400f31d8
mov ecx, 0x8d
call fcn.1400639c0
mov rcx, qword [rsp + 0x108]
cmp byte [rcx], 0
mov qword [rsp + 0x48], rax
jne 0x1400f3325
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x38], rax
mov cx, 0x9eed
xor cx, 0x75aa
mov dx, 0xeae6
xor dx, 0x102d
call fcn.140066590
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0x46], cx
cmp byte [rax], 0
jne 0x1400f3325
mov eax, dword [rsp + 0xd8]
mov cx, word [rsp + 0x46]
and cx, 0xff
movzx ecx, cx
cmp eax, ecx
je 0x1400f32ad
mov ecx, 0xc59c
mov edx, 0xd460
call fcn.140066590
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0x36], cx
cmp byte [rax], 0
jne 0x1400f3325
mov rax, qword [rsp + 0x38]
mov ecx, dword [rsp + 0xd8]
mov r8w, word [rsp + 0x36]
mov r9w, 0x751b
xor r9w, 0x8ae4
mov dx, r8w
xor dx, r9w
mov r9w, 0xffff
xor r9w, 0xff
or dx, r9w
and r8w, 0xff
xor r8w, 0xffff
and dx, r8w
xor dx, 0xffff
movzx edx, dx
cmp ecx, edx
mov qword [rsp + 0x28], rax
jne 0x1400f32cd
mov ecx, 0x174
call fcn.1400639c0
mov rcx, qword [rsp + 0x108]
cmp byte [rcx], 0
mov qword [rsp + 0x28], rax
jne 0x1400f3325
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x20], rax
cmp rax, 0xff
jbe 0x1400f32fc
mov rcx, qword [rsp + 0x20]
xor eax, eax
mov edx, eax
mov r8d, 0xff
call fcn.14001cc10
jmp 0x1400f3325
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x100]
mov rdx, qword [rsp + 0x20]
mov byte [rcx + rax], dl
add rax, 1
mov qword [rsp + 0xe8], rax
jmp 0x1400f27fb
mov eax, dword [0x1401de9c8]
xor eax, 0xc0b12184
mov edx, dword [0x1401de9cc]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xc3073d81
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xb6ea33ec
xor r8d, 0x4915cc13
xor ecx, r8d
imul ecx, edx
mov r8d, 0xf59b5ba4
xor r8d, 0x369c6625
mov edx, eax
and edx, r8d
mov r8d, 0xe10284e7
xor r8d, 0x2205b966
or eax, r8d
imul eax, edx
add eax, ecx
imul eax, eax, 0x7c0a7142
mov ecx, 0x93ccbc6e
xor ecx, 0x8fbabf2f
xor edx, edx
div ecx
cmp eax, 0x62cbb01f
jae 0x1400f348a
mov eax, dword [0x1401de9d0]
mov r8d, dword [0x1401de9d4]
mov ecx, 0x1c59ba41
xor ecx, 0x7799937b
xor r8d, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x21129598
xor r9d, 0xdeed6a67
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x87cb75bc
shl ecx, 1
add eax, 0x87cb75bc
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x96d923f3
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xeaace710
xor r8d, 0x7c75c4e3
mov edx, eax
and edx, r8d
or eax, 0x96d923f3
imul eax, edx
add eax, ecx
mov ecx, 0xbc345b22
xor ecx, 0x96204b5d
and eax, ecx
cmp eax, 0x843dfb34
jae 0x1400f33ad
add rsp, 0x118
pop rdi
pop rsi
ret
sub esp, ebp
cmp ecx, dword [rdx]
jmp 0x1400f2ba2
add al, 0xef
int 0xb5
jmp 0x1400f2dbb
mov cl, 0x42
invalid
jmp qword [rcx + 0x16]
mov dl, bl
jae 0x1400f3478
sbb bh, bh
invalid