Function at 0x1400ee7a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov rbx, rdx
mov rsi, rcx
xor eax, eax
test al, al
je 0x1400ee7d0
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
nop
mov eax, dword [0x141594980]
and eax, dword [0x141594984]
mov ecx, eax
xor ecx, 0xda004982
add ecx, eax
and eax, 0x25ffb67d
sub ecx, eax
add ecx, 0x308f621a
mov eax, 0x20
call fcn.14020e090
sub rsp, rax
mov rdi, rsp
cmp ecx, 0x48b76a7
jb 0x1400ee7d0
mov rax, qword [rsi]
nop
mov ecx, dword [0x141594988]
mov edx, dword [0x14159498c]
mov r8d, edx
not r8d
mov r9d, ecx
and r9d, r8d
or r8d, ecx
not r8d
imul r8d, r9d
mov r9d, ecx
and r9d, edx
or ecx, edx
imul ecx, r9d
add ecx, r8d
add ecx, 0xd182024c
or ecx, 0xfdceefbf
cmp ecx, 0xfbbdc086
je 0x1400ee810
nop word cs:[rax + rax]
mov ecx, dword [0x141594990]
or ecx, dword [0x141594994]
or ecx, 0x6f5f3fff
imul rdx, rcx, 0x7fee0f1
shr rdx, 0x20
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 0x1e
cmp ecx, 0x45f7237e
ja 0x1400ee860
test rax, rax
je 0x1400eeb00
mov r8, qword [rbx]
mov eax, dword [0x141594998]
xor edx, edx
div dword [0x14159499c]
imul eax, eax, 0x4a81fe63
mov ecx, eax
not ecx
or eax, 0xd82dab27
or ecx, 0x27d254d8
and ecx, eax
mov eax, ecx
and eax, 0xf6f71762
or ecx, 0xf6f71762
add ecx, eax
cmp ecx, 0xdd753040
jbe 0x1400ee8e9
movups xmm0, xmmword [rbx + 8]
mov rax, qword [rbx + 0x18]
mov qword [rdi], r8
movups xmmword [rdi + 8], xmm0
mov qword [rdi + 0x18], rax
mov rax, qword [rsi + 8]
mov qword [rbp - 0x10], rax
nop word cs:[rax + rax]
mov eax, dword [0x1415949a0]
mov ecx, dword [0x1415949a4]
mov edx, eax
not edx
mov r9d, ecx
not r9d
mov r10d, edx
and r10d, 0x7af580ee
and eax, 0x850a7f11
or eax, r10d
or edx, r9d
and r9d, 0x7af580ee
and ecx, 0x850a7f11
or ecx, r9d
xor ecx, eax
not edx
or edx, ecx
mov eax, edx
xor eax, 0xb5bd3014
and eax, edx
add eax, 0x97aafe43
mov ecx, eax
not ecx
and ecx, 0x8064858f
mov edx, eax
and edx, 0x7f9b7a70
imul edx, ecx
mov ecx, eax
and ecx, 0x8064858f
or eax, 0x8064858f
imul eax, ecx
add eax, edx
mov r14, qword [rbx + 8]
mov r12, qword [rbx + 0x10]
mov r15, qword [rbx + 0x18]
mov qword [rdi], r8
mov qword [rdi + 8], r14
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], r15
cmp eax, 0x1068df16
je 0x1400ee900
mov ecx, dword [rsi + 0x30]
mov eax, dword [rsi + 0x34]
movzx edx, byte [rsi + 0x38]
and eax, 8
mov dword [rbp - 0x24], ecx
mov byte [rbp + 7], dl
je 0x1400eeb5b
mov eax, 0xb9159bd7
nop word [rax + rax]
mov ecx, dword [0x1415949b8]
add ecx, dword [str.2_VY]
xor ecx, 0x2c0fd203
add ecx, 0xbb31eb32
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x81b3c866
ja 0x1400ee9c0
mov rcx, qword [rsi + 0x20]
mov rax, qword [rsi + 0x28]
sub rsp, 0x20
mov rdx, r8
mov r8, r14
call qword [rax + 0x18]
add rsp, 0x20
test al, al
jne 0x1400ef250
mov qword [rdi], 1
mov qword [rdi + 8], 0
mov rax, qword [rbp - 0x10]
sub rax, r14
mov ecx, 0
cmovae rcx, rax
mov qword [rbp - 0x10], rcx
mov dword [rsi + 0x30], 0x30
mov ecx, dword [0x141594a08]
sub ecx, dword [0x141594a0c]
not ecx
or ecx, 0xa2724eb0
mov eax, ecx
not eax
and ecx, 0x9ddc9f6a
mov edx, eax
and edx, 0x40012005
imul edx, ecx
mov ecx, eax
and ecx, 0x1d8c914a
or eax, 0x9ddc9f6a
imul eax, ecx
add eax, edx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x60de775c
and ecx, 0x9f2188a2
imul ecx, edx
mov edx, eax
and edx, 0x9f2188a2
or eax, 0x9f2188a2
imul eax, edx
add eax, ecx
cmp eax, 0x94aa0ed8
jbe 0x1400eeaa0
mov byte [rsi + 0x38], 1
xor r14d, r14d
nop word cs:[rax + rax]
mov eax, dword [0x141594a10]
sub eax, dword [0x141594a14]
or eax, 0x7647f08c
mov ecx, eax
and ecx, 0x69f207b1
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0xe9f207b1
mov ecx, eax
and ecx, 0xd6d4c68
add ecx, ecx
sub eax, ecx
mov byte [rsi + 0x38], 1
cmp eax, 0x1385aa89
je 0x1400eeab0
mov byte [rbp - 8], 1
mov dword [rbp], 0x30
test r15, r15
jne 0x1400eeb6a
jmp 0x1400eeede
mov rdi, qword [rsi + 0x20]
mov rsi, qword [rsi + 0x28]
mov eax, dword [0x1415949a8]
mov ecx, dword [0x1415949ac]
mov edx, eax
not edx
and edx, ecx
mov r8d, ecx
not r8d
and r8d, eax
imul r8d, edx
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, r8d
mov ecx, eax
not ecx
or eax, 0x48323377
or ecx, 0x8de36d34
and ecx, eax
and ecx, 0xcdf37f77
cmp ecx, 0xbeb3ee76
jne 0x1400ef489
jmp 0x1400ef4ee
mov dword [rbp], ecx
mov byte [rbp - 8], dl
test r15, r15
je 0x1400eeede
lea rcx, [r15 + r15*2]
lea rcx, [r12 + rcx*8]
mov edx, 0xad4d51b1
mov r8d, 0xafd4e6f7
mov r9b, 1
mov r10d, dword [0x1415949c0]
or r10d, dword [0x1415949c4]
xor r10d, 0xd523866e
add r10d, 0x7e40d1be
imul r10, r10, 0x23cca3
shr r10, 0x34
cmp r10d, 0x80911529
je 0x1400eeb80
movzx r10d, word [r12]
cmp r10, 1
jg 0x1400eede0
cmp r10d, 1
jne 0x1400eee70
mov r10d, dword [0x1415949c8]
and r10d, dword [0x1415949cc]
mov r11d, r10d
xor r11d, 0xeb5e411d
and r11d, r10d
mov r10d, r11d
not r10d
and r10d, 0x5bfd6091
mov ebx, r11d
and ebx, 0xa4029f6e
imul ebx, r10d
mov r10d, r11d
and r10d, 0x5bfd6091
or r11d, 0x5bfd6091
imul r11d, r10d
add r11d, ebx
xor r11d, 0x5073e108
cmp r11d, 0x8f064676
ja 0x1400eebc9
movzx r10d, word [r12 + 2]
nop dword [rax]
mov r11d, dword [0x1415949d0]
sub r11d, dword [0x1415949d4]
mov ebx, r11d
not ebx
and ebx, 0xa9bfb9b
mov r15d, r11d
and r15d, 0xf5640464
imul r15d, ebx
mov ebx, r11d
and ebx, 0xa9bfb9b
or r11d, 0xa9bfb9b
imul r11d, ebx
add r11d, r15d
mov ebx, r11d
and ebx, 0x6a8c9b4
add ebx, ebx
sub r11d, ebx
add r11d, 0xba3a8367
cmp r11d, 0xa31084e4
ja 0x1400eec30
nop dword [rax]
mov r11d, dword [0x1415949d8]
mov ebx, dword [0x1415949dc]
xor ebx, r11d
not ebx
and ebx, r11d
mov r11, rbx
imul r11, rdx
shr r11, 0x20
sub ebx, r11d
shr ebx, 1
add ebx, r11d
shr ebx, 0x1b
add ebx, 0x61ddb80a
or ebx, 0xbc77ecea
cmp ebx, 0xa7f4c50
jb 0x1400eec90
movzx r11d, r10w
cmp r11d, 0x3e8
jae 0x1400eee7c
mov eax, dword [0x1415949ec]
mov r11d, eax
xor r11d, eax
not r11d
and r11d, dword [0x1415949e8]
xor r11d, eax
mov eax, r11d
not eax
and eax, 0xe1a8980e
mov ebx, r11d
and ebx, 0x1e5767f1
imul ebx, eax
mov eax, r11d
and eax, 0xe1a8980e
or r11d, 0xe1a8980e
imul r11d, eax
add r11d, ebx
xor r11d, 0xcac9b6b1
add r11d, 0x9d458f01
cmp r11d, 0x93d98b79
ja 0x1400eece0
nop dword [rax]
mov eax, dword [0x1415949f0]
mov r11d, dword [0x1415949f4]
mov ebx, eax
or ebx, r11d
not ebx
not eax
not r11d
and r11d, eax
or r11d, ebx
not r11d
shr r11d, 1
imul r11, r8
shr r11, 0x3a
imul eax, r11d, 0xfbc0c306
add eax, 0x9b202248
cmp eax, 0x569d1ac0
jb 0x1400eed40
mov r11d, 1
cmp r10w, 0xa
jb 0x1400eee90
cmp r10w, 0x64
mov r11d, 3
sbb r11, 0
mov eax, dword [0x1415949f8]
mov r10d, dword [0x1415949fc]
mov ebx, eax
not ebx
and ebx, r10d
not r10d
and r10d, eax
sub r10d, ebx
and r10d, 0x4566f200
xor r10d, 0x4c460e03
cmp r10d, 0xd3a67433
ja 0x1400eeda0
jmp 0x1400eee90
mov r11, qword [r12 + 0x10]
nop word cs:[rax + rax]
mov ebx, dword [0x1415949e0]
mov r15d, dword [0x1415949e4]
mov r10d, ebx
not r10d
mov r13d, r15d
not r13d
mov eax, r10d
and eax, 0x2654084
and ebx, 0x20820018
or ebx, eax
or r10d, r13d
and r13d, 0x2654084
and r15d, 0x20820018
or r15d, r13d
xor r15d, ebx
not r10d
or r10d, r15d
mov eax, r10d
not eax
or eax, 0xdd18bf63
xor eax, 0x927b0fb
and r10d, 0x270098
add r10d, r10d
sub r10d, eax
mov eax, r10d
xor eax, 0x26c30218
and eax, r10d
cmp eax, 0x5f1166c5
ja 0x1400eedf0
jmp 0x1400eee90
mov r11, qword [r12 + 8]
test r9b, r9b
je 0x1400eee70
jmp 0x1400eee90
cmp r11d, 0x2710
mov r11d, 5
sbb r11, 0
nop dword [rax]
add r12, 0x18
nop word cs:[rax + rax]
mov eax, dword [0x141594a00]
or eax, dword [0x141594a04]
and eax, 0x7961dca3
add eax, 0xf58f7102
mov r10d, eax
and r10d, 0x566ceca6
add r10d, r10d
sub eax, r10d
add eax, 0x566ceea6
cmp eax, 0xcbbe6eff
ja 0x1400eeea0
add r14, r11
cmp r12, rcx
jne 0x1400eeb80
mov rcx, qword [rbp - 0x10]
cmp rcx, r14
jbe 0x1400eefa1
mov rax, rcx
not rax
and rax, r14
not r14
and r14, rcx
sub r14, rax
movzx eax, byte [rbp - 8]
nop word cs:[rax + rax]
mov ecx, dword [0x141594a18]
sub ecx, dword [0x141594a1c]
xor ecx, 0x2c742f95
lea edx, [rcx - 0x581f4312]
not edx
or edx, 0xe569cb4e
add ecx, edx
add ecx, 0xa7e0bcef
cmp ecx, 0x36aff815
jb 0x1400eef10
mov ecx, dword [0x141594a20]
mov edx, dword [0x141594a24]
mov r8d, ecx
not r8d
and r8d, edx
mov r9d, edx
not r9d
and r9d, ecx
imul r9d, r8d
mov r8d, ecx
and r8d, edx
or ecx, edx
imul ecx, r8d
add ecx, r9d
add ecx, 0x7b63ad70
or ecx, 0x343adca0
cmp ecx, 0x7c272a94
ja 0x1400eef40
cmp rax, 2
jge 0x1400ef027
test rax, rax
jne 0x1400ef063
mov qword [rbp - 0x18], r14
jmp 0x1400ef05e
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400eefb0
mov rcx, qword [rsi + 0x20]
nop dword [rax + rax]
mov eax, dword [0x141594a40]
mov edx, dword [0x141594a44]
mov r8d, eax
not r8d
and r8d, edx
not edx
and edx, eax
sub edx, r8d
imul rax, rdx, 0x6cd4b01
shr rax, 0x39
imul eax, eax, 0x997af6d9
add eax, 0x33c15b4b
cmp eax, 0x5581f3f7
jb 0x1400eefc0
mov rdx, qword [rsi + 0x28]
sub rsp, 0x20
mov r8, rdi
call fcn.1400ef5b0
add rsp, 0x20
mov ecx, eax
xor eax, eax
test al, al
mov r8d, dword [rbp - 0x24]
movzx r9d, byte [rbp + 7]
je 0x1400ef50a
jmp 0x1400ef541
cmp eax, 2
jne 0x1400ef063
mov rax, r14
shr rax, 1
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1400ef040
movabs rcx, 0x5d7e0347b01eaeb9
sub r14, rcx
add rcx, r14
inc rcx
shr rcx, 1
mov qword [rbp - 0x18], rcx
mov r14, rax
jmp 0x1400ef069
xor eax, eax
mov qword [rbp - 0x18], rax
mov rax, qword [rsi + 0x20]
mov qword [rbp - 8], rax
mov rax, qword [rsi + 0x28]
mov qword [rbp - 0x20], rax
xor r13d, r13d
xor edx, edx
mov qword [rbp - 0x30], rsi
mov r12d, dword [rbp]
mov r15, qword [rbp - 8]
mov rbx, qword [rbp - 0x20]
nop
mov eax, dword [0x141594a28]
sub eax, dword [0x141594a2c]
mov ecx, eax
and ecx, 0x14887eb2
add ecx, ecx
neg ecx
add eax, ecx
add eax, 0x34887eb2
and eax, 0x2c960850
cmp eax, 0x316628e5
ja 0x1400ef090
cmp rdx, r14
je 0x1400ef16a
mov eax, dword [0x141594a30]
add eax, dword [0x141594a34]
inc rdx
mov qword [rbp - 0x10], rdx
mov ecx, eax
xor ecx, 0xd6bcec08
and ecx, eax
xor ecx, 0xe435fbd2
imul rax, rcx, 0x4dd325e7
shr rax, 0x3d
cmp eax, 0xfacd645c
je 0x1400ef131
nop dword [rax]
mov esi, dword [0x141594a38]
xor esi, dword [0x141594a3c]
xor esi, 0x67dd5409
add esi, 0xf4c64616
sub rsp, 0x20
mov rcx, r15
mov edx, r12d
call qword [rbx + 0x20]
add rsp, 0x20
cmp esi, 0x94125ecc
jbe 0x1400ef150
sub rsp, 0x20
mov rcx, r15
mov edx, r12d
call qword [rbx + 0x20]
add rsp, 0x20
jmp 0x1400ef100
test r13b, r13b
jne 0x1400ef150
test al, al
mov rsi, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x10]
je 0x1400ef090
jmp 0x1400ef250
mov rbx, rsi
mov eax, dword [0x141594a48]
xor eax, dword [0x141594a4c]
and eax, 0xaaad3843
add eax, 0x789a0b6c
mov ecx, 0x922a888d
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x33c74778
mov r14, qword [rbp - 8]
mov r15, qword [rbp - 0x20]
jne 0x1400ef1c0
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
mov r8, rdi
call fcn.14020c400
add rsp, 0x20
nop word cs:[rax + rax]
mov eax, dword [0x141594a50]
xor edx, edx
div dword [0x141594a54]
mov esi, eax
xor esi, 0x922080c0
xor eax, 0x8861211
and eax, 0x2dde5a3d
and esi, 0xd221a5c2
sub esi, eax
xor esi, 0x5b317100
sub rsp, 0x20
mov rcx, r14
mov rdx, r15
mov r8, rdi
call fcn.14020c400
add rsp, 0x20
cmp esi, 0xe4ca1bd7
ja 0x1400ef1c0
nop dword [rax]
mov ecx, dword [0x141594a58]
add ecx, dword [0x141594a5c]
imul ecx, ecx, 0x52da9497
mov edx, ecx
not edx
and edx, 0xfdf93533
and ecx, 0x206cacc
sub ecx, edx
xor ecx, 0x7dfae100
cmp ecx, 0x95db284
jb 0x1400ef210
test al, al
je 0x1400ef2cd
nop word [rax + rax]
mov eax, dword [0x141594a90]
xor edx, edx
div dword [0x141594a94]
xor eax, 0x6e76f35a
mov ecx, eax
and ecx, 0x3ee8d604
add ecx, ecx
sub eax, ecx
imul eax, eax, 0x8b975e7e
cmp eax, 0xb05b4e79
je 0x1400ef250
nop dword [rax]
mov eax, dword [0x141594a98]
or eax, dword [0x141594a9c]
add eax, 0xad4d62d2
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x345439cf
and ecx, 0xcbabc630
imul ecx, edx
mov edx, eax
and edx, 0xcbabc630
or eax, 0xcbabc630
imul eax, edx
add eax, ecx
not eax
or eax, 0x9443c67
cmp eax, 0x492f1a2a
je 0x1400ef280
mov cl, 1
jmp 0x1400ef550
mov rsi, rbx
mov r14d, dword [rbp]
mov r15, qword [rbp - 0x18]
mov r12, qword [rbp - 8]
mov r13, qword [rbp - 0x20]
mov eax, dword [str.gX_3Y]
xor eax, dword [0x141594a64]
mov ecx, eax
xor ecx, 0xb1181886
xor eax, 0x6e6e718
and eax, 0xb6eeef9e
mov edx, ecx
and edx, 0x49111061
imul edx, eax
mov eax, ecx
and eax, 0xb6eeef9e
or ecx, 0xb6eeef9e
imul ecx, eax
add ecx, edx
cmp ecx, 0x11620ce7
jb 0x1400ef2e0
nop word cs:[rax + rax]
mov eax, dword [0x141594a68]
and eax, dword [0x141594a6c]
mov ecx, eax
xor ecx, 0x6fee64c4
xor eax, 0xd669958c
add eax, ecx
and ecx, 0x46780eb7
sub eax, ecx
cmp eax, 0xfe1c6cc6
ja 0x1400ef330
xor ebx, ebx
nop dword [rax]
mov rdi, rbx
mov eax, dword [0x141594a74]
add eax, dword [0x141594a70]
or eax, 0xd4dd4a4
mov ecx, 0x4b4a10bd
sub ecx, eax
add eax, 0xb4b5ef42
mov edx, eax
and edx, 0x60056ec3
and ecx, 0x97b2013c
imul ecx, edx
mov edx, eax
and edx, 0x96b2813c
or eax, 0x97b2813c
imul eax, edx
add eax, ecx
cmp eax, 0xb47504ad
je 0x1400ef363
cmp rdi, r15
je 0x1400ef445
nop word cs:[rax + rax]
mov eax, dword [0x141594a78]
mov ecx, dword [0x141594a7c]
mov edx, eax
not edx
mov r8d, ecx
not r8d
mov r9d, edx
and r9d, 0x43401a18
and eax, 0xc3005c2
or eax, r9d
or edx, r8d
and r8d, 0x43401a18
and ecx, 0xc3005c2
or ecx, r8d
xor ecx, eax
not edx
or edx, ecx
and edx, 0x4f701fda
imul eax, edx, 0xaf08469a
add eax, 0x53b7a330
cmp eax, 0x350e907e
ja 0x1400ef3c0
mov eax, edi
and eax, 1
mov rcx, rdi
xor rcx, 1
lea rbx, [rcx + rax*2]
sub rsp, 0x20
mov rcx, r12
mov edx, r14d
call qword [r13 + 0x20]
add rsp, 0x20
test al, al
je 0x1400ef360
jmp 0x1400ef450
mov rdi, r15
nop dword [rax + rax]
mov eax, dword [0x141594a84]
mov edx, eax
xor edx, eax
not edx
and edx, dword [0x141594a80]
xor edx, eax
add edx, 0x68ecfb6b
or edx, 0x20040ae0
and edx, 0x280eefe4
cmp rdi, r15
setb cl
cmp edx, 0x5c7a39b6
ja 0x1400ef450
jmp 0x1400ef00f
mov eax, dword [0x1415949b0]
imul eax, dword [0x1415949b4]
mov ecx, eax
and ecx, 0xce90de9a
mov edx, ecx
not edx
and edx, 0xff925ca2
mov r8d, eax
and r8d, 0x8218
imul r8d, edx
and eax, 0xce905c82
or ecx, 0xff925ca2
imul ecx, eax
lea r14d, [rcx + r8]
add r14d, 0xdde4a5cc
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
mov r8, rbx
call fcn.1400ef5b0
add rsp, 0x20
cmp r14d, 0x71b740f2
jae 0x1400ef506
sub rsp, 0x20
mov rcx, rdi
mov rdx, rsi
mov r8, rbx
call fcn.1400ef5b0
add rsp, 0x20
jmp 0x1400ef489
mov ecx, eax
jmp 0x1400ef550
mov eax, dword [0x141594a88]
add eax, dword [0x141594a8c]
imul eax, eax, 0xdecb8593
mov edx, eax
and edx, 0xe3ac3da1
and eax, 0x3283181
xor edx, 0xb2873c7
lea eax, [rdx + rax*2]
mov dword [rsi + 0x30], r8d
mov byte [rsi + 0x38], r9b
cmp eax, 0xbdff56b6
jb 0x1400ef550
mov dword [rsi + 0x30], r8d
mov byte [rsi + 0x38], r9b
jmp 0x1400ef50a
mov eax, dword [0x141594aa0]
xor edx, edx
div dword [0x141594aa4]
mov edx, eax
not edx
and edx, 0xa5c3ebcf
and eax, 0x5a3c1430
sub eax, edx
mov edx, eax
or edx, 0x1588000d
not eax
and eax, 0xa620d12
and edx, 0xd59940ed
or edx, eax
cmp edx, 0x685c99b7
ja 0x1400ef550
mov eax, ecx
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret