Function at 0x140130040
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xe8
mov qword [rsp + 0xc8], r8
mov qword [rsp + 0xd0], rcx
add rcx, 8
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xe0], rdx
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xc0], rax
mov eax, dword [0x140208a48]
mov r8d, dword [0x140208a4c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0x191a2fe2
or eax, 0x2bc1b046
sub eax, 0xdae64901
sub eax, 0x6ee671da
add eax, 0xdae64901
cmp eax, 0x75b7f548
jbe 0x140130888
mov ecx, dword [0x140208a50]
xor ecx, 0x5dc0713
mov r8d, dword [0x140208a54]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, ecx
and edx, r9d
mov eax, ecx
or eax, r9d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, 0x8af87868
xor eax, 0x983b2696
sub ecx, eax
mov eax, 0x86bc6f35
xor eax, 0x86bc6f35
mov edx, 0xde7888af
xor edx, 0xc15888f1
sub eax, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa1303d0e
or eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xa1303d0e
or ecx, edx
mov edx, 0x3f6975d1
xor edx, 0xc0968a2e
xor eax, edx
mov edx, 0xb02a26c
xor edx, 0xf4fd5d93
xor ecx, edx
or eax, ecx
mov dword [rsp + 0xa4], eax
mov eax, 0xf63305cf
xor eax, 0xdd836b4
mov dword [rsp + 0xa0], eax
call fcn.14012da70
mov rdx, qword [rsp + 0xc8]
mov r8, qword [rsp + 0xc0]
mov ecx, dword [rsp + 0xa0]
mov r9, rax
mov eax, dword [rsp + 0xa4]
mov qword [rsp + 0xa8], r9
sub rdx, r8
mov qword [rsp + 0xb0], rdx
cmp rdx, 1
setl dl
mov byte [rsp + 0xbf], dl
cmp eax, ecx
ja 0x140130888
mov al, byte [rsp + 0xbf]
test al, 1
jne 0x14013077b
jmp 0x1401301e7
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0xd8]
mov rdx, qword [rdx]
mov qword [rsp + 0x80], rdx
mov r8, rax
xor r8, 0xffffffffffffffff
and r8, 3
mov r9, 0xffffffffffffffff
xor r9, 3
mov rdx, rax
and rdx, r9
imul rdx, r8
movabs r9, 0x865313901173e0c5
movabs r8, 0x865313901173e0c6
xor r9, r8
mov r8, rax
and r8, r9
or rax, 3
imul rax, r8
add rax, rdx
movabs rdx, 0x2c38a9e0f5cc1913
movabs r8, 0x2c38a9e0f5cc1910
xor rdx, r8
add rax, rdx
mov r8d, 4
cqo
idiv r8
mov rdx, qword [rsp + 0x80]
mov r8, rax
mov rax, qword [rsp + 0xc8]
add r8, rcx
mov rdx, qword [rdx + r8*8 + 8]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rax
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x68], rax
mov eax, dword [0x140208a58]
mov ecx, dword [0x140208a5c]
mov edx, 0xa86c464c
xor edx, 0xc4208334
xor ecx, edx
xor edx, edx
div ecx
or eax, 0xc3690492
mov ecx, 0x7734d4ab
xor ecx, 0x13bef9cd
imul eax, ecx
mov ecx, eax
xor ecx, 0xd94bcc41
mov edx, 0xffffffff
xor edx, 0xd94bcc41
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x59e48912
xor ecx, 0xf39f6ebf
cmp eax, ecx
jbe 0x140130891
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
mov eax, dword [0x140208a60]
xor eax, 0x353db2aa
add eax, dword [0x140208a64]
mov r8d, 0x781bd49d
xor r8d, 0xe3e14bca
and eax, r8d
mov r8d, 0x66cc6c8c
xor r8d, 0x5312ac16
add eax, r8d
mov r9d, eax
xor r9d, 0xc5ce23a1
mov r8d, 0xedfec8ea
xor r8d, 0x12013715
xor r9d, r8d
and r9d, 0xc5ce23a1
mov r8d, 0xfacf44e9
xor r8d, 0xfacf44eb
imul r8d, r9d
sub r8d, 0xc5ce23a1
sub eax, r8d
cmp rcx, rdx
setg cl
mov byte [rsp + 0x67], cl
cmp eax, 0x1152fdf
jb 0x140130891
mov al, byte [rsp + 0x67]
test al, 1
jne 0x140130651
jmp 0x1401303cc
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x70]
mov rcx, qword [rsp + 0xd8]
mov rcx, qword [rcx]
mov qword [rsp + 0x48], rcx
mov rcx, qword [rcx + r8*8 + 8]
mov qword [rsp + 0x50], rcx
cmp qword [rcx + 8], rdx
mov qword [rsp + 0x58], rax
jge 0x14013044e
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x58]
mov rdx, rcx
and rdx, 1
shl rdx, 1
movabs r8, 0x95fee148e0affef5
movabs r9, 0x95fee148e0affef4
xor r8, r9
xor rcx, r8
add rcx, rdx
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rax
jmp 0x1401302ae
mov eax, dword [0x140208a68]
xor edx, edx
div dword [0x140208a6c]
xor eax, 0xef2b3245
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x58e83f88
xor edx, 0x9f5afa1d
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xc7b2c595
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x8942245b
xor r8d, 0x4ef0e1ce
mov edx, eax
and edx, r8d
or eax, 0xc7b2c595
imul eax, edx
add eax, ecx
sub eax, 0xf87e297e
mov ecx, 0x66c4ba49
xor ecx, 0x59bb7e2
sub eax, ecx
mov ecx, 0x9e460a89
xor ecx, 0x663823f7
add eax, ecx
cmp eax, 0x30934bcb
je 0x14013089a
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x68]
mov eax, dword [0x140208a70]
xor eax, 0xf20788c8
mov edx, dword [0x140208a74]
xor edx, 0x976c92e3
and eax, edx
mov r9d, 0x40d596dc
xor edx, edx
div r9d
mov r9d, 0x4cc2c750
xor r9d, 0x32a683
xor edx, edx
div r9d
mov rdx, qword [rsp + 0x48]
xor eax, 0xffffffff
mov r10d, 0xffffffff
xor r10d, 0x64185346
mov r9d, 0xffffffff
xor r9d, 0x513412c5
or eax, r10d
or r9d, 0x513412c5
xor eax, 0xffffffff
and eax, r9d
mov rdx, qword [rdx + r8*8 + 8]
mov qword [rsp + 0x38], rdx
cmp rcx, qword [rdx + 8]
setl cl
mov byte [rsp + 0x47], cl
cmp eax, 0xc30d8b9
je 0x14013089a
mov al, byte [rsp + 0x47]
test al, 1
jne 0x140130574
jmp 0x140130610
mov eax, dword [0x140208a78]
xor eax, 0x8f0b4e29
mov ecx, dword [0x140208a7c]
xor ecx, 0xcc653a6f
sub eax, ecx
mov ecx, 0x8009f163
xor edx, edx
div ecx
mov ecx, 0x46662dad
xor ecx, 0x6fe457
and eax, ecx
add eax, 0xf68930ea
cmp eax, 0xfda4aa01
ja 0x1401308a3
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x140208a80]
or eax, dword [0x140208a84]
add eax, 0x5aadc0bb
and eax, 0x889b4953
mov edx, 0xc9bc27f
xor edx, 0xa848668e
sub eax, edx
mov edx, 0x110c1e23
xor edx, 0xb83d749c
add eax, edx
add eax, 0xa4d3a4f1
add rcx, 0xffffffffffffffff
mov qword [rsp + 0x30], rcx
cmp eax, 0x2ec3195d
jbe 0x1401305b3
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x78], rax
jmp 0x1401302c8
mov rax, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x70]
mov r10, qword [rsp + 0x38]
mov qword [r8 + r9*8 + 8], r10
mov rcx, qword [rcx]
mov qword [rcx + rax*8 + 8], rdx
xor ecx, ecx
sub rcx, 0xffffffffffffffff
sub rax, rcx
mov qword [rsp + 0x58], rax
jmp 0x140130407
mov eax, dword [0x140208a88]
mov r8d, dword [0x140208a8c]
xor r8d, 0xfdd785df
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xe829a90f
xor ecx, 0xe0109270
sub eax, ecx
sub eax, 0x587627a3
add eax, 0x8393b7f
mov ecx, 0x21a1f0c1
xor ecx, 0xcce3dd4f
and eax, ecx
mov ecx, 0x7de441fe
xor ecx, 0x9b50de74
and eax, ecx
mov ecx, 0xdd3b9089
xor ecx, 0xf5e22262
cmp eax, ecx
je 0x1401308ac
mov r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xd0]
mov r9d, dword [0x140208a90]
mov r10d, dword [0x140208a94]
xor r10d, 0x25a36c66
mov eax, r9d
and eax, r10d
xor r9d, r10d
or eax, r9d
sub eax, 0x443af97a
add eax, 0x369121e0
sub eax, 0xc80b1747
mov r9d, 0xb6ba28e9
xor r9d, 0x802b0909
sub eax, r9d
mov r9d, 0x6a076388
xor r9d, 0xd72bd753
and eax, r9d
mov dword [rsp + 0x28], eax
call fcn.140130040
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rsp + 0x28]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0xd124212b
ja 0x1401306cd
mov rax, qword [rsp + 0x70]
mov cl, byte [rsp + 0x2f]
test cl, 1
mov qword [rsp + 0xe0], rax
jne 0x14013006b
jmp 0x14013077b
mov eax, dword [0x140208a98]
xor eax, 0x582f09b3
mov edx, dword [0x140208a9c]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov edx, 0xb796207d
xor edx, 0xb796207c
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
mov edx, 0x2f1183d4
xor edx, 0x5ca07caa
or eax, edx
add eax, ecx
mov ecx, 0x19fa0da0
xor ecx, 0x1f28fa30
mov edx, 0x976aaf33
xor edx, 0x689550cc
xor ecx, edx
add eax, ecx
add eax, 1
mov ecx, 0xffffffff
xor ecx, 0x6b29882e
add eax, ecx
add eax, 1
mov ecx, 0x71d074fb
xor ecx, 0x9ab5f33f
cmp eax, ecx
ja 0x1401308b5
mov ecx, dword [0x140208aa0]
mov eax, dword [0x140208aa4]
xor eax, 0xc4e08b21
or ecx, eax
mov eax, ecx
and eax, 0x73884590
mov edx, 0xad438f98
xor edx, 0xdecbca08
or ecx, edx
add eax, ecx
mov ecx, eax
add ecx, 1
mov edx, 0xf80a54c
xor edx, 0xf07f5ab3
xor eax, edx
or eax, 0x57d9f81a
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x2e21a1a0
mov r8d, 0x84ad5ece
xor r8d, 0xaa8cff6e
mov ecx, 0xd8fa89d1
xor ecx, 0x2705762e
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x2e21a1a0
or eax, 0x2e21a1a0
imul eax, edx
add eax, ecx
cmp eax, 0xd55a50cf
je 0x1401307f3
add rsp, 0xe8
ret
xor cl, byte [rax + 0x5b]
fldl2t
clc
invalid
invalid
xchg dword [0x16bfc5204], ecx
cld
invalid
cmp byte [rbp - 0x46], al
adc ecx, ebp
invalid
cwde
xor byte [rdi], 0xbf
jmp 0x1401306cd
jns 0x1401308d3
pop rsp
sub cl, 0x35
invalid
add byte [rax], al
add cl, ch
add qword [r8], rax
add byte [rbx + 0xd81c705], cl
add byte [rbx + 0xd81c515], cl
add byte [rcx + 0x972c04a], bh
xor ecx, 0x972c04a
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x561d5df0
xor ecx, 0x84e4d4
sub eax, ecx
sub eax, 0x64360abf
or eax, 0x93a6f52e
cmp eax, 0x4b97bcdb
jbe 0x140130b0a
mov rcx, qword [rsp + 0x30]
mov r9d, dword [0x140208ab0]
mov eax, dword [0x140208ab4]
mov edx, 0x58c3fafb
xor edx, 0xd4a6dc6a
xor eax, edx
xor r9d, 0xffffffff
mov edx, 0xd530d91e
xor edx, 0x2acf26e1
xor eax, edx
mov edx, 0xffffffff
xor edx, 0x139509ae
or r9d, eax
mov eax, 0x767bde96
xor eax, 0x65eed738
or eax, edx
xor r9d, 0xffffffff
and r9d, eax
mov edx, 0x587ab07b
xor edx, 0xaf6f6ce0
mov eax, r9d
xor eax, edx
xor eax, 0xffffffff
mov edx, 0x7b9c46e7
xor edx, 0x8c899a7c
or r9d, edx
and r9d, eax
mov edx, r9d
xor edx, 0xffffffff
mov eax, 0xce3fba23
xor eax, 0x9864c785
and eax, edx
mov r8d, 0xab5b59b9
xor r8d, 0xfd00241f
mov edx, 0x87ac3604
xor edx, 0x7853c9fb
xor r8d, edx
and r9d, r8d
mov edx, 0x71bec170
xor edx, 0xddc93e43
mov r10d, 0x1b4a6132
xor r10d, 0xe4b59ecd
xor edx, r10d
and edx, 0x565b7da6
and r8d, 0xac77ff33
or eax, r9d
or edx, r8d
xor eax, edx
mov edx, eax
and edx, 0x710730e4
shl edx, 1
add eax, 0x710730e4
sub eax, edx
mov dword [rsp + 0x2c], eax
call fcn.140010ef0
mov eax, dword [rsp + 0x2c]
cmp eax, 0xcbac6cac
jbe 0x140130b0a
jmp 0x140130a24
mov ecx, dword [0x140208ab8]
add ecx, dword [0x140208abc]
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0xd8ef18ee
mov r8d, 0xffffffff
xor r8d, 0xd8ef18ee
and edx, r8d
mov r8d, 0x72b06e7a
xor r8d, 0x8d4f9185
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xd8ef18ee
and ecx, edx
mov edx, 0xfdeff4f4
xor edx, 0x2100b0b
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x593be982
xor ecx, 0x593be982
mov edx, 0x6eecb927
xor edx, 0x6216639d
sub ecx, edx
sub eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x2fb818e1
mov ecx, 0xffffffff
xor ecx, 0x51d780c6
or eax, edx
or ecx, 0x51d780c6
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0xdd75ff51
jae 0x140130b13
mov eax, dword [0x140208ac0]
mov edx, dword [0x140208ac4]
xor ecx, ecx
sub ecx, edx
add eax, ecx
or eax, 0xa4261d2b
sub eax, 0xa92bce2f
and eax, 0xc13e9ccb
cmp eax, 0x1430dde3
je 0x140130b13
add rsp, 0x38
ret
mov ch, 0x96
rcr bl, cl
jmp 0x140130920
test byte [rax + rbp*4 + 0x37], cl
jmp 0x140130ad9