Function at 0x1400cda80
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1c0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x10], r8
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], rcx
mov eax, 0x20
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x28], rax
mov eax, 0x10
mov qword [rbp + 0x30], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0x30]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
sub rsp, 0x20
call fcn.1400ce74a
add rsp, 0x20
mov rcx, rax
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x130], 0
lea rax, [rbp + 0x130]
add rax, 8
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x138], 0
mov qword [rbp + 0x120], 0
lea rax, [rbp + 0x120]
add rax, 8
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x128], 0
mov qword [rbp + 0x110], 0
lea rax, [rbp + 0x110]
add rax, 8
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x118], 0
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x6f], al
jne 0x1400ce2d0
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
mov qword [rbp + 0x100], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x108], rax
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x100]
sub rsp, 0x20
call fcn.14005ddf0
add rsp, 0x20
mov rcx, qword [rbp + 0x110]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp], rax
xor eax, eax
mov qword [rbp + 8], rax
mov rcx, qword [rbp]
mov rax, qword [rbp + 8]
mov qword [rbp - 8], rax
cmp rax, rcx
je 0x1400ce2c7
mov rcx, qword [rbp - 8]
mov rax, qword [rbp + 0x110]
cmp rcx, rax
mov qword [rbp - 0x10], rax
jge 0x1400ce1d6
mov rcx, qword [rbp - 8]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
mov rcx, qword [rax]
mov qword [rbp + 0xf0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 0x130]
lea rdx, [rbp + 0xf0]
sub rsp, 0x20
call fcn.14001976a
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov rax, qword [rbp + 0x110]
cmp rcx, rax
mov qword [rbp - 0x10], rax
jge 0x1400ce1d6
mov rcx, qword [rbp - 8]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
add rax, 0x10
mov rcx, qword [rax]
mov qword [rbp + 0xe0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe8], rax
lea rcx, [rbp + 0x120]
lea rdx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.14001976a
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x40]
add rsp, 0x20
mov r8, qword [rbp + 0x130]
mov qword [rcx], r8
mov r8, qword [rbp + 0x138]
mov qword [rcx + 8], r8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14003f3b0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x48]
mov qword [rbp - 0x18], rcx
cmp byte [rax], 0
jne 0x1400ce2c7
mov rax, qword [rbp - 0x18]
cmp rax, 0
jne 0x1400ce10a
mov eax, dword [0x1401da780]
xor eax, 0xbde7da06
mov ecx, dword [0x1401da784]
mov edx, 0xa797ccad
xor edx, 0xf7c9e1ed
sub eax, edx
add eax, ecx
add eax, 0x505e2d40
xor eax, 0x6aa60281
mov edx, 0x69a7aa80
xor edx, 0x469fee37
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0x2f3844b7
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xabc191a9
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xed25580f
xor r8d, 0x12daa7f0
xor ecx, r8d
imul ecx, edx
mov r8d, 0x31c74f1b
xor r8d, 0x9a06deb2
mov edx, eax
and edx, r8d
or eax, 0xabc191a9
imul eax, edx
add eax, ecx
mov ecx, 0x57a60ba5
xor ecx, 0x50df6db6
cmp eax, ecx
jbe 0x1400ce702
mov rcx, qword [rbp - 8]
mov eax, dword [0x1401da788]
mov r9d, dword [0x1401da78c]
mov edx, 0x94d65adc
xor edx, 0x6b29a523
mov r10d, r9d
xor r10d, edx
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov edx, 0xae0abdc0
xor edx, 0xa3ab33a6
sub eax, edx
mov r9d, 0xffffffff
xor r9d, 0x6bd4d088
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r9d, 0x8dc6b834
xor r9d, 0xe61268bc
mov r8d, eax
and r8d, r9d
or eax, 0x6bd4d088
imul eax, r8d
add eax, edx
mov r8d, 0xfbe6bf7b
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x20]
mov rdx, qword [rdx]
mov qword [rbp - 0x28], rdx
cmp rcx, rdx
setl cl
mov byte [rbp - 0x19], cl
cmp eax, 0xd90afbd2
je 0x1400cdd89
mov rax, qword [rbp - 0x28]
mov cl, byte [rbp - 0x19]
test cl, 1
mov qword [rbp - 0x10], rax
jne 0x1400cde59
jmp 0x1400ce1d6
mov rax, qword [rbp + 0x10]
mov rdx, qword [rbp - 8]
mov rcx, qword [rbp + 0x20]
mov rcx, qword [rcx + 8]
add rcx, 8
shl rdx, 5
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rax]
mov qword [rbp + 0xd0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd8], rax
lea rdx, [rbp + 0xd0]
sub rsp, 0x20
call fcn.14001976a
add rsp, 0x20
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0xc0], rax
mov rax, qword [rbp + 0x118]
mov qword [rbp + 0xc8], rax
lea rcx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.14005df00
mov rax, qword [rbp + 0x48]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400ce63e
mov eax, dword [0x1401da790]
xor eax, 0x7719c193
mov r8d, dword [0x1401da794]
xor r8d, 0x87aa6fe9
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0xd3d374e1
xor eax, 0x678018aa
add eax, 0x52913ea4
add eax, 0x30ab8a30
sub eax, 0x52913ea4
mov ecx, 0x9de8bcfe
xor ecx, 0x2a80229b
cmp eax, ecx
je 0x1400ce70b
mov rcx, qword [rbp + 0x58]
mov eax, dword [0x1401da798]
xor eax, 0x68eb7e67
mov r8d, dword [0x1401da79c]
xor r8d, 0x3a9f030a
xor edx, edx
div r8d
or eax, 0x933fdd9f
mov r8d, 0x89023f82
xor edx, edx
div r8d
add eax, 0x270d438a
mov rcx, qword [rcx]
mov qword [rbp - 0x38], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x29], cl
cmp eax, 0xfd447570
je 0x1400cdf47
mov al, byte [rbp - 0x29]
test al, 1
jne 0x1400cdfe6
jmp 0x1400cdfaa
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
movabs rcx, 0x401a25622d832575
movabs rdx, 0x1a25622d832575
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1400cdfe6
mov rcx, qword [rbp - 0x38]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
mov eax, dword [0x1401da7a0]
mov ecx, dword [0x1401da7a4]
xor ecx, 0xa8d8ebca
imul eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x3f3dd48e
mov ecx, 0xffffffff
xor ecx, 0xaed2393a
or eax, edx
or ecx, 0xaed2393a
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x232a1da0
xor ecx, 0x1121dd2c
or eax, ecx
add eax, 0xadb8a302
mov ecx, 0xda24e403
xor ecx, 0xc48fa787
cmp eax, ecx
jbe 0x1400ce714
mov rcx, qword [rbp + 0x50]
mov eax, dword [0x1401da7a8]
mov r9d, dword [0x1401da7ac]
xor r9d, 0xdce6de8d
mov r10d, r9d
xor r10d, 0xffffffff
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
sub eax, 0x9de02be7
mov edx, 0xec38374e
xor edx, 0xdcfceee7
and eax, edx
xor eax, 0x60e0b69e
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x39], cl
cmp eax, 0x9a224358
je 0x1400ce046
mov al, byte [rbp - 0x39]
test al, 1
jne 0x1400ce63e
jmp 0x1400ce0c9
mov rax, qword [rbp - 0x48]
mov rax, qword [rax]
movabs rcx, 0x4137d32ed6fc0ab4
movabs rdx, 0x137d32ed6fc0ab4
xor rcx, rdx
and rax, rcx
cmp rax, 0
jne 0x1400ce63e
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
jmp 0x1400ce63e
mov eax, dword [0x1401da7b0]
sub eax, dword [0x1401da7b4]
imul ecx, eax, 0xe36d29de
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xa9403a9b
mov edx, 0xffffffff
xor edx, 0xa9403a9b
and ecx, edx
or eax, ecx
mov ecx, 0xb28cc127
xor ecx, 0xa27425db
and eax, ecx
cmp eax, 0xc1ba93c2
jae 0x1400ce71d
mov eax, dword [0x1401da7b8]
xor edx, edx
div dword [0x1401da7bc]
mov ecx, eax
sub ecx, 0x97227fb9
mov edx, 0x4bb4aaf9
xor edx, 0x17b6f683
mov eax, ecx
and eax, edx
xor ecx, 0x5c025c7a
or eax, ecx
mov ecx, 0xeca02aeb
xor edx, edx
div ecx
mov rdx, qword [rbp - 8]
mov ecx, 0x6cc89679
xor ecx, 0x22104db3
movabs r8, 0xf065e9c008668fa4
movabs r9, 0x77cfc9eaf3205449
xor r8, r9
sub rdx, r8
add rdx, 1
movabs r8, 0x87aa202afb46dbed
add rdx, r8
mov qword [rbp - 0x50], rdx
cmp eax, ecx
je 0x1400ce14d
mov rax, qword [rbp - 0x50]
mov qword [rbp + 8], rax
jmp 0x1400cdbba
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x58], rax
mov eax, dword [0x1401da7c0]
xor eax, dword [0x1401da7c4]
and eax, 0xa8763a49
mov ecx, 0xe5cfa596
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
and eax, 0x87cd844d
mov edx, 0xce44116c
xor edx, 0x31bbee93
xor eax, edx
mov edx, 0x53ed705f
xor edx, 0xac128fa0
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x87cd844d
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x9656a8cd
je 0x1400ce726
mov rcx, qword [rbp - 8]
mov rax, qword [rbp - 0x58]
mov edx, dword [0x1401da7c8]
xor edx, 0x392488d3
and edx, dword [0x1401da7cc]
xor edx, 0x9d105ecb
mov r10d, 0xffffffff
xor r10d, 0x60e9ba81
mov r9d, edx
and r9d, r10d
mov r8d, edx
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, edx
and r9d, 0x60e9ba81
or edx, 0x60e9ba81
imul edx, r9d
add edx, r8d
and edx, 0x580d7d00
mov dword [rbp - 0x5c], edx
mov rdx, rax
and rdx, 0xffffffffffffffff
or rax, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.140013580
mov eax, dword [rbp - 0x5c]
add rsp, 0x20
cmp eax, 0x100f4cd
je 0x1400ce726
jmp 0x1400ce2c7
mov rax, qword [rbp + 0x48]
mov al, byte [rax]
mov byte [rbp + 0x6f], al
mov rax, qword [rbp + 0x48]
mov cl, byte [rbp + 0x6f]
mov byte [rbp - 0x5e], cl
cmp cl, 0
sete cl
mov byte [rbp - 0x5d], cl
mov byte [rax], 0
mov rax, qword [rbp + 0x110]
mov qword [rbp + 0xb0], rax
mov rax, qword [rbp + 0x118]
mov qword [rbp + 0xb8], rax
lea rcx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.14005df00
mov rax, qword [rbp + 0x48]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400ce639
mov rax, qword [rbp + 0x58]
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x1400ce473
mov ecx, dword [0x1401da7d0]
mov edx, dword [0x1401da7d4]
xor edx, 0x76b89cfd
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
sub eax, 0x7807d19d
sub eax, 0xed4bedbe
mov ecx, 0x359beb50
xor ecx, 0x359beb50
mov edx, 0xe1e9eedf
xor edx, 0xd280327c
sub ecx, edx
add eax, ecx
mov ecx, 0x5604b85f
xor ecx, 0x460525d2
cmp eax, ecx
jbe 0x1400ce72f
mov rdx, qword [rbp - 0x68]
mov ecx, dword [0x1401da7d8]
mov r8d, dword [0x1401da7dc]
xor r8d, 0xe4bec152
xor eax, eax
sub eax, ecx
xor ecx, ecx
sub ecx, r8d
add eax, ecx
mov ecx, 0xb168325
xor ecx, 0xb168325
sub ecx, eax
and ecx, 0x60d7fa64
mov eax, ecx
and eax, 0xd8d7b060
xor eax, 0xffffffff
mov r8d, 0x275bc1f6
xor r8d, 0xff8c7196
and ecx, r8d
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x558161ca
xor ecx, 0xaa7e9e35
xor eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xe55bbbda
mov ecx, eax
and ecx, r8d
mov r9d, 0x159eb5bb
xor r9d, 0xf0c50e61
mov r8d, eax
xor r8d, r9d
add eax, r8d
sub eax, ecx
mov ecx, 0xc2be88ff
xor ecx, 0xea45965
mov r8, qword [rdx]
mov r9, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor r9, rdx
mov rdx, r8
xor rdx, r9
and rdx, r8
cmp rdx, 0
sete dl
mov byte [rbp - 0x69], dl
cmp eax, ecx
je 0x1400ce72f
mov al, byte [rbp - 0x69]
test al, 1
jne 0x1400ce462
jmp 0x1400ce473
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
mov eax, dword [0x1401da7e0]
mov ecx, dword [0x1401da7e4]
xor ecx, 0x70245d21
imul eax, ecx
imul eax, eax, 0x7a5811c
mov ecx, 0x3cf63b44
xor edx, edx
div ecx
and eax, 0x8dd6c7b
cmp eax, 0x8fa25776
je 0x1400ce738
mov rcx, qword [rbp + 0x50]
mov eax, dword [0x1401da7e8]
mov edx, dword [0x1401da7ec]
sub eax, 0xaca7fc34
sub eax, edx
add eax, 0xaca7fc34
mov edx, 0x49e4fbc6
xor edx, 0xb61b0439
mov r8d, eax
xor r8d, edx
and r8d, 0xd7e07f2d
mov r9d, 0xffffffff
xor r9d, 0xd7e07f2d
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xd7e07f2d
or eax, 0xd7e07f2d
imul eax, r8d
add eax, edx
mov edx, 0x7bd3d40b
xor edx, 0x8200f47
xor eax, edx
or eax, 0xf289901a
mov rcx, qword [rcx]
mov qword [rbp - 0x78], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x6a], cl
cmp eax, 0x11e3e097
je 0x1400ce738
mov al, byte [rbp - 0x6a]
test al, 1
jne 0x1400ce570
jmp 0x1400ce544
mov rcx, qword [rbp - 0x78]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1400ce570
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
mov eax, dword [0x1401da7f0]
xor eax, 0xd1b33222
xor eax, dword [0x1401da7f4]
mov ecx, eax
add ecx, 1
mov edx, 0xa3945dd6
xor edx, 0x5c6ba229
xor eax, edx
or eax, 0x4af9bed4
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xe010c72f
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xe010c72f
mov r8d, 0x665c0d92
xor r8d, 0x864ccabd
or eax, r8d
imul eax, edx
add eax, ecx
add eax, 0xfdf2b4c7
mov ecx, 0xbd028d1f
xor ecx, 0x7495e69f
cmp eax, ecx
jb 0x1400ce741
mov r8b, byte [rbp - 0x5e]
mov eax, dword [0x1401da7f8]
xor eax, dword [0x1401da7fc]
and eax, 0xe9f19e18
mov ecx, 0xe8c68ef
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x48]
xor eax, 0xfcd67633
mov ecx, 0xd7489fc7
xor ecx, 0xb8b0a61e
mov byte [rdx], r8b
cmp eax, ecx
je 0x1400ce5ec
mov al, byte [rbp - 0x5d]
test al, 1
jne 0x1400ce643
jmp 0x1400ce639
jmp 0x1400ce6f9
jmp 0x1400ce6f9
mov rax, qword [rbp + 0x48]
mov al, byte [rax]
mov cl, 0x94
xor cl, 0x94
cmp al, cl
jne 0x1400ce6f9
mov rax, qword [rbp + 0x18]
mov rcx, qword [rax]
mov qword [rbp + 0x90], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0xa0]
lea rdx, [rbp + 0x90]
sub rsp, 0x20
call fcn.14001d024
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov r8, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xa8]
mov qword [rcx], r8
mov qword [rcx + 8], rdx
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.14001d024
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x28]
add rsp, 0x20
mov r8, qword [rbp + 0x80]
mov rax, qword [rbp + 0x88]
mov qword [rdx + 0x10], r8
mov qword [rdx + 0x18], rax
sub rsp, 0x20
call fcn.14001f4f0
add rsp, 0x20
lea rsp, [rbp + 0x140]
pop rbp
ret
add byte [rbp - 0x3d], bl
call qword [rdi - 0x40]
shr cl, 1
jle 0x1400ce6ff
invalid
adc al, 0xfe
cmp eax, 0xf833e9da
invalid
not bl
pop rbp
jmp 0x1400ce046
stosb byte [rdi], al
invalid
add esi, dword [rsi + 0x9e9d847]
sti
invalid
stosb byte [rdi], al
pop rsp
fcomp dword [rdi]
jmp 0x1400ce389
sub byte [rbp + 0x66e99858], al
std
invalid
add eax, dword [rax]
test eax, 0xfea2e9ff
invalid