Function at 0x140146ae0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push rsi
sub rsp, 0x130
mov qword [rsp + 0x118], rcx
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
mov qword [rsp + 0x120], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
call fcn.14000eaf8
xor eax, eax
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x118]
xorps xmm0, xmm0
movups xmmword [rcx + rax], xmm0
xor ecx, ecx
sub rcx, 0x10
sub rax, rcx
cmp rax, 0x100
mov qword [rsp + 0x128], rax
jne 0x140146b1e
mov rax, qword [rsp + 0x120]
add rax, 0x60
mov qword [rsp + 0x108], rax
mov ecx, 0x128
call fcn.14008bb10
mov rcx, rax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x110], rcx
mov al, byte [rax + 0x60]
mov cl, 0xc2
xor cl, 0xc2
cmp al, cl
jne 0x140147801
mov cx, 0x14d
call fcn.14008bb10
mov rcx, qword [rsp + 0x108]
mov r8, qword [rsp + 0x110]
mov rdx, rax
mov rax, rdx
mov cl, byte [rcx]
test cl, cl
sete cl
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov qword [rsp + 0x100], rax
jne 0x140146bd7
jmp 0x140147801
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0xf8], rax
cmp rax, 0xff
jbe 0x140146c0f
mov rcx, qword [rsp + 0xf8]
xor eax, eax
mov edx, eax
mov r8d, 0xff
call fcn.14003750e
jmp 0x140147801
mov rax, qword [rsp + 0xf8]
mov dword [rsp + 0xf0], eax
mov ecx, 0xc3d0
mov edx, 0x2b61
call fcn.14009026b
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0xf6], cx
cmp byte [rax], 0
jne 0x140147801
mov edx, dword [rsp + 0xf0]
mov ax, word [rsp + 0xf6]
and ax, 0xff
movzx ecx, ax
mov eax, 0xff
cmp ecx, edx
mov qword [rsp + 0xe8], rax
ja 0x140146d85
mov ecx, 0x617d
mov edx, 0x89d7
call fcn.14009026b
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0xe6], cx
cmp byte [rax], 0
jne 0x140147801
mov ecx, dword [rsp + 0xf0]
mov dx, word [rsp + 0xe6]
mov ax, dx
and ax, 0xff
xor ax, 0xffff
and dx, 0xff
xor dx, 0xffff
xor ax, 0xffff
mov r8w, 0x8982
xor r8w, 0x767d
xor dx, r8w
or ax, dx
movzx edx, ax
mov eax, 0xff
cmp ecx, edx
mov qword [rsp + 0xe8], rax
ja 0x140146d85
mov ecx, 0x22b
call fcn.14008bb10
mov rcx, rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xd8], rcx
mov al, byte [rax]
mov cl, 0x65
xor cl, 0x65
cmp al, cl
jne 0x140147801
mov rdx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xf8]
mov rax, r8
sub rax, rdx
mov rcx, rax
xor rcx, r8
cmp rcx, 0
setl cl
mov r9, rax
xor r9, rdx
xor r9, 0xffffffffffffffff
mov r8, rdx
and r8, r9
shl r8, 1
sub r8, rdx
mov rdx, rax
sub rdx, r8
cmp rdx, 0xffffffffffffffff
setg dl
and cl, dl
test cl, 1
mov qword [rsp + 0xe8], rax
jne 0x140146d7b
jmp 0x140146d85
call fcn.14000ee80
jmp 0x140147801
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xc8], rax
mov ecx, 0xcd88
mov edx, 0x2519
call fcn.14009026b
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0xd6], cx
cmp byte [rax], 0
jne 0x140147801
mov rax, qword [rsp + 0xc8]
mov edx, dword [rsp + 0xf0]
mov cx, word [rsp + 0xd6]
and cx, 0xff
movzx ecx, cx
cmp ecx, edx
mov qword [rsp + 0xc0], rax
ja 0x140146f5f
mov ecx, 0x5c51
mov edx, 0xb4db
call fcn.14009026b
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0xbe], cx
cmp byte [rax], 0
jne 0x140147801
mov rax, qword [rsp + 0xc8]
mov ecx, dword [rsp + 0xf0]
mov dx, word [rsp + 0xbe]
and dx, 0xff
movzx edx, dx
cmp ecx, edx
mov qword [rsp + 0xc0], rax
ja 0x140146f5f
mov ecx, 0x119
call fcn.14008bb10
mov rcx, rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0xb0], rcx
cmp byte [rax], 0
jne 0x140147801
mov r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xf8]
mov rcx, r8
xor rcx, 0xffffffffffffffff
mov rax, r9
add rax, rcx
add rax, 1
movabs rdx, 0xaeb7085a5157cc7d
movabs rcx, 0x5148f7a5aea83382
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
movabs r10, 0xa370477cef955af5
movabs rdx, 0x5c8fb883106aa50a
xor r10, rdx
mov rdx, rax
xor rdx, r10
or rcx, rdx
xor rcx, 0xffffffffffffffff
mov rdx, r9
xor rdx, 0xffffffffffffffff
or rcx, rdx
and r9, r9
xor r9, 0xffffffffffffffff
mov rdx, rax
and rdx, r9
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x4358fca2122ba463
movabs r9, 0xbca7035dedd45b9c
xor rdx, r9
xor rcx, rdx
cmp rcx, 0
setl dl
mov rcx, rax
xor rcx, r8
movabs r8, 0xfd97602f10bc43bf
movabs r9, 0x2689fd0ef43bc40
xor r8, r9
cmp rcx, r8
setg r8b
xor r8b, 0xff
mov cl, dl
xor cl, r8b
and cl, dl
test cl, 1
mov qword [rsp + 0xc0], rax
jne 0x140146f55
jmp 0x140146f5f
call fcn.14000ee80
jmp 0x140147801
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xa8], rax
mov eax, dword [0x1402b0528]
xor eax, dword [0x1402b052c]
mov ecx, 0xffffffff
xor ecx, 0xd54e9a85
add eax, ecx
mov ecx, 0xa37b93d2
xor ecx, 0xa37b93d3
add eax, ecx
mov ecx, 0x29d27b60
xor ecx, 0xa1d71b73
xor eax, ecx
and eax, 0xc0b5236e
cmp eax, 0x2f43654c
jb 0x1401478d4
mov ecx, dword [0x1402b0530]
xor ecx, 0x546aadd3
xor ecx, dword [0x1402b0534]
mov eax, ecx
and eax, 0x233a9a7
mov edx, 0xf25e036e
xor edx, 0xf06daac9
xor ecx, edx
or eax, ecx
mov edx, eax
and edx, 0x4e25eca0
mov ecx, 0x4d31aebb
xor ecx, 0x4d31aeb9
imul ecx, edx
add eax, 0x4e25eca0
sub eax, ecx
and eax, 0x1ccb3978
mov dword [rsp + 0xa0], eax
mov eax, 0x70c776ad
xor eax, 0xd5e0d4a2
mov dword [rsp + 0x9c], eax
mov ecx, 0xff8e
mov edx, 0x174e
call fcn.14009026b
mov rdx, qword [rsp + 0x108]
mov ecx, dword [rsp + 0x9c]
mov r8w, ax
mov eax, dword [rsp + 0xa0]
mov word [rsp + 0xa4], r8w
cmp byte [rdx], 0
sete dl
mov byte [rsp + 0xa7], dl
cmp eax, ecx
je 0x1401478d4
mov al, byte [rsp + 0xa7]
test al, 1
jne 0x14014706f
jmp 0x140147801
mov rax, qword [rsp + 0xa8]
mov edx, dword [rsp + 0xf0]
mov cx, word [rsp + 0xa4]
mov r9w, 0xf0b9
xor r9w, 0xf0b8
mov r8w, cx
add r8w, r9w
xor cx, 0xffff
or cx, 0xff
add cx, r8w
movzx ecx, cx
cmp ecx, edx
mov qword [rsp + 0x90], rax
ja 0x140147256
mov cx, 0x1046
xor cx, 0x84cc
mov dx, 0x1ec8
xor dx, 0x628b
call fcn.14009026b
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0x8e], cx
cmp byte [rax], 0
jne 0x140147801
mov rax, qword [rsp + 0xa8]
mov ecx, dword [rsp + 0xf0]
mov dx, word [rsp + 0x8e]
and dx, 0xff
movzx edx, dx
cmp ecx, edx
mov qword [rsp + 0x90], rax
ja 0x140147256
mov ecx, 0x36e
call fcn.14008bb10
mov rcx, rax
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x80], rcx
mov al, byte [rax]
mov cl, 0x57
xor cl, 0x57
cmp al, cl
jne 0x140147801
mov r9, qword [rsp + 0x80]
mov rdx, qword [rsp + 0xf8]
mov rax, r9
add rax, rdx
mov rcx, rax
xor rcx, rdx
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs r8, 0x9b2fa5ea363bc6ab
movabs r10, 0x2a086b64cd766247
xor r8, r10
and r8, rdx
movabs r11, 0xde5d3e9dae16b3a1
movabs rdx, 0x6f7af013555b174d
xor r11, rdx
movabs rdx, 0x4050ff1c4d4f7a57
movabs r10, 0xbfaf00e3b2b085a8
xor rdx, r10
xor r11, rdx
mov r10, rax
and r10, r11
movabs rsi, 0xcdcb189007700273
movabs rdx, 0x3234e76ff88ffd8c
xor rsi, rdx
mov rdx, r9
xor rdx, rsi
movabs rsi, 0xb127ce8efb4da4ec
and rdx, rsi
and r9, r11
or r8, r10
or rdx, r9
xor r8, rdx
xor rcx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r9, 0x6b49ae982bc56fe
xor rdx, r9
or rcx, r8
movabs r8, 0x6b49ae982bc56fe
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x1f85c823f8c4ba38
movabs r8, 0x1f85c823f8c4ba38
xor rdx, r8
cmp rcx, rdx
mov qword [rsp + 0x90], rax
jge 0x140147256
call fcn.14000ee80
jmp 0x140147801
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x70], rax
mov ecx, 0xbde4
mov edx, 0x553f
call fcn.14009026b
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0x7e], cx
cmp byte [rax], 0
jne 0x140147801
mov eax, dword [rsp + 0xf0]
mov cx, word [rsp + 0x7e]
and cx, 0xff
movzx ecx, cx
cmp eax, ecx
je 0x1401472f5
mov ecx, 0x5d4d
mov edx, 0xb590
call fcn.14009026b
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0x6e], cx
cmp byte [rax], 0
jne 0x140147801
mov rax, qword [rsp + 0x70]
mov ecx, dword [rsp + 0xf0]
mov dx, word [rsp + 0x6e]
and dx, 0xff
movzx edx, dx
cmp ecx, edx
mov qword [rsp + 0x60], rax
jne 0x1401474bc
mov eax, dword [0x1402b0538]
mov edx, dword [0x1402b053c]
xor edx, 0xff92bd4e
mov ecx, edx
and ecx, eax
mov r8d, 0x50e94bb3
xor r8d, 0xaf16b44c
xor ecx, r8d
add eax, edx
mov edx, 0x8ce959f7
xor edx, 0x8ce959f6
add eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xc2c4833d
xor ecx, 0xffffffff
add eax, 0xc2c4833d
add eax, 1
add eax, ecx
mov ecx, 0xf6648c88
xor ecx, 0x982d3888
xor eax, ecx
and eax, eax
mov ecx, 0x71443a64
xor ecx, 0x8ebbc59b
xor eax, ecx
mov ecx, 0xaea30aa9
and ecx, 0xaea30aa9
mov edx, 0x709ee164
xor edx, 0x8f611e9b
xor ecx, edx
mov edx, 0x473ee288
xor edx, 0xb8c11d77
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0xd1090a8
jb 0x1401478dd
mov eax, dword [0x1402b0540]
xor eax, 0xcd1caa35
mov edx, dword [0x1402b0544]
mov ecx, 0x99ff668c
xor ecx, 0xe8df9a70
xor edx, ecx
mov r8d, eax
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
mov r8d, 0x4419798
xor r8d, 0xfbbe6867
xor edx, r8d
and eax, edx
or ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0xc600d181
mov r8d, 0xffffffff
xor r8d, 0xc600d181
mov eax, ecx
and eax, r8d
imul eax, edx
mov r8d, 0x321cb56e
xor r8d, 0xf41c64ef
mov edx, ecx
and edx, r8d
or ecx, 0xc600d181
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x6c34cf52
mov r8d, 0xffffffff
xor r8d, 0x6c34cf52
and edx, r8d
xor eax, 0xffffffff
mov r8d, 0x31411901
xor r8d, 0xcebee6fe
xor edx, r8d
and eax, edx
or ecx, 0x6c34cf52
xor ecx, 0xffffffff
mov edx, 0xc4da9d34
xor edx, 0x3b2562cb
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0x74f806f7
mov dword [rsp + 0x4c], eax
mov ecx, 0x293
call fcn.14008bb10
mov rcx, qword [rsp + 0x108]
mov rdx, rax
mov eax, dword [rsp + 0x4c]
mov qword [rsp + 0x50], rdx
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x5f], cl
cmp eax, 0xb07e26a3
ja 0x140147392
mov rax, qword [rsp + 0x50]
mov cl, byte [rsp + 0x5f]
test cl, 1
mov qword [rsp + 0x60], rax
jne 0x1401474bc
jmp 0x140147801
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov ecx, 0xa4d3
mov edx, 0x4c0c
call fcn.14009026b
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0x4a], cx
cmp byte [rax], 0
jne 0x140147801
mov eax, dword [0x1402b0548]
mov ecx, dword [0x1402b054c]
xor ecx, 0x6d6b2500
or eax, ecx
mov ecx, 0x93028c00
xor ecx, 0x9f5d3a14
imul eax, ecx
mov ecx, 0xc6bf8eb4
xor edx, edx
div ecx
mov ecx, 0xaa9b60d5
xor ecx, 0x4b640e66
imul eax, ecx
cmp eax, 0xec3567fa
ja 0x1401478e6
mov ecx, dword [rsp + 0xf0]
mov r8w, word [rsp + 0x4a]
mov eax, dword [0x1402b0550]
xor edx, edx
div dword [0x1402b0554]
mov r9d, 0xf51517b2
xor edx, edx
div r9d
mov r9d, 0xffffffff
xor r9d, 0x379f3d9b
mov edx, eax
and edx, r9d
mov r9d, eax
xor r9d, 0x379f3d9b
add eax, r9d
sub eax, edx
mov r9d, 0x7c210248
xor r9d, 0x553036e
xor edx, edx
div r9d
mov r9w, 0xfa2
xor r9w, 0xf5d
mov dx, 0xda75
xor dx, 0x258a
xor r9w, dx
mov dx, r8w
xor dx, r9w
and dx, r8w
movzx edx, dx
cmp ecx, edx
sete cl
mov byte [rsp + 0x3f], cl
cmp eax, 0x37b8b0b
ja 0x140147532
mov al, byte [rsp + 0x3f]
test al, 1
jne 0x140147640
jmp 0x1401475d7
mov ecx, 0xec49
mov edx, 0x4e6
call fcn.14009026b
mov cx, ax
mov rax, qword [rsp + 0x108]
mov word [rsp + 0x3c], cx
cmp byte [rax], 0
jne 0x140147801
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0xf0]
mov dx, word [rsp + 0x3c]
mov r8w, dx
add r8w, 1
xor dx, 0xffff
mov r9w, 0x6ad8
xor r9w, 0x6a27
or dx, r9w
add dx, r8w
movzx edx, dx
cmp ecx, edx
mov qword [rsp + 0x30], rax
jne 0x140147664
mov cx, 0x94d3
xor cx, 0x9602
call fcn.14008bb10
mov rcx, qword [rsp + 0x108]
cmp byte [rcx], 0
mov qword [rsp + 0x30], rax
jne 0x140147801
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov eax, dword [0x1402b0558]
mov ecx, 0x8f379ddf
xor ecx, 0x86939e13
xor eax, ecx
mov ecx, dword [0x1402b055c]
xor ecx, 0x2b1e31c3
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xf00ee6b2
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xf00ee6b2
mov r8d, 0x30b93143
xor r8d, 0xc0b7d7f1
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x95d3303f
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xffffffff
xor edx, 0xd8a7e8db
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0x8afb240b
ja 0x1401478ef
mov eax, dword [0x1402b0560]
xor edx, edx
div dword [0x1402b0564]
mov ecx, 0x3998c15b
xor ecx, 0xaacbf13c
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x28]
mov ecx, eax
mov eax, 0x7ade018f
xor eax, 0x440da6c0
xor ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xb3f536dc
or ecx, 0xb3f536dc
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x75ba1ec1
xor ecx, 0x3e1e86f9
movabs r8, 0xe02dddac242acca4
movabs r9, 0xe02dddac242acc5b
xor r8, r9
cmp rdx, r8
seta dl
mov byte [rsp + 0x27], dl
cmp eax, ecx
jae 0x1401478ef
mov al, byte [rsp + 0x27]
test al, 1
jne 0x140147782
jmp 0x14014779b
mov rcx, qword [rsp + 0x28]
xor eax, eax
mov edx, eax
mov r8d, 0xff
call fcn.14003750e
jmp 0x140147801
mov rcx, qword [rsp + 0x110]
mov rax, qword [rsp + 0xf8]
mov rdx, qword [rsp + 0x118]
mov r8, qword [rsp + 0x28]
mov byte [rdx + rax], r8b
movabs rdx, 0x84711270788c0978
add rax, rdx
movabs rdx, 0x7eda4d64d24d8a32
movabs r8, 0x7eda4d64d24d8a33
xor rdx, r8
add rax, rdx
movabs rdx, 0x84711270788c0978
sub rax, rdx
cmp rax, rcx
mov qword [rsp + 0x100], rax
jl 0x140146bd7
mov eax, dword [0x1402b0568]
xor eax, 0x8054f53f
or eax, dword [0x1402b056c]
mov edx, 0x4580b08
xor edx, 0x9b374392
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
and ecx, 0x9f6f489a
shl ecx, 1
mov edx, 0x43cbd689
xor edx, 0xdca49e13
sub ecx, edx
sub eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x53fb8ce7
add ecx, eax
xor eax, eax
sub eax, ecx
or eax, 0xbfb26dd5
cmp eax, 0x52522cbc
je 0x1401478f8
mov eax, dword [0x1402b0570]
add eax, dword [0x1402b0574]
mov r8d, 0xffffffff
xor r8d, 0xe4d4156
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xf4ea334a
xor r8d, 0xfaa7721c
mov edx, eax
and edx, r8d
mov r8d, 0xe5cf9a82
xor r8d, 0xeb82dbd4
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0x19fd4936
mov ecx, 0x68b63c18
xor ecx, 0xb2f43677
imul eax, ecx
cmp eax, 0x5272bb5d
ja 0x1401478f8
add rsp, 0x130
pop rsi
ret
invalid
xchg edx, eax
xor cl, byte [rdi]
jo 0x1401478cb
lodsb al, byte [rsi]
cli
invalid
cmp cl, byte [rcx + 0x69]
sbb al, 0xe9
cld
invalid
cmp esi, dword ds:[rcx - 0x63]
jmp 0x1401476f0
iretd