Function at 0x1400fa620
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xd8
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], rcx
call fcn.1400fa0f3
mov rdx, qword [rsp + 0xa0]
mov qword [rsp + 0xa8], rax
mov rax, qword [rdx]
mov qword [rsp + 0xb0], rax
cmp rax, 0
jge 0x1400fa6a9
mov rcx, qword [rsp + 0xb0]
movabs rdx, 0x98a183e54a55bd66
movabs rax, 0x98a183e54a55bd66
xor rdx, rax
movabs r8, 0x8d65476a77f2f634
movabs rax, 0xf29ab895880d09cb
xor r8, rax
call fcn.14000d792
jmp 0x1400fab56
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x90]
call fcn.140019380
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rax]
add rax, 8
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0xc8]
add rax, 8
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0xb8]
add rax, 8
mov qword [rsp + 0x78], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rsp + 0x80], rax
xor eax, eax
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x60], rax
cmp rax, rcx
je 0x1400fab56
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0xa0]
mov rcx, qword [rcx]
mov qword [rsp + 0x58], rcx
cmp rax, rcx
jl 0x1400fa772
mov rcx, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
xor eax, eax
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
call fcn.14001284c
jmp 0x1400fab56
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rsp + 0x4e], al
mov cl, 0x2b
mov byte [rsp + 0x4f], cl
add al, 0xe0
movzx ecx, al
mov qword [rsp + 0x50], rcx
sub al, 0x5e
ja case.0x1400fa7ba.2
mov cl, byte [rsp + 0x4f]
mov rax, qword [rsp + 0x50]
lea rdx, [0x1400fac68]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
mov byte [rsp + 0x4d], cl
jmp rax
mov al, byte [rsp + 0x4e]
mov byte [rsp + 0x4d], al
jmp case.0x1400fa7ba.0
mov rcx, qword [rsp + 0x90]
mov edx, 0x25
call fcn.1400fa10e
mov al, byte [rsp + 0x4e]
movzx eax, al
mov edx, eax
movabs r8, 0x75226cdf14a080f0
movabs rax, 0x75226cdf14a080f2
xor r8, rax
lea rcx, [rsp + 0xc8]
call fcn.1400f98cc
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0xa8]
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0x38], rdx
mov rcx, qword [rcx]
mov qword [rsp + 0x40], rcx
cmp byte [rax], 0
jne 0x1400fa874
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x38]
call fcn.140019cc0
mov r8, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0xb8], r8
mov qword [rax], rdx
lea rdx, [rsp + 0xb8]
call fcn.1400fadf0
mov rax, qword [rsp + 0x40]
cmp rax, 0
je 0x1400faa02
mov eax, dword [0x140251ad0]
xor eax, 0x31eee4bc
sub eax, dword [0x140251ad4]
mov edx, eax
xor edx, 0xffffffff
and edx, 0xb3da722a
mov r8d, 0xffffffff
xor r8d, 0xb3da722a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x7c9633f
xor r8d, 0xb4131115
mov edx, eax
and edx, r8d
or eax, 0xb3da722a
imul eax, edx
add eax, ecx
add eax, 0x41db1e27
imul eax, eax, 0xba0d9471
cmp eax, 0xc16bb76e
ja 0x1400fac4d
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x140251ad8]
sub eax, dword [0x140251adc]
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x2c2efe7
mov r9d, 0xffffffff
xor r9d, 0x2c2efe7
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x2c2efe7
mov r9d, 0x603e2dbe
xor r9d, 0x62fcc259
or eax, r9d
imul eax, r8d
add eax, edx
mov r9d, 0xf509e898
xor r9d, 0x593152
mov edx, 0xbb2ce7f1
xor edx, 0x44d3180e
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x64a31358
xor r9d, 0x9b5ceca7
xor edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xf550d9ca
or eax, 0xf550d9ca
imul eax, r8d
add eax, edx
mov r8d, 0x892b437c
xor r8d, 0xad6a5bcb
mov edx, eax
and edx, r8d
shl edx, 1
mov r8d, 0x9cb55c4e
xor r8d, 0xb8f444f9
add eax, r8d
sub eax, edx
mov rdx, qword [rcx]
mov r8, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor r8, rcx
mov rcx, rdx
xor rcx, r8
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rsp + 0x37], cl
cmp eax, 0x3d0a23cc
jb 0x1400fac4d
mov al, byte [rsp + 0x37]
test al, 1
jne 0x1400fa9f8
jmp 0x1400faa02
mov rcx, qword [rsp + 0x40]
call fcn.14000eec9
mov rax, qword [rsp + 0xa8]
mov al, byte [rax]
mov cl, 0x4a
xor cl, 0x4a
cmp al, cl
je 0x1400faa2f
jmp 0x1400fab56
mov rcx, qword [rsp + 0x90]
mov dl, byte [rsp + 0x4d]
call fcn.1400fa10e
mov r11d, dword [0x140251ae0]
add r11d, dword [0x140251ae4]
mov eax, 0x1c9e8b95
xor eax, 0xe361746a
mov ecx, r11d
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0xe34acae
mov r8d, 0xffffffff
xor r8d, 0x8806851d
mov eax, ecx
and eax, 0x8806851d
and r11d, r8d
mov r9d, edx
and r9d, 0x8806851d
mov r10d, r8d
and r10d, 0xe34acae
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x3b548986
xor edx, 0xb3520c9b
or edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0xd07d1cb9
xor ecx, 0x762b4a5a
and eax, ecx
imul eax, eax, 0x6ffdfe21
mov ecx, 0x9e143626
xor ecx, 0x456bda39
cmp eax, ecx
je 0x1400fac56
mov rcx, qword [rsp + 0x60]
mov eax, dword [0x140251ae8]
xor eax, 0x5cba4a24
and eax, dword [0x140251aec]
add eax, 0x949a59d5
mov edx, 0x44018e09
xor edx, 0xe2b07fa6
and edx, eax
mov r8d, 0xc118dc5d
xor r8d, 0x3ee723a2
xor edx, r8d
mov r8d, 0x571e2d3
xor r8d, 0xa3c0137c
add eax, r8d
add eax, 1
add eax, edx
sub eax, 0xe332693b
movabs rdx, 0xcdf5485f228389e2
movabs r8, 0xcdf5485f228389e3
xor rdx, r8
add rcx, rdx
mov qword [rsp + 0x28], rcx
cmp eax, 0x2ef7d4c
jb 0x1400faac8
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x88], rax
jmp 0x1400fa70f
mov eax, dword [0x140251af0]
xor edx, edx
div dword [0x140251af4]
and eax, 0x61e610a5
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x90e419da
mov edx, 0xffffffff
xor edx, 0x90e419da
and eax, edx
sub eax, ecx
mov r8d, 0x3ef5d1b6
xor r8d, 0x8fac014d
mov ecx, 0x3f14c5bf
xor ecx, 0xc0eb3a40
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xb159d0fb
or eax, 0xb159d0fb
imul eax, edx
add eax, ecx
cmp eax, 0x13420f3d
jb 0x1400fac5f
mov ecx, dword [0x140251af8]
mov r8d, dword [0x140251afc]
mov eax, 0xc485748
xor eax, 0xf3b7a8b7
mov edx, r8d
xor edx, eax
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, r8d
add ecx, edx
sub ecx, eax
add ecx, 0x9e25691a
mov edx, 0xa0178ccf
xor edx, 0xac3f2870
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
mov edx, 0x2b40b5b8
xor edx, 0x27681107
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x4be7dc5
xor ecx, 0x3ae35b3d
imul eax, ecx
cmp eax, 0x21221e2a
jbe 0x1400fac5f
mov rax, qword [rsp + 0x98]
add rsp, 0xd8
ret
jmp 0x12921f5ea
push rbx
iretd
mov word [rsi], ds
jmp 0x13f7395c8