Function at 0x1400f5280
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x150
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], rcx
mov eax, 0x10
mov qword [rbp + 0x28], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.1400dd2c0
add rsp, 0x20
mov qword [rbp + 0x40], rax
mov ecx, 0x5291
mov edx, 0x8037
sub rsp, 0x20
call fcn.140065320
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x40]
mov word [rbp + 0x4e], cx
cmp byte [rax], 0
jne 0x1400f5d57
mov rcx, qword [rbp + 0x18]
mov ax, word [rbp + 0x4e]
mov dl, al
sub rsp, 0x20
call fcn.1400df3b4
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x40]
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 0x1400f5661
mov eax, dword [0x140251820]
xor eax, 0x4fc5c8fc
mov ecx, dword [0x140251824]
xor ecx, 0xd590e87e
imul eax, ecx
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, 0x49345c5a
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x83e44e61
xor ecx, 0x385ba5fb
and eax, ecx
mov ecx, 0x3bfd511a
xor edx, edx
div ecx
mov ecx, 0x7db66d62
xor ecx, 0xcf12ce7f
cmp eax, ecx
jae 0x1400f5d60
mov eax, dword [0x140251828]
xor eax, 0x826351cb
xor edx, edx
div dword [0x14025182c]
mov ecx, 0x74ef0e15
xor ecx, 0x310a3459
mov edx, 0xa3a07693
xor edx, 0x5c5f896c
xor ecx, edx
add eax, ecx
add eax, 1
mov ecx, 0xd46adf4c
xor ecx, 0x9734da65
add eax, ecx
mov ecx, 0x54ac19a5
xor ecx, 0x9fc7a563
sub eax, ecx
mov ecx, 0xa2a7c2b1
xor ecx, 0xe1f9c798
sub eax, ecx
mov ecx, 0x647bdbce
xor ecx, 0xa8069d25
xor eax, ecx
mov dword [rbp + 0xc], eax
mov eax, 0x59b166dc
xor eax, 0x6d07d903
mov dword [rbp + 0x10], eax
mov ecx, 0x5df5
mov edx, 0x8f12
sub rsp, 0x20
call fcn.140065320
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov cl, byte [rcx]
cmp cl, 0
sete dl
mov byte [rbp + 0x15], dl
cmp cl, 0
mov byte [rbp + 0x16], al
je 0x1400f5435
mov eax, dword [rbp + 0xc]
mov ecx, dword [rbp + 0x10]
mov dl, byte [rbp + 0x16]
mov byte [rbp + 0xb], dl
cmp eax, ecx
ja 0x1400f538f
mov al, byte [rbp + 0x15]
test al, 1
jne 0x1400f5459
jmp 0x1400f563b
mov rcx, qword [rbp + 0x30]
mov qword [rbp + 0xc0], 0
lea rax, [rbp + 0xc0]
add rax, 8
mov qword [rbp - 8], rax
mov qword [rbp + 0xc8], 0
mov word [rcx], 0xaf0
sub rsp, 0x20
call fcn.140061b50
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x40]
mov qword [rbp], rcx
cmp byte [rax], 0
jne 0x1400f563b
mov rax, qword [rbp]
mov rdx, qword [rax]
movabs rax, 0x72dc6ac75e821ccd
movabs rcx, 0x72dc6ac75e821ccc
xor rax, rcx
add rdx, rax
lea rcx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.140019380
mov rax, qword [rbp]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0xb0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xb8], rax
lea rcx, [rbp + 0xc0]
lea rdx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.1400ea4c0
mov dl, byte [rbp + 0xb]
add rsp, 0x20
lea rcx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.1400ed432
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov rdx, qword [rbp + 0xc0]
mov qword [rbp - 0x20], rdx
mov rax, qword [rax]
mov qword [rbp - 0x18], rax
sub rsp, 0x20
call fcn.140019cc0
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov qword [rbp + 0xa0], rdx
mov qword [rbp + 0xa8], rax
lea rdx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.1400ea4c0
mov rax, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x18]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x90], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0x90]
sub rsp, 0x20
call fcn.1400eaff0
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp - 0x18]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 0xb], al
mov dl, 5
xor dl, 5
cmp al, dl
sete dl
mov byte [rbp - 0xa], dl
cmp rcx, 0
mov byte [rbp - 9], al
je 0x1400f5640
mov al, byte [rbp - 0xb]
mov rcx, qword [rbp - 0x18]
mov rcx, qword [rcx]
movabs rdx, 0xe9697e54508606d4
movabs r8, 0xa9697e54508606d4
xor rdx, r8
and rcx, rdx
movabs rdx, 0xc08b843e45774a2f
movabs r8, 0xc08b843e45774a2f
xor rdx, r8
cmp rcx, rdx
mov byte [rbp - 9], al
jne 0x1400f5640
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.14000eec9
mov rax, qword [rbp + 0x40]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 9], al
jmp 0x1400f5640
jmp 0x1400f5d57
mov al, byte [rbp - 0xa]
mov cl, byte [rbp - 9]
and al, 1
movzx eax, al
mov dl, 0xf
xor dl, 0xf
cmp cl, dl
mov qword [rbp - 0x28], rax
je 0x1400f5673
jmp 0x1400f5d57
mov cl, byte [rbp + 0x17]
xor eax, eax
test cl, 1
mov qword [rbp - 0x28], rax
jne 0x1400f5d57
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp - 0x28]
mov qword [rbp - 0x40], rdx
mov rdx, rcx
add rdx, 0x10
mov qword [rbp - 0x38], rdx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x29], al
or al, cl
test al, 1
jne 0x1400f5c44
mov ecx, dword [0x140251830]
mov edx, dword [0x140251834]
xor edx, 0x3d73cf72
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0xb9e17c26
xor r9d, 0x461e83d9
mov r8d, ecx
xor r8d, r9d
or eax, r8d
and eax, edx
mov r8d, 0x1d002d00
xor r8d, 0xe2ffd2ff
xor eax, r8d
and edx, edx
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xde3997ef
xor edx, edx
div ecx
imul eax, eax, 0xda985a53
mov ecx, 0xffffffff
xor ecx, 0x1270ed02
add eax, ecx
add eax, 1
cmp eax, 0x9a36b095
je 0x1400f5d69
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x140251838]
imul eax, dword [0x14025183c]
mov edx, 0x2ab66b0d
xor edx, 0x7c7a39e7
sub eax, edx
mov edx, eax
and edx, 0x562b311a
shl edx, 1
mov r8d, 0xf82dee7c
xor r8d, 0xae06df66
add eax, r8d
sub eax, edx
mov edx, 0x62bf3e19
xor edx, 0x9d40c1e6
mov r8d, eax
xor r8d, edx
and r8d, 0xee257304
mov r9d, 0x18e7e768
xor r9d, 0xf6c2946c
mov edx, 0x485cdcac
xor edx, 0xb7a32353
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0x213d8660
xor r9d, 0xcf18f564
mov r8d, eax
and r8d, r9d
or eax, 0xee257304
imul eax, r8d
add eax, edx
cmp rcx, 0
sete cl
mov byte [rbp - 0x41], cl
cmp eax, 0x99f264b2
je 0x1400f5724
mov al, byte [rbp - 0x41]
test al, 1
jne 0x1400f594a
jmp 0x1400f57de
mov ecx, 0xf232
mov edx, 0x20c3
sub rsp, 0x20
call fcn.140065320
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x40]
mov word [rbp - 0x44], cx
cmp byte [rax], 0
jne 0x1400f5c2c
mov ecx, dword [0x140251840]
mov edx, dword [0x140251844]
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, edx
add eax, ecx
mov ecx, 0xf7a50881
xor ecx, 0xf7a50881
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x92dc7c63
mov r8d, 0xffffffff
xor r8d, 0x92dc7c63
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, 0x92dc7c63
mov edx, 0xeb878151
xor edx, 0x14787eae
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xab922e65
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xed89046a
xor edx, 0x1276fb95
mov eax, ecx
xor eax, edx
and eax, 0x5845e26e
mov edx, 0xffffffff
xor edx, 0x5845e26e
and ecx, edx
or eax, ecx
cmp eax, 0xd5b39ddb
je 0x1400f5d72
mov rcx, qword [rbp + 0x18]
mov eax, dword [0x140251848]
mov edx, 0xa505bab0
xor edx, 0xc3db2576
xor eax, edx
mov r8d, dword [0x14025184c]
mov edx, 0x20dc32b5
xor edx, 0x20dc32b5
sub edx, r8d
add eax, edx
mov r8d, 0xe12e8f91
xor edx, edx
div r8d
mov edx, eax
mov ax, word [rbp - 0x44]
mov r9d, 0xffffffff
xor r9d, 0xaaf5222
mov r8d, edx
and r8d, r9d
mov r9d, edx
xor r9d, 0xaaf5222
add edx, r9d
sub edx, r8d
xor edx, 0xd3a7045e
mov dword [rbp - 0x48], edx
mov edx, 0xaed579f0
xor edx, 0xcc06a2b1
mov dword [rbp - 0x4c], edx
mov dl, al
sub rsp, 0x20
call fcn.1400df3b4
mov ecx, dword [rbp - 0x4c]
mov eax, dword [rbp - 0x48]
add rsp, 0x20
cmp eax, ecx
jb 0x1400f5d72
jmp 0x1400f594a
mov ecx, 0x5df5
mov edx, 0x8f12
sub rsp, 0x20
call fcn.140065320
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x8d
xor dl, 0x8d
cmp cl, dl
sete r8b
mov byte [rbp - 0x4e], r8b
cmp cl, dl
mov byte [rbp - 0x4d], al
je 0x1400f5981
mov al, byte [rbp - 0x4e]
mov cl, byte [rbp - 0x4d]
mov byte [rbp - 0x4f], cl
test al, 1
jne 0x1400f5997
jmp 0x1400f5c2c
mov rcx, qword [rbp + 0x38]
mov qword [rbp + 0x80], 0
lea rax, [rbp + 0x80]
add rax, 8
mov qword [rbp - 0x60], rax
mov qword [rbp + 0x88], 0
mov word [rcx], 0x6e9
sub rsp, 0x20
call fcn.140061b50
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x40]
mov qword [rbp - 0x58], rcx
mov al, byte [rax]
mov cl, 0xbf
xor cl, 0xbf
cmp al, cl
jne 0x1400f5c2c
mov rax, qword [rbp - 0x58]
mov rdx, qword [rax]
mov rax, rdx
and rax, 1
shl rax, 1
movabs rcx, 0x5c4c8b3ff6d81231
movabs r8, 0x5c4c8b3ff6d81230
xor rcx, r8
xor rdx, rcx
add rdx, rax
lea rcx, [rbp + 0x80]
sub rsp, 0x20
call fcn.140019380
mov rax, qword [rbp - 0x58]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x70], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x78], rax
lea rcx, [rbp + 0x80]
lea rdx, [rbp + 0x70]
sub rsp, 0x20
call fcn.1400ea4c0
mov dl, byte [rbp - 0x4f]
add rsp, 0x20
lea rcx, [rbp + 0x80]
sub rsp, 0x20
call fcn.1400ed432
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov rdx, qword [rbp + 0x80]
mov qword [rbp - 0x70], rdx
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
sub rsp, 0x20
call fcn.140019cc0
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov qword [rbp + 0x60], rdx
mov qword [rbp + 0x68], rax
lea rdx, [rbp + 0x60]
sub rsp, 0x20
call fcn.1400ea4c0
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp + 0x18]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x58], rax
lea rcx, [rbp + 0x50]
sub rsp, 0x20
call fcn.1400f3060
mov rax, qword [rbp - 0x68]
add rsp, 0x20
cmp rax, 0
je 0x1400f5c31
mov ecx, dword [0x140251850]
xor ecx, dword [0x140251854]
mov eax, ecx
or eax, 0x6c84c472
mov edx, 0x76c967aa
xor edx, 0x89369855
xor eax, edx
mov edx, 0x4ffbbb0
xor edx, 0x687b7fc2
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x11a7593e
xor edx, edx
div ecx
sub eax, 0x5da8b73e
mov ecx, 0x79807616
xor ecx, 0x7714e24a
cmp eax, ecx
je 0x1400f5d7b
mov r8, qword [rbp - 0x68]
mov ecx, dword [0x140251858]
add ecx, dword [0x14025185c]
mov eax, ecx
xor eax, 0x2e9454f9
xor eax, 0xffffffff
or ecx, 0x2e9454f9
and ecx, eax
mov eax, 0xec04cb66
xor eax, 0x2c72c59a
and ecx, eax
mov edx, 0xa2543049
xor edx, 0x5dabcfb6
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0xda6fa959
mov r9d, 0xffffffff
xor r9d, 0xda6fa959
and edx, r9d
mov r9d, 0xe4f8752c
xor r9d, 0x1b078ad3
xor eax, r9d
xor edx, 0xffffffff
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xda6fa959
and ecx, edx
or eax, ecx
mov ecx, 0xa391536a
xor ecx, 0x5c6eac95
xor eax, ecx
mov ecx, 0xd9e83476
xor ecx, 0x73a658fa
movabs rdx, 0x4000000000000000
and rdx, qword [r8]
cmp rdx, 0
sete dl
mov byte [rbp - 0x71], dl
cmp eax, ecx
jbe 0x1400f5b49
mov al, byte [rbp - 0x71]
test al, 1
jne 0x1400f5c16
jmp 0x1400f5c31
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
jmp 0x1400f5c31
jmp 0x1400f5d57
mov rax, qword [rbp + 0x40]
mov al, byte [rax]
cmp al, 0
je 0x1400f5c4f
jmp 0x1400f5d57
mov al, byte [rbp - 0x29]
test al, 1
jne 0x1400f5d57
mov eax, dword [0x140251860]
mov edx, dword [0x140251864]
xor ecx, ecx
sub ecx, edx
add eax, ecx
and eax, 0xbd4cf447
add eax, 0xe36feaf3
add eax, 0x1657e395
sub eax, 0xe36feaf3
mov r8d, 0xffffffff
xor r8d, 0x421f6f4c
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x5e64d67e
xor r8d, 0x1c7bb932
mov edx, eax
and edx, r8d
mov r8d, 0x1f87dfb7
xor r8d, 0x5d98b0fb
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x18e91380
jb 0x1400f5d84
mov ecx, dword [0x140251868]
and ecx, dword [0x14025186c]
mov edx, 0xffffffff
xor edx, 0xa04402c4
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0xc517c65f
xor ecx, 0x8ba95699
imul eax, ecx
and eax, 0xfc4e68e8
mov dword [rbp - 0x78], eax
mov ecx, 0x9f3e
mov edx, 0x4d9e
sub rsp, 0x20
call fcn.140065320
mov rcx, qword [rbp + 0x40]
add rsp, 0x20
mov dx, ax
mov eax, dword [rbp - 0x78]
mov word [rbp - 0x74], dx
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x72], cl
cmp eax, 0x49ad451c
jb 0x1400f5d84
mov al, byte [rbp - 0x72]
test al, 1
jne 0x1400f5d40
jmp 0x1400f5d57
mov rcx, qword [rbp + 0x18]
mov ax, word [rbp - 0x74]
mov dl, al
sub rsp, 0x20
call fcn.1400df3b4
add rsp, 0x20
lea rsp, [rbp + 0xd0]
pop rbp
ret
or eax, 0x26e92595
idiv bh
call qword [rdx + 0x7d]
test eax, 0xf9b2e9d6
invalid
push rdx
jge 0x1400f5d15
invalid
pop rbx
movabs al, byte [0x19fffffb34e93d67]
pop rdx
invalid
sbb dword [rdx + 0x2f], ebx
jmp 0x1400f5b49
invalid