Function at 0x1401089f0
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x140
mov qword [rsp + 0xb0], rcx
call fcn.1401088d0
mov qword [rsp + 0xc0], rax
movabs rcx, 0x40346d0f8fba6d77
movabs rax, 0x40346d0f8fba6d75
xor rcx, rax
movabs rdx, 0xcfc6b4775c6d57c5
movabs rax, 0xcfc6b4775c6d57d5
xor rdx, rax
movabs r8, 0x554c0260da532506
movabs rax, 0x554c0260da53250e
xor r8, rax
call fcn.140019910
mov qword [rsp + 0xb8], rax
mov ax, 0x2c08
xor ax, 0x281b
mov word [rsp + 0x13e], ax
lea rcx, [rsp + 0x13e]
call fcn.1400613a0
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0xc8], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rsp + 0xd0], rax
jne 0x1401090af
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rax]
mov qword [rsp + 0x118], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x120], rax
lea rcx, [rsp + 0x128]
lea rdx, [rsp + 0x118]
call fcn.14001c672
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rsp + 0x128]
mov rcx, qword [rsp + 0x130]
mov r8, rax
add r8, 8
mov qword [rsp + 0xa0], r8
mov qword [rax + 8], rdx
mov qword [rax + 0x10], rcx
mov word [rsp + 0x13c], 0x358
lea rcx, [rsp + 0x13c]
call fcn.1400613a0
mov rcx, rax
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0xa8], rcx
mov cl, byte [rax]
mov dl, 0x8f
xor dl, 0x8f
xor eax, eax
cmp cl, dl
mov qword [rsp + 0xd0], rax
jne 0x1401090af
mov rax, qword [rsp + 0xa8]
mov rcx, qword [rax]
mov qword [rsp + 0xf8], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x100], rax
lea rcx, [rsp + 0x108]
lea rdx, [rsp + 0xf8]
call fcn.14001c672
mov rcx, qword [rsp + 0xb8]
mov rax, qword [rsp + 0xb0]
mov r8, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x110]
mov qword [rcx + 0x18], r8
mov qword [rcx + 0x20], rdx
mov rcx, qword [rax]
mov qword [rsp + 0x78], rcx
mov rax, qword [rax + 8]
add rax, 8
mov qword [rsp + 0x80], rax
cmp rcx, 0
sete al
mov byte [rsp + 0x8f], al
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rsp + 0x90], rax
xor eax, eax
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x70], rax
cmp rax, 2
je 0x140108d62
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x70]
shl rax, 4
add rdx, rax
mov rax, qword [rdx]
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x68], rdx
cmp rax, rcx
jne 0x140108d36
mov al, byte [rsp + 0x8f]
test al, 1
jne 0x140108dec
jmp 0x140108c3b
mov eax, dword [0x1401fa238]
xor edx, edx
div dword [0x1401fa23c]
mov ecx, eax
and ecx, 0xa21ff8fa
shl ecx, 1
xor eax, 0xa21ff8fa
add eax, ecx
mov ecx, 0x299170f7
xor edx, edx
div ecx
mov ecx, 0xb1c5ac38
xor edx, edx
div ecx
cmp eax, 0x9e2f0c19
je 0x1401090fd
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x1401fa240]
xor eax, 0x7f0cb531
mov edx, dword [0x1401fa244]
mov r8d, 0x5a02fe9d
xor r8d, 0x95116af7
xor edx, r8d
mov r8d, 0xdfe3ef21
xor r8d, 0xa71d9553
add eax, r8d
sub eax, edx
sub eax, 0x78fe7a72
mov edx, 0x4cc57396
xor edx, 0x35f3013
or eax, edx
xor eax, 0x86db7952
mov r8d, 0xfdd78bf4
xor edx, edx
div r8d
add rcx, 8
mov qword [rsp + 0x60], rcx
cmp eax, 0x1647f572
je 0x140108c78
xor eax, eax
mov qword [rsp + 0x58], rax
jmp 0x140108cf2
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x50], rax
cmp rax, rcx
je 0x140108dec
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
mov cl, byte [rcx + rax]
mov dl, byte [rdx + rax]
add rax, 1
cmp cl, dl
mov qword [rsp + 0x58], rax
je 0x140108cf2
mov rax, qword [rsp + 0x70]
movabs rcx, 0xa99ef928f28a3591
movabs rdx, 0xa99ef928f28a3590
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x98], rax
jmp 0x140108be2
mov ecx, 0x40
mov edx, 8
call fcn.140013970
mov rcx, rax
mov rax, qword [0x1402090a0]
mov qword [rcx], rax
lea rax, [0x140207fd4]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140207fe0]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140207fe8]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x8104bb5cc42dedeb
movabs rdx, 0x8104bb5c9abcd5d3
xor rax, rdx
lea rdx, [0x140207fd4]
lea r8, [0x140207ff0]
lea r9, str.Ttl_2P__
mov qword [rsp + 0x20], rax
call fcn.14001302b
xor eax, eax
mov qword [rsp + 0xd0], rax
jmp 0x1401090af
mov rax, qword [rsp + 0xb0]
mov rcx, rax
add rcx, 0x90
mov qword [rsp + 0x48], rcx
movss xmm0, dword [rax + 0x90]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x140108e2e
jp 0x140108e2e
mov rax, qword [rsp + 0x48]
movss xmm0, dword [0x140207fd0]
movss dword [rax], xmm0
mov rcx, qword [rsp + 0xb0]
call fcn.1400ff4a0
mov rcx, qword [rsp + 0xc0]
mov qword [rsp + 0x40], rax
mov cl, byte [rcx]
mov dl, 0xe9
xor dl, 0xe9
cmp cl, dl
mov qword [rsp + 0xd0], rax
jne 0x1401090af
mov r11d, dword [0x1401fa248]
or r11d, dword [0x1401fa24c]
mov eax, r11d
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x60236757
mov edx, 0xffffffff
xor edx, 0x714bfc4b
mov r9d, 0xbe2d4b77
xor r9d, 0xcf66b73c
mov ecx, eax
and ecx, r9d
and r11d, edx
mov r10d, 0x16ef64ca
xor r10d, 0x67a49881
mov r9d, r8d
and r9d, r10d
mov r10d, edx
and r10d, 0x60236757
or ecx, r11d
or r9d, r10d
xor ecx, r9d
or eax, r8d
mov r8d, 0xc8e1f392
xor r8d, 0x371e0c6d
xor eax, r8d
or edx, 0x714bfc4b
and eax, edx
or ecx, eax
mov eax, 0x2ff47bbb
xor eax, 0x7689500b
add ecx, eax
sub ecx, 0x3ce7f5a
sub ecx, 0x597d2bb0
mov eax, ecx
or eax, eax
mov edx, 0xbaee9206
xor edx, 0x45116df9
xor eax, edx
mov edx, 0x64471ef2
xor edx, 0xe1e430f0
mov r8d, 0x2b8b92b8
xor r8d, 0xd4746d47
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x85a32e02
and edx, r8d
or eax, edx
mov edx, 0x5be6da59
xor edx, 0xa41925a6
xor eax, edx
mov edx, 0xedd82641
xor edx, 0x1227d9be
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x85a32e02
and ecx, edx
xor eax, 0xffffffff
mov edx, 0x2d80d104
xor edx, 0xd27f2efb
xor ecx, edx
and eax, ecx
mov ecx, 0x78239f6f
xor ecx, 0xff4f2ca4
cmp eax, ecx
je 0x140109106
mov eax, dword [0x1401fa250]
mov ecx, dword [0x1401fa254]
mov edx, 0x19534d73
xor edx, 0xe9f6d1f8
xor ecx, edx
add eax, ecx
mov ecx, 0x53ef1339
xor ecx, 0x80902ee0
xor edx, edx
div ecx
mov esi, eax
mov rax, qword [rsp + 0xb8]
mov edx, esi
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x6be9b72b
mov r8d, 0x1341c045
xor r8d, 0x934ab597
mov ecx, 0x405adb3a
xor ecx, 0xbfa524c5
xor r8d, ecx
mov ecx, edx
and ecx, 0x800b75d2
and esi, r8d
mov r10d, r9d
and r10d, 0x800b75d2
mov r11d, r8d
and r11d, 0x6be9b72b
or ecx, esi
or r10d, r11d
xor ecx, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0x800b75d2
and edx, r8d
or ecx, edx
mov edx, ecx
and edx, 0x52831991
mov r8d, 0xb3f1c09b
xor r8d, 0x4c0e3f64
xor edx, r8d
mov r8d, 0x47433318
xor r8d, 0x15c02a89
add ecx, r8d
mov r8d, 0x40c7badf
xor r8d, 0x40c7bade
add ecx, r8d
add ecx, edx
mov dword [rsp + 0x3c], ecx
movabs rcx, 0x2380889f0782a7fa
movabs rdx, 0x2380889f0782a7f8
xor rcx, rdx
mov qword [rsp + 0xe8], rcx
mov qword [rsp + 0xf0], rax
lea rcx, [rsp + 0xe8]
call fcn.140018580
mov eax, dword [rsp + 0x3c]
cmp eax, 0x11e7e99d
jb 0x140109106
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
jmp 0x1401090ef
mov rax, qword [rsp + 0xb8]
mov rcx, qword [rsp + 0xd0]
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0xd8], 2
mov qword [rsp + 0xe0], rax
lea rcx, [rsp + 0xd8]
call fcn.140018580
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
add rsp, 0x140
pop rsi
ret
sub dword [rdx], eax
retf 0xe98e
int 0x6d
xchg dword [rcx + rbp*8 + 0x76], edx
invalid