Function at 0x1400d57a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x190
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], r8
mov qword [rbp], rdx
mov qword [rbp + 8], rcx
mov eax, 0x20
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x10], rax
mov eax, 0x10
mov qword [rbp + 0x28], rax
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x40], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x18], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x20], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, qword [rbp + 0x28]
mov rcx, rsp
mov qword [rbp + 0x30], rcx
call fcn.1401d7280
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.1400d63e0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x100], 0
lea rdx, [rbp + 0x100]
add rdx, 8
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x108], 0
mov qword [rax], 0
mov rdx, rax
add rdx, 8
mov qword [rbp + 0x58], rdx
mov qword [rax + 8], 0
mov qword [rbp + 0xf0], 0
lea rax, [rbp + 0xf0]
add rax, 8
mov qword [rbp + 0x60], rax
mov qword [rbp + 0xf8], 0
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0x6f], al
jne 0x1400d5fbc
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
mov qword [rbp + 0xe0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xe8], rax
lea rcx, [rbp + 0xf0]
lea rdx, [rbp + 0xe0]
sub rsp, 0x20
call fcn.140060c80
add rsp, 0x20
mov rcx, qword [rbp + 0xf0]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x18], rax
xor eax, eax
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x20], rax
mov eax, dword [0x1401ddcf0]
xor eax, 0x162de7b2
mov edx, dword [0x1401ddcf4]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
imul ecx, eax, 0x19ebe7a5
mov eax, 0x68592e86
xor eax, 0x16e6ff77
sub ecx, eax
mov eax, ecx
and eax, 0x8df9b22f
xor ecx, 0x8df9b22f
or eax, ecx
cmp eax, 0xe27fc106
ja 0x1400d639e
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
mov r8d, dword [0x1401ddcf8]
mov eax, dword [0x1401ddcfc]
xor eax, 0xc8832afa
sub r8d, eax
mov r9d, 0xf01ed944
xor r9d, 0xfe126bb
mov eax, r8d
xor eax, r9d
and eax, 0x9308d06d
mov r9d, 0xffffffff
xor r9d, 0x9308d06d
and r8d, r9d
or eax, r8d
imul eax, eax, 0x2e7368de
xor eax, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x3bc6fbd
mov r8d, 0x21dd4367
xor r8d, 0xa7901959
mov r10d, 0x6b4a2404
xor r10d, 0x94b5dbfb
xor r8d, r10d
or eax, r9d
or r8d, 0x864d5a3e
xor eax, 0xffffffff
and eax, r8d
cmp rcx, rdx
sete cl
mov byte [rbp - 0x21], cl
cmp eax, 0x456685b5
jae 0x1400d639e
mov al, byte [rbp - 0x21]
test al, 1
jne 0x1400d5fb3
jmp 0x1400d5a0b
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp + 0xf0]
cmp rcx, rax
mov qword [rbp - 0x30], rax
jge 0x1400d5eb8
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
add rax, 8
shl rcx, 5
add rax, rcx
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x100]
sub rsp, 0x20
call fcn.14001850a
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
mov rax, qword [rbp + 0xf0]
cmp rcx, rax
mov qword [rbp - 0x30], rax
jge 0x1400d5eb8
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x40]
mov r8, qword [rbp - 0x20]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
add rax, 8
shl r8, 5
add rax, r8
add rax, 0x10
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001850a
mov rax, qword [rbp]
add rsp, 0x20
mov rcx, qword [rbp + 0x100]
mov qword [rbp + 0xd0], rcx
mov rcx, qword [rbp + 0x108]
mov qword [rbp + 0xd8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0xc0], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0xc8], rax
lea rcx, [rbp + 0xd0]
lea rdx, [rbp + 0xc0]
sub rsp, 0x20
call fcn.14003b860
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x48]
mov qword [rbp - 0x38], rcx
mov al, byte [rax]
mov cl, 0x84
xor cl, 0x84
cmp al, cl
jne 0x1400d5fb3
mov rax, qword [rbp - 0x38]
cmp rax, 0
jne 0x1400d5dd4
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp + 8]
mov rax, qword [rax]
cmp rcx, rax
mov qword [rbp - 0x30], rax
jge 0x1400d5eb8
mov rax, qword [rbp - 8]
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp + 8]
mov rcx, qword [rcx + 8]
add rcx, 8
shl rdx, 5
add rcx, rdx
add rcx, 0x10
mov rdx, qword [rax]
mov qword [rbp + 0xb0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xb8], rax
lea rdx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.14001850a
mov rcx, qword [rbp + 0x30]
add rsp, 0x20
mov rax, qword [rbp + 0xf0]
mov qword [rcx], rax
mov rax, qword [rbp + 0xf8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140060dd0
mov rax, qword [rbp + 0x48]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400d62ea
mov rax, qword [rbp + 0x58]
mov rax, qword [rax]
mov qword [rbp - 0x40], rax
cmp rax, 0
je 0x1400d5c00
mov rcx, qword [rbp - 0x40]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1400d5c00
mov rcx, qword [rbp - 0x40]
sub rsp, 0x20
call fcn.14000de03
add rsp, 0x20
mov rax, qword [rbp + 0x50]
mov rax, qword [rax]
mov qword [rbp - 0x48], rax
cmp rax, 0
je 0x1400d62ea
mov eax, dword [0x1401ddd00]
sub eax, dword [0x1401ddd04]
imul eax, eax, 0xe4fb2a2b
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xef908c9b
xor edx, 0xa788142d
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x481898b6
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x481898b6
or eax, 0x481898b6
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x9049bd0e
mov edx, 0x26d0d912
xor edx, 0xb699641c
mov r8d, 0x324aed35
xor r8d, 0xcdb512ca
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
cmp eax, 0x314919b3
jb 0x1400d63a7
mov rcx, qword [rbp - 0x48]
mov eax, dword [0x1401ddd08]
mov edx, dword [0x1401ddd0c]
xor edx, 0x44607b12
add eax, 0x5c63e426
sub eax, edx
sub eax, 0x5c63e426
or eax, eax
xor eax, 0xffffffff
mov edx, 0x8fec7b6e
or edx, 0x8fec7b6e
xor edx, 0xffffffff
mov r8d, 0xb6294787
xor r8d, 0x49d6b878
xor eax, r8d
mov r8d, 0x8ff5921e
xor r8d, 0x700a6de1
xor edx, r8d
and eax, edx
and eax, 0x7df6680b
mov r8d, 0xc831cefd
xor r8d, 0x372fbf93
xor edx, edx
div r8d
mov rcx, qword [rcx]
movabs rdx, 0x8158c020951bd856
movabs r8, 0x7ea73fdf6ae427a9
xor rdx, r8
xor rcx, rdx
movabs r8, 0x6abf3f5cfceed2e7
movabs rdx, 0x2abf3f5cfceed2e7
xor r8, rdx
movabs rdx, 0xcccaeea2ca544532
movabs r9, 0x3335115d35abbacd
xor rdx, r9
xor r8, rdx
movabs rdx, 0xdf6b6ead27f79470
movabs r9, 0x382a244103371298
xor rdx, r9
movabs r9, 0xa60058595789c346
movabs r10, 0x59ffa7a6a8763cb9
xor r9, r10
xor rdx, r9
or rcx, r8
movabs r8, 0xe7414aec24c086e8
or rdx, r8
xor rcx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
sete cl
mov byte [rbp - 0x49], cl
cmp eax, 0xa8332481
je 0x1400d63a7
mov al, byte [rbp - 0x49]
test al, 1
jne 0x1400d5dbe
jmp 0x1400d62ea
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14000de03
add rsp, 0x20
jmp 0x1400d62ea
mov eax, dword [0x1401ddd10]
mov ecx, dword [0x1401ddd14]
mov edx, eax
xor edx, 0xffffffff
mov r8d, ecx
and r8d, edx
xor ecx, 0xffffffff
and eax, ecx
or r8d, eax
and r8d, 0xf93b84d3
mov eax, r8d
xor eax, 0xffffffff
and eax, 0xe093b533
mov edx, 0xffffffff
xor edx, 0xe093b533
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0xed5b47d0
and ecx, 0xe093b533
and edx, 0xed5b47d0
or eax, r8d
or ecx, edx
xor eax, ecx
or eax, 0xa8f7d6cb
cmp eax, 0x6312cca5
je 0x1400d63b0
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x1401ddd18]
mov edx, dword [0x1401ddd1c]
xor edx, 0xd86fbb74
imul eax, edx
xor eax, 0x581e3b84
add eax, 0x7c81ac8b
mov edx, 0xd884f0c1
xor edx, 0x98204e34
xor eax, edx
movabs rdx, 0xaf221619573a1dea
movabs r8, 0x2dac767b3446403c
xor rdx, r8
add rcx, rdx
add rcx, 1
movabs rdx, 0x828e6062637c5dd6
sub rcx, rdx
mov qword [rbp - 0x58], rcx
cmp eax, 0x5276fd42
je 0x1400d5e41
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x10], rax
jmp 0x1400d590c
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x60], rax
mov eax, dword [0x1401ddd20]
xor edx, edx
div dword [0x1401ddd24]
mov ecx, 0x4dd62bc2
xor ecx, 0xbcf5476
xor edx, edx
div ecx
mov edx, eax
mov eax, edx
and eax, 0x1e35df45
xor eax, 0xffffffff
add edx, 0x1e35df45
add edx, 1
add edx, eax
mov ecx, edx
xor ecx, 0x143c6cce
mov eax, 0xffffffff
xor eax, 0x143c6cce
and edx, eax
mov eax, 0xca313ad
xor eax, 0xca313af
imul eax, edx
sub eax, ecx
cmp eax, 0x5e075fb9
ja 0x1400d63b9
mov rcx, qword [rbp - 0x20]
mov edx, dword [0x1401ddd28]
mov r8d, dword [0x1401ddd2c]
mov eax, 0xbe925c80
xor eax, 0x416da37f
mov r9d, edx
xor r9d, eax
mov eax, r8d
and eax, r9d
mov r9d, 0x79b64254
xor r9d, 0x8649bdab
xor r8d, r9d
and edx, r8d
or eax, edx
imul eax, eax, 0x1ed19e6c
sub eax, 0xcf6b2c62
mov r8d, 0x51a6b067
xor r8d, 0x873d2f32
xor edx, edx
div r8d
mov rdx, qword [rbp - 0x60]
mov dword [rbp - 0x64], eax
mov eax, 0xa1b41026
xor eax, 0x12c9d591
mov dword [rbp - 0x68], eax
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140012270
mov ecx, dword [rbp - 0x68]
mov eax, dword [rbp - 0x64]
add rsp, 0x20
cmp eax, ecx
je 0x1400d5f22
jmp 0x1400d5fb3
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 - 0x6a], cl
mov dl, 0x55
xor dl, 0x55
cmp cl, dl
sete cl
mov byte [rbp - 0x69], cl
mov byte [rax], 0
mov rax, qword [rbp + 0xf0]
mov qword [rbp + 0xa0], rax
mov rax, qword [rbp + 0xf8]
mov qword [rbp + 0xa8], rax
lea rcx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.140060dd0
mov rax, qword [rbp + 0x48]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1400d62e5
mov eax, dword [0x1401ddd30]
mov ecx, dword [0x1401ddd34]
xor ecx, 0xc30f94e7
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xdff551cf
mov edx, 0xffffffff
xor edx, 0xdff551cf
and eax, edx
or ecx, eax
mov eax, 0xcb263941
xor eax, 0x642805ab
add ecx, eax
mov eax, ecx
and eax, 0xa18fa50a
or ecx, 0xa18fa50a
add eax, ecx
cmp eax, 0x8bd87a4e
jae 0x1400d63c2
mov rcx, qword [rbp + 0x58]
mov eax, dword [0x1401ddd38]
or eax, dword [0x1401ddd3c]
mov edx, 0x84ee2442
xor edx, 0xc299bbad
sub eax, edx
mov edx, 0xa93c443b
xor edx, 0x1316ff77
add eax, edx
add eax, 0x46779fef
imul eax, eax, 0xfa7b6c50
mov r9d, 0xffffffff
xor r9d, 0x61e84fe1
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r9d, 0x2e5e951b
xor r9d, 0x4fb6dafa
mov r8d, eax
and r8d, r9d
or eax, 0x61e84fe1
imul eax, r8d
add eax, edx
mov rcx, qword [rcx]
mov qword [rbp - 0x78], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x6b], cl
cmp eax, 0xb6d42c42
jae 0x1400d6069
mov al, byte [rbp - 0x6b]
test al, 1
jne 0x1400d6149
jmp 0x1400d6107
mov rcx, qword [rbp - 0x78]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x1cd2d6641c6c8e4a
movabs rdx, 0x1cd2d6641c6c8e4a
xor rcx, rdx
cmp rax, rcx
jne 0x1400d6149
mov rcx, qword [rbp - 0x78]
sub rsp, 0x20
call fcn.14000de03
add rsp, 0x20
mov rax, qword [rbp + 0x50]
mov rax, qword [rax]
mov qword [rbp - 0x80], rax
cmp rax, 0
je 0x1400d618a
mov rcx, qword [rbp - 0x80]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x1400d618a
mov rcx, qword [rbp - 0x80]
sub rsp, 0x20
call fcn.14000de03
add rsp, 0x20
mov eax, dword [0x1401ddd40]
mov ecx, dword [0x1401ddd44]
xor ecx, 0xde649f13
xor eax, ecx
add eax, 0x37f6f2cd
sub eax, 0xcb7e8dbb
sub eax, 0x37f6f2cd
xor eax, 0x68623c68
imul eax, eax, 0x85650c72
cmp eax, 0xa34e1ab5
ja 0x1400d63cb
mov rdx, qword [rbp + 0x48]
mov r8b, byte [rbp - 0x6a]
mov ecx, dword [0x1401ddd48]
mov eax, dword [0x1401ddd4c]
mov r9d, 0xa2421be6
xor r9d, 0x5dbde419
mov r10d, ecx
xor r10d, r9d
mov r9d, 0x109df391
xor r9d, 0xef620c6e
xor ecx, r9d
or r10d, ecx
and eax, eax
mov ecx, 0x80e30334
xor ecx, 0x7f1cfccb
xor eax, ecx
and r10d, eax
xor r10d, 0xffffffff
mov eax, 0x379d3879
xor eax, 0x5a663feb
sub r10d, eax
mov ecx, r10d
xor ecx, 0xffffffff
and ecx, 0x42ac65f1
mov r9d, 0xffffffff
xor r9d, 0x42ac65f1
mov eax, r10d
and eax, r9d
imul eax, ecx
mov r9d, 0xb3f2c026
xor r9d, 0xf15ea5d7
mov ecx, r10d
and ecx, r9d
mov r9d, 0xca0d2920
xor r9d, 0x88a14cd1
or r10d, r9d
imul r10d, ecx
add r10d, eax
mov ecx, 0xa2b3df17
xor ecx, 0x5d4c20e8
mov eax, r10d
xor eax, ecx
and eax, 0x2730b790
mov r9d, 0x62857ec3
xor r9d, 0x45b5c953
mov ecx, 0xf237ab06
xor ecx, 0xdc854f9
xor r9d, ecx
and r10d, r9d
mov ecx, 0xffffffff
xor ecx, 0x5ed65b7f
and ecx, 0x2730b790
and r9d, 0x5ed65b7f
or eax, r10d
or ecx, r9d
xor eax, ecx
mov ecx, 0x7de81632
xor ecx, 0x1e7123fb
mov byte [rdx], r8b
cmp eax, ecx
je 0x1400d61c3
mov al, byte [rbp - 0x69]
test al, 1
jne 0x1400d62ef
jmp 0x1400d62e5
jmp 0x1400d6395
jmp 0x1400d6395
mov rax, qword [rbp + 0x48]
cmp byte [rax], 0
jne 0x1400d6395
mov rdx, qword [rbp + 0x38]
mov rax, qword [rbp]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x90]
sub rsp, 0x20
call fcn.14001b4f8
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov r8, qword [rbp + 0x90]
mov rdx, qword [rbp + 0x98]
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.14001b4f8
mov rcx, qword [rbp + 8]
mov rdx, qword [rbp + 0x10]
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.14001d870
add rsp, 0x20
lea rsp, [rbp + 0x110]
pop rbp
ret
invalid
sub esp, ebp
cmp ecx, dword [rdx]
jmp 0x1400d5c95
sbb dword [rsi + 0x14], eax
ret 0x88e9
sub ecx, dword [rsi + 0x52]
invalid
neg cl
push rdi
push 0xffffffffffffffe9
sahf
cld
invalid
jmp qword [rcx + 0x16]