Function at 0x1400f8dc0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x110
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x80], rdx
mov qword [rbp + 0x88], rcx
mov eax, dword [0x140247e40]
or eax, dword [0x140247e44]
mov ecx, 0xffffffff
xor ecx, 0x8791cece
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0xb005f46c
xor edx, edx
div ecx
and eax, 0x14ccb79
cmp eax, 0x8d763447
ja 0x1400f96dc
mov eax, dword [0x140247e48]
mov ecx, dword [0x140247e4c]
xor ecx, 0x3ceaee08
sub eax, ecx
mov edx, eax
not edx
and edx, 0xd41c8223
mov ecx, eax
and ecx, 0x2be37ddc
imul ecx, edx
mov edx, eax
and edx, 0xd41c8223
or eax, 0xd41c8223
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0xfa67831d
mov edx, eax
xor edx, 0x5987ce2
add eax, edx
sub eax, ecx
add eax, 0x2237ce51
mov dword [rbp + 0x78], eax
mov eax, 0x10
mov qword [rbp + 0x58], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x28], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x48], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x58]
mov rcx, rsp
mov qword [rbp + 0x60], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x68], rax
sub rsp, 0x20
call fcn.1400e33a2
add rsp, 0x20
mov qword [rbp + 0x70], rax
mov ecx, 0x660d
mov edx, 0xbdc2
sub rsp, 0x20
call fcn.140068d74
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov dx, ax
mov eax, dword [rbp + 0x78]
mov word [rbp + 0x7c], dx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x7f], cl
cmp eax, 0x3b5ce19d
jae 0x1400f8e17
mov al, byte [rbp + 0x7f]
test al, 1
jne 0x1400f8f8b
jmp 0x1400f96d3
mov rcx, qword [rbp + 0x80]
mov ax, word [rbp + 0x7c]
mov dl, al
sub rsp, 0x20
call fcn.1400e5104
mov rcx, qword [rbp + 0x88]
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov rcx, qword [rcx]
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x17], al
or al, cl
test al, 1
jne 0x1400f933d
mov cx, 0x70fa
xor cx, 0x5368
mov dx, 0x2cf1
xor dx, 0xd4ed
sub rsp, 0x20
call fcn.140068d74
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xbd
xor dl, 0xbd
cmp cl, dl
sete r8b
mov byte [rbp + 0x15], r8b
cmp cl, dl
mov byte [rbp + 0x16], al
je 0x1400f900c
mov al, byte [rbp + 0x15]
mov cl, byte [rbp + 0x16]
mov byte [rbp + 0x14], cl
test al, 1
jne 0x1400f9022
jmp 0x1400f931b
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x18]
mov qword [rax], 0
mov rdx, rax
add rdx, 8
mov qword [rbp], rdx
mov qword [rax + 8], 0
mov ax, 0x6a9e
xor ax, 0x6b17
mov word [rcx], ax
sub rsp, 0x20
call fcn.140064b20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp + 8], rcx
mov al, byte [rax]
mov cl, 0x18
xor cl, 0x18
cmp al, cl
jne 0x1400f931b
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 8]
mov rdx, qword [rax]
movabs rax, 0x2045486314f1f61a
add rdx, rax
movabs rax, 0xf0a4bfe362e2ad31
movabs r8, 0xf0a4bfe362e2ad30
xor rax, r8
add rdx, rax
movabs rax, 0xc7d9e7bcef6183e
movabs r8, 0x2c38d618da07ee24
xor rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140019920
mov rax, qword [rbp + 8]
mov rdx, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400ef6f0
mov dl, byte [rbp + 0x14]
mov rcx, qword [rbp + 0x18]
call fcn.1400f25db
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp - 0x18], rdx
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
sub rsp, 0x20
call fcn.14001a160
mov r8, qword [rbp - 0x18]
mov rdx, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400ef6f0
mov rax, qword [rbp + 0x88]
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x80]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rcx], r8
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400f02f0
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 3], al
cmp al, 0
sete dl
mov byte [rbp - 2], dl
cmp rcx, 0
mov byte [rbp - 1], al
je 0x1400f9320
mov al, byte [rbp - 3]
mov rcx, qword [rbp - 0x10]
mov rdx, qword [rcx]
movabs r8, 0xe47ef5e545435688
movabs rcx, 0xa47ef5e545435688
xor r8, rcx
mov rcx, rdx
and rcx, r8
xor rcx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
and rdx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
movabs r8, 0xaa3ad690bf03734
movabs r9, 0xf55c5296f40fc8cb
xor r8, r9
xor rdx, r8
or rcx, rdx
cmp rcx, 0
mov byte [rbp - 1], al
jne 0x1400f9320
mov eax, dword [0x140247e50]
mov ecx, dword [0x140247e54]
xor ecx, 0x9c322c83
sub eax, ecx
mov ecx, eax
and ecx, 0x4a42eacc
xor ecx, 0xffffffff
mov edx, 0xd315b231
xor edx, 0x995758fd
add eax, edx
add eax, 1
add eax, ecx
sub eax, 0x61c09b6e
mov ecx, 0x8ba94e0d
xor ecx, 0x140c429e
and eax, ecx
mov ecx, 0xb75b66be
xor ecx, 0xf3a12fb7
cmp eax, ecx
jbe 0x1400f96e5
mov rcx, qword [rbp - 0x10]
mov eax, dword [0x140247e58]
mov edx, dword [0x140247e5c]
xor edx, 0xaf5a7267
add eax, 0x6e719460
add eax, edx
sub eax, 0x6e719460
or eax, 0x8777f46b
mov r8d, 0x18b86e20
xor r8d, 0xe74791df
mov edx, eax
xor edx, r8d
mov r8d, 0xca083934
xor r8d, 0x692cb819
and edx, r8d
mov r8d, 0xfdf622e2
xor r8d, 0x5ed2a3cf
mov r9d, 0x1503256b
xor r9d, 0xeafcda94
xor r8d, r9d
and eax, r8d
sub eax, edx
add eax, 0xf0082398
sub eax, 0x1becbbf2
sub eax, 0xf0082398
mov dword [rbp - 0x20], eax
mov eax, 0xc4096921
xor eax, 0x4d92ab95
mov dword [rbp - 0x24], eax
sub rsp, 0x20
call fcn.14000f4df
mov rdx, qword [rbp + 0x70]
mov ecx, dword [rbp - 0x24]
mov eax, dword [rbp - 0x20]
add rsp, 0x20
mov dl, byte [rdx]
mov byte [rbp - 0x19], dl
cmp eax, ecx
je 0x1400f9262
mov al, byte [rbp - 0x19]
mov byte [rbp - 1], al
jmp 0x1400f9320
jmp 0x1400f96d3
mov al, byte [rbp - 2]
mov cl, byte [rbp - 1]
and al, 1
movzx eax, al
cmp cl, 0
mov qword [rbp - 0x30], rax
je 0x1400f934f
jmp 0x1400f96d3
mov cl, byte [rbp + 0x17]
xor eax, eax
test cl, 1
mov qword [rbp - 0x30], rax
jne 0x1400f96d3
mov rax, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x88]
mov rdx, qword [rbp - 0x30]
mov qword [rbp - 0x48], rdx
mov rdx, rcx
add rdx, 0x10
mov qword [rbp - 0x40], rdx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x31], al
or al, cl
test al, 1
jne 0x1400f95b3
mov rax, qword [rbp - 0x48]
cmp rax, 0
je 0x1400f93e6
mov cx, 0xfba
xor cx, 0x348e
mov dx, 0x9e28
xor dx, 0x7e84
sub rsp, 0x20
call fcn.140068d74
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x70]
mov word [rbp - 0x4a], cx
cmp byte [rax], 0
jne 0x1400f959b
mov rcx, qword [rbp + 0x80]
mov ax, word [rbp - 0x4a]
mov dl, al
sub rsp, 0x20
call fcn.1400e5104
add rsp, 0x20
mov ecx, 0x2392
mov edx, 0xf81c
sub rsp, 0x20
call fcn.140068d74
mov rcx, qword [rbp + 0x70]
add rsp, 0x20
mov cl, byte [rcx]
cmp cl, 0
sete dl
mov byte [rbp - 0x4c], dl
cmp cl, 0
mov byte [rbp - 0x4b], al
je 0x1400f9418
mov al, byte [rbp - 0x4c]
mov cl, byte [rbp - 0x4b]
mov byte [rbp - 0x4d], cl
test al, 1
jne 0x1400f942e
jmp 0x1400f959b
mov rcx, qword [rbp + 0x48]
mov rax, qword [rbp + 0x40]
mov qword [rax], 0
mov rdx, rax
add rdx, 8
mov qword [rbp - 0x60], rdx
mov qword [rax + 8], 0
mov word [rcx], 0x999
sub rsp, 0x20
call fcn.140064b20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp - 0x58], rcx
mov al, byte [rax]
mov cl, 0x84
xor cl, 0x84
cmp al, cl
jne 0x1400f959b
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp - 0x58]
mov rdx, qword [rax]
movabs rax, 0x6e49e2b427d4ec67
movabs r8, 0x6e49e2b427d4ec66
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140019920
mov rax, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400ef6f0
mov dl, byte [rbp - 0x4d]
mov rcx, qword [rbp + 0x40]
call fcn.1400f25db
mov rdx, qword [rbp + 0x40]
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x80]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp - 0x70], rdx
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
sub rsp, 0x20
call fcn.14001a160
mov r8, qword [rbp - 0x70]
mov rdx, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1400ef6f0
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x80]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rcx], r8
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400f71c0
mov rax, qword [rbp - 0x68]
add rsp, 0x20
cmp rax, 0
je 0x1400f95a0
mov rcx, qword [rbp - 0x68]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1400f95a0
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
jmp 0x1400f95a0
jmp 0x1400f96d3
mov rax, qword [rbp + 0x70]
mov al, byte [rax]
cmp al, 0
je 0x1400f95be
jmp 0x1400f96d3
mov al, byte [rbp - 0x31]
test al, 1
jne 0x1400f96d3
mov cx, 0x70bd
xor cx, 0x7c1d
mov dx, 0x5fa0
xor dx, 0x88c9
sub rsp, 0x20
call fcn.140068d74
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x70]
mov word [rbp - 0x72], cx
cmp byte [rax], 0
jne 0x1400f96d3
mov eax, dword [0x140247e60]
mov ecx, 0x5d5e5947
xor ecx, 0x598aa3ae
xor eax, ecx
xor eax, dword [0x140247e64]
sub eax, 0x96f07406
mov ecx, 0xa4a97218
xor ecx, 0x5b568de7
xor eax, ecx
mov edx, 0xa4a4229e
xor edx, 0x92d36b79
mov ecx, 0xd790e52d
xor ecx, 0x286f1ad2
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0xa9eac7c6
or eax, edx
or ecx, 0xa9eac7c6
mov edx, 0xcf443f0e
xor edx, 0x30bbc0f1
xor eax, edx
and eax, ecx
mov ecx, 0x60b2f1ae
xor ecx, 0xb0145932
and eax, ecx
mov ecx, 0x340a09df
xor ecx, 0x24fa71a6
cmp eax, ecx
jae 0x1400f96ee
mov rcx, qword [rbp + 0x80]
mov ax, word [rbp - 0x72]
mov edx, dword [0x140247e68]
imul edx, dword [0x140247e6c]
xor edx, 0xaae9eab7
xor edx, 0xa4c75564
xor edx, 0xcf8ddc05
mov dword [rbp - 0x78], edx
mov edx, 0xc3600f10
xor edx, 0x5e9ba326
mov dword [rbp - 0x7c], edx
mov dl, al
sub rsp, 0x20
call fcn.1400e5104
mov ecx, dword [rbp - 0x7c]
mov eax, dword [rbp - 0x78]
add rsp, 0x20
cmp eax, ecx
je 0x1400f96ee
jmp 0x1400f96d3
lea rsp, [rbp + 0x90]
pop rbp
ret
fcomp qword [rsi + 0x32e9a40a]
idiv edi
jmp qword [rbx - 0x1676a8e2]
movabs dword [0xfffffb74e989571e], eax
test dh, 0xd6
jmp 0x1400f9676