Function at 0x1401f7cf0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1a0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x28], rcx
mov eax, 0x10
mov qword [rbp + 0x48], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x60], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0x48]
mov rcx, rsp
mov qword [rbp + 0x50], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x58], rax
sub rsp, 0x20
call fcn.1401fe28a
mov rcx, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0x70], rax
add rax, 0x50
mov qword [rbp + 0x68], rax
mov word [rcx], 0x96a
sub rsp, 0x20
call fcn.140067cc0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x70]
mov qword [rbp + 0x78], rcx
cmp byte [rax + 0x50], 0
jne 0x1401f861a
mov rax, qword [rbp + 0x78]
mov rcx, qword [0x14025a8f8]
mov rdx, qword [rcx]
mov qword [rbp + 0xf8], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x100], rcx
mov rcx, qword [rax]
mov qword [rbp + 0xe8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xf0], rax
lea rcx, [rbp + 0x108]
lea rdx, [rbp + 0xf8]
lea r8, [rbp + 0xe8]
sub rsp, 0x20
call fcn.1401f47c8
mov rax, qword [rbp + 0x68]
add rsp, 0x20
mov rcx, qword [rbp + 0x108]
mov qword [rbp + 0x18], rcx
mov rcx, qword [rbp + 0x110]
mov qword [rbp + 0x20], rcx
cmp byte [rax], 0
jne 0x1401f861a
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.1400193c0
add rsp, 0x20
mov qword [rbp - 8], rax
movabs rcx, 0x4bc2b2b6bb0a45fb
movabs rax, 0x4bc2b2b6bb0a45e3
xor rcx, rax
movabs rdx, 0x8d7f43a4b4889de2
movabs rax, 0x8d7f43a4b4889dea
xor rdx, rax
sub rsp, 0x20
call fcn.14001bdf0
add rsp, 0x20
mov qword [rbp], rax
mov word [rbp + 0x11e], 0x245
lea rcx, [rbp + 0x11e]
sub rsp, 0x20
call fcn.140067cc0
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov qword [rbp + 8], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x1401f848d
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
mov qword [rbp + 0xc8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd0], rax
lea rcx, [rbp + 0xd8]
lea rdx, [rbp + 0xc8]
sub rsp, 0x20
call fcn.14001c002
mov rax, qword [rbp]
add rsp, 0x20
mov rdx, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xe0]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0x3bf
sub rsp, 0x20
call fcn.140068370
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp]
mov dword [rax + 0x10], edx
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x1401f848d
mov ecx, 0x930
sub rsp, 0x20
call fcn.140068370
mov rcx, qword [rbp]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x68]
mov dword [rcx + 0x14], edx
mov cl, byte [rax]
mov dl, 0xf5
xor dl, 0xf5
mov al, 1
cmp cl, dl
mov byte [rbp + 0x17], al
jne 0x1401f848d
mov rax, qword [rbp - 8]
mov rcx, qword [rbp]
mov qword [rax + 8], rcx
mov cx, 0x16d3
xor cx, 0x1e5c
sub rsp, 0x20
call fcn.140068370
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov dword [rbp - 0xc], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x1401f848d
mov eax, dword [0x14024eb58]
xor eax, 0xe86dd723
imul eax, dword [0x14024eb5c]
mov ecx, 0xc6ed4109
xor ecx, 0x29ef000d
or eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x6b7b4a27
add ecx, eax
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, 0x1b1fcde2
add eax, ecx
mov ecx, 0xc322b7c6
xor ecx, 0x7e60c84f
cmp eax, ecx
je 0x1401f86a0
mov r8d, dword [rbp - 0xc]
mov rcx, qword [rbp + 0x30]
mov rax, qword [rbp - 8]
mov rdx, qword [rbp + 0x20]
mov r9, qword [rbp + 0x18]
mov r10d, dword [0x14024eb60]
or r10d, dword [0x14024eb64]
imul r10d, r10d, 0x632fe505
sub r10d, 0x6b629589
mov r11d, 0x8e8457fa
xor r11d, 0x274916b0
imul r10d, r11d
mov dword [rbp - 0x1c], r10d
mov qword [rcx], r9
mov qword [rcx + 8], rdx
movabs rdx, 0x1b7ece6ff9c5261e
movabs r9, 0x1b7ece6ff9c5261f
xor rdx, r9
mov qword [rbp + 0xb8], rdx
mov qword [rbp + 0xc0], rax
lea rdx, [rbp + 0xb8]
sub rsp, 0x20
call fcn.140171e34
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x1c]
mov qword [rbp - 0x18], rdx
mov cl, byte [rcx]
mov dl, 0x42
xor dl, 0x42
cmp cl, dl
sete cl
mov byte [rbp - 0xd], cl
cmp eax, 0x62671ec0
jb 0x1401f7ffb
mov cl, byte [rbp - 0xd]
mov al, 1
test cl, 1
mov byte [rbp + 0x17], al
jne 0x1401f80be
jmp 0x1401f848d
mov word [rbp + 0x11c], 0xf5f
lea rcx, [rbp + 0x11c]
sub rsp, 0x20
call fcn.140067cc0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x68]
mov qword [rbp - 0x28], rcx
mov cl, byte [rax]
mov dl, 0x6c
xor dl, 0x6c
mov al, 1
cmp cl, dl
mov byte [rbp + 0x17], al
jne 0x1401f848d
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp - 0x28]
mov rdx, qword [rax]
mov qword [rbp + 0xa8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xb0], rax
lea rdx, [rbp + 0xa8]
sub rsp, 0x20
call fcn.14001c002
mov rdx, qword [rbp + 0x38]
mov r9, qword [rbp + 0x28]
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x50]
add rsp, 0x20
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
mov r9, qword [r9]
add r9, 0x18
mov qword [rbp - 0x38], r9
mov qword [rax], r8
mov qword [rax + 8], rdx
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x18]
mov r8, qword [rbp + 0x40]
mov rax, qword [rbp + 0x50]
add rsp, 0x20
xor r9d, r9d
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.1401718d0
mov rcx, qword [rbp + 0x68]
add rsp, 0x30
mov dword [rbp - 0x2c], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x17], al
jne 0x1401f848d
sub rsp, 0x20
mov cx, 0x7fb
call fcn.140067b58
mov r8d, dword [rbp - 0x2c]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x68]
mov al, byte [rax]
test al, al
sete cl
movsxd r8, r8d
sub rdx, r8
setl dl
and cl, dl
test cl, 1
mov byte [rbp - 0x39], al
jne 0x1401f81e2
jmp 0x1401f8487
mov eax, dword [0x14024eb68]
mov ecx, dword [0x14024eb6c]
mov edx, 0x3949f9f6
xor edx, 0x71a72680
xor ecx, edx
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0x427504ff
mov edx, 0x50811f75
xor edx, 0x12f41b8a
xor ecx, edx
or eax, ecx
mov ecx, 0x93203630
xor edx, edx
div ecx
mov ecx, 0x653b3e5d
xor ecx, 0x77a4025d
and eax, ecx
cmp eax, 0xbfe5469a
ja 0x1401f86a9
mov eax, dword [0x14024eb70]
mov ecx, dword [0x14024eb74]
xor ecx, 0xb0ff1e62
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x2f45475a
sub ecx, 0xd425251e
mov edx, 0x859981d2
xor edx, 0x7a667e2d
mov eax, ecx
xor eax, edx
mov edx, 0xffffffff
xor edx, 0xddba4eba
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xddba4eba
and ecx, edx
or eax, ecx
mov ecx, 0x3e7cba91
xor ecx, 0xc183456e
xor eax, ecx
mov dword [rbp - 0x40], eax
mov ecx, 0x30
mov edx, 8
sub rsp, 0x20
call fcn.14001bdf0
add rsp, 0x20
mov qword [rbp - 0x48], rax
mov qword [rax], 0
mov dword [rax + 8], 1
mov ecx, 0xce2
sub rsp, 0x20
call fcn.140068370
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp - 0x40]
mov dword [rdx + 0xc], r8d
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x3a], cl
cmp eax, 0xc58b2daf
jbe 0x1401f86a9
mov dl, byte [rbp - 0x3a]
mov cl, 1
xor eax, eax
test dl, 1
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x1401f8317
jmp 0x1401f844b
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov qword [rbp - 0x68], rax
mov word [rbp + 0xa6], 0xca8
lea rcx, [rbp + 0xa6]
sub rsp, 0x20
call fcn.140067cc0
mov rdx, qword [rbp + 0x68]
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x1401f844b
mov rax, qword [rbp - 0x60]
mov rcx, qword [rax]
mov qword [rbp + 0x80], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x88], rax
lea rcx, [rbp + 0x90]
lea rdx, [rbp + 0x80]
sub rsp, 0x20
call fcn.14001c002
mov rcx, qword [rbp + 0x58]
mov rdx, qword [rbp - 0x68]
add rsp, 0x20
mov r8, qword [rbp + 0x90]
mov rax, qword [rbp + 0x98]
mov qword [rdx + 8], r8
mov qword [rdx + 0x10], rax
sub rsp, 0x20
call fcn.14007a830
mov r8, qword [rbp + 0x58]
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov r9, qword [r8]
mov qword [rdx + 0x10], r9
mov r8, qword [r8 + 8]
mov qword [rdx + 0x18], r8
mov dl, byte [rcx]
mov r8b, 0x47
xor r8b, 0x47
mov cl, 1
cmp dl, r8b
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
jne 0x1401f844b
mov rdx, qword [rbp - 0x48]
mov rax, qword [rbp + 0x28]
mov rcx, qword [0x14025a178]
mov qword [rdx + 0x20], rcx
mov rcx, qword [0x14025a180]
mov qword [rdx + 0x28], rcx
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 8
sub rsp, 0x20
call fcn.1400269a1
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x51], cl
mov qword [rbp - 0x50], rax
mov rax, qword [rbp + 0x68]
mov dl, byte [rbp - 0x51]
mov rcx, qword [rbp - 0x50]
mov byte [rbp - 0x69], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401f1cc0
mov rcx, qword [rbp + 0x68]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x39], al
jne 0x1401f8487
mov al, byte [rbp - 0x69]
mov rcx, qword [rbp + 0x68]
mov byte [rcx], al
mov byte [rbp - 0x39], al
mov al, byte [rbp - 0x39]
mov byte [rbp + 0x17], al
mov rcx, qword [rbp + 0x20]
mov al, byte [rbp + 0x17]
mov byte [rbp - 0x6b], al
cmp rcx, 0
mov byte [rbp - 0x6a], al
je 0x1401f860f
mov al, byte [rbp - 0x6b]
mov rcx, qword [rbp + 0x20]
mov rcx, qword [rcx]
movabs r8, 0x4000000000000000
mov rdx, rcx
xor rdx, r8
movabs r8, 0xb4a9e2ac24d5c9ff
movabs r9, 0x4b561d53db2a3600
xor r8, r9
xor rdx, r8
movabs r8, 0x4000000000000000
or rcx, r8
and rcx, rdx
cmp rcx, 0
mov byte [rbp - 0x6a], al
jne 0x1401f860f
mov edx, dword [0x14024eb78]
xor edx, dword [0x14024eb7c]
mov eax, 0x7f0363de
xor eax, 0xc705cfbc
or edx, eax
mov ecx, edx
xor ecx, 0x2cffaf20
mov eax, 0xffffffff
xor eax, 0x2cffaf20
and edx, eax
mov eax, 0xce985e14
xor eax, 0xce985e16
imul eax, edx
sub eax, ecx
mov ecx, eax
and ecx, 0xd31566fd
shl ecx, 1
mov edx, 0x1dc9cbb
xor edx, 0xd2c9fa46
add eax, edx
sub eax, ecx
mov ecx, 0x3cbbc05c
xor ecx, 0x2613db39
cmp eax, ecx
jb 0x1401f86b2
mov rcx, qword [rbp + 0x20]
mov edx, dword [0x14024eb80]
mov r9d, dword [0x14024eb84]
mov eax, 0x18f27b9e
xor eax, 0xe70d8461
mov r10d, r9d
xor r10d, eax
mov r8d, edx
and r8d, r10d
mov eax, edx
or eax, r10d
xor eax, 0xffffffff
imul eax, r8d
mov r8d, edx
and r8d, r9d
or edx, r9d
imul edx, r8d
add edx, eax
xor edx, 0xfe213d2c
mov eax, 0xc5f649cc
xor eax, 0x32ea771d
xor edx, eax
mov eax, edx
xor eax, 0xffffffff
and eax, 0x53025e78
mov r8d, 0xad1c7025
xor r8d, 0xfe1e2e5d
mov r9d, 0x48ed48c5
xor r9d, 0xb712b73a
xor r8d, r9d
and edx, r8d
or eax, edx
mov dword [rbp - 0x70], eax
sub rsp, 0x20
call fcn.14000f4df
mov rcx, qword [rbp + 0x68]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp - 0x6c], cl
cmp eax, 0xa515ff1e
ja 0x1401f855d
mov al, byte [rbp - 0x6c]
mov byte [rbp - 0x6a], al
jmp 0x1401f860f
mov al, byte [rbp - 0x6a]
cmp al, 0
je 0x1401f8697
sub rsp, 0x20
call fcn.1401f482f
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
mov ax, word [rax + 0x12]
mov cx, 0x36c8
xor cx, 0x36c9
cmp ax, cx
jle 0x1401f8697
mov rax, qword [rbp - 0x78]
mov rax, qword [rax + 0x18]
cmp dword [rax + 8], 0xc5722261
jne 0x1401f8697
mov rax, qword [rbp + 0x68]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401f4841
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.14009c190
mov rax, qword [rbp + 0x68]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401f8697
sub rsp, 0x20
call fcn.1401f4895
add rsp, 0x20
lea rsp, [rbp + 0x120]
pop rbp
ret
fisttp word [rsi - 0x13]
mov gs, ecx
push rdx
stc
invalid
in eax, 0x28
xchg ebp, eax
jmp 0x1401f8238
invalid