Function at 0x140062e80
Capabilities:
Encode data using base64
Encrypt data using chaskey

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x50]
mov r10, rdx
mov qword [rbp - 0x40], rcx
mov rax, qword [0x1402c78a0]
movabs rbx, 0xb5c25de1655ff80b
mov eax, dword [rax + rbx]
mov rcx, qword [0x1402c78a8]
mov ecx, dword [rcx + rbx]
imul eax, eax, 0x9103f251
imul ecx, ecx, 0xd1a2ec2a
lea eax, [rax + rcx - 0x761e35dd]
shl rax, 8
call fcn.1400db970
sub rsp, rax
mov rcx, rsp
mov qword [rbp], rcx
mov rax, qword [0x1402c78b0]
mov eax, dword [rax + rbx]
mov rdx, qword [0x1402c78b8]
mov edx, dword [rdx + rbx]
shld eax, edx, 6
xor eax, 0xd9558036
shl rax, 8
call fcn.1400db970
sub rsp, rax
mov rax, rsp
mov r15, rax
mov rdx, qword [0x1402c78c0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c78c8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x15
movabs r8, 0xe4054171d5bb89cd
xor rdx, r8
mov qword [rcx], rdx
mov rdx, qword [0x1402c78d0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c78d8]
mov r8, qword [r8 + rbx]
movabs r9, 0xf0aa02887ad1a57d
imul rdx, r9
movabs r9, 0x4c0c6ffa91d5c76d
imul r8, r9
add rdx, r8
movabs r8, 0xfae7367a6033e5a0
add rdx, r8
mov qword [rax], rdx
mov rdx, qword [0x1402c78e0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c78e8]
mov r8, qword [r8 + rbx]
movabs r9, 0x27133a6777edd8f5
imul rdx, r9
movabs r9, 0x883e07c54ba4522d
imul r8, r9
add rdx, r8
movabs r8, 0x1209edcfa2c6a98f
add rdx, r8
mov qword [rcx + 8], rdx
mov rdx, qword [0x1402c78f0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c78f8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x27
movabs r8, 0xa6071751c4c90062
xor rdx, r8
mov qword [rax + 8], rdx
mov rdx, qword [0x1402c7900]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7908]
mov r8, qword [r8 + rbx]
movabs r9, 0x1f8b8f74c05dfaeb
imul rdx, r9
movabs r9, 0x515e0ddf2113b6b3
imul r8, r9
add rdx, r8
movabs r8, 0x80810f3d8a3e2f69
add rdx, r8
mov qword [rcx + 0x10], rdx
mov rdx, qword [0x1402c7910]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7918]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x3a
movabs r8, 0xb56f95b49c07786a
xor rdx, r8
mov qword [rax + 0x10], rdx
mov rdx, qword [0x1402c7920]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7928]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x38
movabs r8, 0x5a9bdb96d3f47326
xor rdx, r8
mov qword [rcx + 0x18], rdx
mov rdx, qword [0x1402c7930]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7938]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x10
movabs r8, 0xa807057d12a70d05
xor rdx, r8
mov qword [rax + 0x18], rdx
mov rdx, qword [0x1402c7940]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7948]
mov r8, qword [r8 + rbx]
movabs r9, 0x61ab9c1bf10c98d6
imul rdx, r9
movabs r9, 0xc8f3b7dc8daa966b
imul r8, r9
add rdx, r8
movabs r8, 0xe87b3c3d062e6eec
add rdx, r8
mov qword [rcx + 0x20], rdx
mov rdx, qword [0x1402c7950]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7958]
mov r8, qword [r8 + rbx]
movabs r9, 0x9d6f9367de29239e
imul rdx, r9
movabs r9, 0x193faa0c761b26ab
imul r8, r9
add rdx, r8
movabs r8, 0x3d9820032932fd05
add rdx, r8
mov qword [rax + 0x20], rdx
mov rdx, qword [0x1402c7960]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7968]
mov r8, qword [r8 + rbx]
movabs r9, 0xdd5a7c68e066e82c
imul rdx, r9
movabs r9, 0xc5df3e5df22e5e93
imul r8, r9
add rdx, r8
movabs r8, 0x9d1b91517800b02c
add rdx, r8
mov qword [rcx + 0x28], rdx
mov rdx, qword [0x1402c7970]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7978]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x13
movabs r8, 0xfcfe20b58ec762f2
xor rdx, r8
mov qword [rax + 0x28], rdx
mov rdx, qword [0x1402c7980]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7988]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x26
movabs r8, 0x6cb5d030550fb24
xor rdx, r8
mov qword [rcx + 0x30], rdx
mov rdx, qword [0x1402c7990]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7998]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x15
movabs r8, 0x59d2a35e6adc9fd1
xor rdx, r8
mov qword [rax + 0x30], rdx
mov rdx, qword [0x1402c79a0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c79a8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x32
movabs r8, 0xfeaec540aefc856a
xor rdx, r8
mov qword [rcx + 0x38], rdx
mov rdx, qword [0x1402c79b0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c79b8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x28
movabs r8, 0xc7bde632999dd4c9
xor rdx, r8
mov qword [rax + 0x38], rdx
mov rdx, qword [0x1402c79c0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c79c8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x29
movabs r8, 0x5916c7c959fdcde
xor rdx, r8
mov qword [rcx + 0x40], rdx
mov rdx, qword [0x1402c79d0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c79d8]
mov r8, qword [r8 + rbx]
movabs r9, 0xc38706cc2208cb67
imul rdx, r9
movabs r9, 0xe9b5bcc606cdd29a
imul r8, r9
add rdx, r8
movabs r8, 0x84b85f26f60803a6
add rdx, r8
mov qword [rax + 0x40], rdx
mov rdx, qword [0x1402c79e0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c79e8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0xf
movabs r8, 0x384f808712b51a66
xor rdx, r8
mov qword [rcx + 0x48], rdx
mov rdx, qword [0x1402c79f0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c79f8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x3d
movabs r8, 0xadf1733728ea79ad
xor rdx, r8
mov qword [rax + 0x48], rdx
mov rdx, qword [0x1402c7a00]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7a08]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x25
movabs r8, 0xb76873b4527ee779
xor rdx, r8
mov qword [rcx + 0x50], rdx
mov rdx, qword [0x1402c7a10]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7a18]
mov r8, qword [r8 + rbx]
shld rdx, r8, 5
movabs r8, 0xc95c784b68371b25
xor rdx, r8
mov qword [rax + 0x50], rdx
mov rdx, qword [0x1402c7a20]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7a28]
mov r8, qword [r8 + rbx]
movabs r9, 0x621ce84f3f399384
imul rdx, r9
movabs r9, 0x9afa455ed74e74d6
imul r8, r9
add rdx, r8
movabs r8, 0x1f61dff208c3169e
add rdx, r8
mov qword [rcx + 0x58], rdx
mov rdx, qword [0x1402c7a30]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7a38]
mov r8, qword [r8 + rbx]
movabs r9, 0xe6fd6f0857fc62ba
imul rdx, r9
movabs r9, 0x725e4e0965da8760
imul r8, r9
add rdx, r8
movabs r8, 0xf5a004a6d72b0eac
add rdx, r8
mov qword [rax + 0x58], rdx
mov rdx, qword [0x1402c7a40]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7a48]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x15
movabs r8, 0x98d6b17aa154929b
xor rdx, r8
mov qword [rcx + 0x60], rdx
mov rdx, qword [0x1402c7a50]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7a58]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x3f
movabs r8, 0xbbfe1ade92f936ad
xor rdx, r8
mov qword [rax + 0x60], rdx
mov rdx, qword [0x1402c7a60]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7a68]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x3d
movabs r8, 0x3c73b4550c1e00f6
xor rdx, r8
mov qword [rcx + 0x68], rdx
mov rdx, qword [0x1402c7a70]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7a78]
mov r8, qword [r8 + rbx]
movabs r9, 0x19a67fb871d6d148
imul rdx, r9
movabs r9, 0x74a2b5da37517e88
imul r8, r9
add rdx, r8
movabs r8, 0xee717dd75a465578
add rdx, r8
mov qword [rax + 0x68], rdx
mov rdx, qword [0x1402c7a80]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7a88]
mov r8, qword [r8 + rbx]
movabs r9, 0xdea103f845b67a8d
imul rdx, r9
movabs r9, 0x771ec34adef943ef
imul r8, r9
add rdx, r8
movabs r8, 0xd7c52667c4d76846
add rdx, r8
mov qword [rcx + 0x70], rdx
mov rdx, qword [0x1402c7a90]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7a98]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x25
movabs r8, 0x9c8cd8195210c962
xor rdx, r8
mov qword [rax + 0x70], rdx
mov rdx, qword [0x1402c7aa0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7aa8]
mov r8, qword [r8 + rbx]
movabs r9, 0x981a0929edb7b70b
imul rdx, r9
movabs r9, 0xa1ebd66f9e30b017
imul r8, r9
add rdx, r8
movabs r8, 0x6f72a8ca3c63b667
add rdx, r8
mov qword [rcx + 0x78], rdx
mov rdx, qword [0x1402c7ab0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7ab8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x29
movabs r8, 0x8020dd5b64eef13d
xor rdx, r8
mov qword [rax + 0x78], rdx
mov rdx, qword [0x1402c7ac0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7ac8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x25
movabs r8, 0x3a0facbb22a58de6
xor rdx, r8
mov qword [rcx + 0x80], rdx
mov rdx, qword [0x1402c7ad0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7ad8]
mov r8, qword [r8 + rbx]
movabs r9, 0x90c1fb1b909606c1
imul rdx, r9
movabs r9, 0x60043b680473376c
imul r8, r9
add rdx, r8
movabs r8, 0xc8b4703144e76cc1
add rdx, r8
mov qword [rax + 0x80], rdx
mov rdx, qword [0x1402c7ae0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7ae8]
mov r8, qword [r8 + rbx]
movabs r9, 0x2b5c4a3c6f8449bb
imul rdx, r9
movabs r9, 0xb18ed531af8e4d02
imul r8, r9
add rdx, r8
movabs r8, 0xad26166d53387896
add rdx, r8
mov qword [rcx + 0x88], rdx
mov rdx, qword [0x1402c7af0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7af8]
mov r8, qword [r8 + rbx]
movabs r9, 0x563a0efe3fb37be
imul rdx, r9
movabs r9, 0xbe7c90bb5487a0ee
imul r8, r9
add rdx, r8
movabs r8, 0x720f019a33d487ee
add rdx, r8
mov qword [rax + 0x88], rdx
mov rdx, qword [0x1402c7b00]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7b08]
mov r8, qword [r8 + rbx]
shld rdx, r8, 7
movabs r8, 0x9005d8372710a78e
xor rdx, r8
mov qword [rcx + 0x90], rdx
mov rdx, qword [0x1402c7b10]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7b18]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x33
movabs r8, 0xd7bb3c9cd6143443
xor rdx, r8
mov qword [rax + 0x90], rdx
mov rdx, qword [0x1402c7b20]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7b28]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0xf
movabs r8, 0x8e6e61af4cb0b80f
xor rdx, r8
mov qword [rcx + 0x98], rdx
mov rdx, qword [0x1402c7b30]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7b38]
mov r8, qword [r8 + rbx]
movabs r9, 0x50b206c629bac7dd
imul rdx, r9
movabs r9, 0x8bb1230789a06edb
imul r8, r9
add rdx, r8
movabs r8, 0xcc257376baf1f8df
add rdx, r8
mov qword [rax + 0x98], rdx
mov rdx, qword [0x1402c7b40]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7b48]
mov r8, qword [r8 + rbx]
movabs r9, 0xdce59c16ad94626a
imul rdx, r9
movabs r9, 0x98abb0ffcd29ce84
imul r8, r9
add rdx, r8
movabs r8, 0x86cb4115cf4df0fc
add rdx, r8
mov qword [rcx + 0xa0], rdx
mov rdx, qword [0x1402c7b50]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7b58]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x3e
movabs r8, 0x5c6ca4a44111525
xor rdx, r8
mov qword [rax + 0xa0], rdx
mov rdx, qword [0x1402c7b60]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7b68]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x2e
movabs r8, 0xb131c6a0f8301e85
xor rdx, r8
mov qword [rcx + 0xa8], rdx
mov rdx, qword [0x1402c7b70]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7b78]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x16
movabs r8, 0x77741a7318702bcb
xor rdx, r8
mov qword [rax + 0xa8], rdx
mov rdx, qword [0x1402c7b80]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7b88]
mov r8, qword [r8 + rbx]
movabs r9, 0x86e68d8295faacd6
imul rdx, r9
movabs r9, 0x96074776d456ce02
imul r8, r9
add rdx, r8
movabs r8, 0xf47dbead1ff7c7dc
add rdx, r8
mov qword [rcx + 0xb0], rdx
mov rdx, qword [0x1402c7b90]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7b98]
mov r8, qword [r8 + rbx]
movabs r9, 0xe385a5b16018b47b
imul rdx, r9
movabs r9, 0xd45b37777f90c07c
imul r8, r9
add rdx, r8
movabs r8, 0x85a48f850d62654b
add rdx, r8
mov qword [rax + 0xb0], rdx
mov rdx, qword [0x1402c7ba0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7ba8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0xa
movabs r8, 0xa12421ff61253ee4
xor rdx, r8
mov qword [rcx + 0xb8], rdx
mov rdx, qword [0x1402c7bb0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7bb8]
mov r8, qword [r8 + rbx]
movabs r9, 0xf3500d6f63c3d640
imul rdx, r9
movabs r9, 0x37157f9ce1684a07
imul r8, r9
add rdx, r8
movabs r8, 0x4da1148a83f6aeb1
add rdx, r8
mov qword [rax + 0xb8], rdx
mov rdx, qword [0x1402c7bc0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7bc8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x3d
movabs r8, 0x5b9d68a1a3360f35
xor rdx, r8
mov qword [rcx + 0xc0], rdx
mov rdx, qword [0x1402c7bd0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7bd8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x2d
movabs r8, 0x3b8c1790c399f472
xor rdx, r8
mov qword [rax + 0xc0], rdx
mov rdx, qword [0x1402c7be0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7be8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x23
movabs r8, 0xe77f71fa41cd7a71
xor rdx, r8
mov qword [rcx + 0xc8], rdx
mov rdx, qword [0x1402c7bf0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7bf8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x11
movabs r8, 0x79bcc1a82c7dd60a
xor rdx, r8
mov qword [rax + 0xc8], rdx
mov rdx, qword [0x1402c7c00]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7c08]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0xb
movabs r8, 0x38bcba1e29e2bef7
xor rdx, r8
mov qword [rcx + 0xd0], rdx
mov rdx, qword [0x1402c7c10]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7c18]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x25
movabs r8, 0x699bddcb6b18355f
xor rdx, r8
mov qword [rax + 0xd0], rdx
mov rdx, qword [0x1402c7c20]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7c28]
mov r8, qword [r8 + rbx]
movabs r9, 0x43c809582f27bffc
imul rdx, r9
movabs r9, 0x25d3025e3c08568a
imul r8, r9
add rdx, r8
movabs r8, 0x83a3d25bdaa370ea
add rdx, r8
mov qword [rcx + 0xd8], rdx
mov rdx, qword [0x1402c7c30]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7c38]
mov r8, qword [r8 + rbx]
movabs r9, 0x4f9637a2db038265
imul rdx, r9
movabs r9, 0xb1dea27a5402921
imul r8, r9
add rdx, r8
movabs r8, 0xb4fcec9acd8d09c1
add rdx, r8
mov qword [rax + 0xd8], rdx
mov rdx, qword [0x1402c7c40]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7c48]
mov r8, qword [r8 + rbx]
movabs r9, 0x404ef9096cc5a10d
imul rdx, r9
movabs r9, 0xf4444a0377cf4013
imul r8, r9
add rdx, r8
movabs r8, 0x63dbdb21cb6ee7c4
add rdx, r8
mov qword [rcx + 0xe0], rdx
mov rdx, qword [0x1402c7c50]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7c58]
mov r8, qword [r8 + rbx]
movabs r9, 0x7f78c3d90c3f127c
imul rdx, r9
movabs r9, 0xbcba34b17175b77
imul r8, r9
add rdx, r8
movabs r8, 0x6f2328a955e5e2ab
add rdx, r8
mov qword [rax + 0xe0], rdx
mov rdx, qword [0x1402c7c60]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7c68]
mov r8, qword [r8 + rbx]
movabs r9, 0xe8652aa2ebb84420
imul rdx, r9
movabs r9, 0x42a9556c595c7053
imul r8, r9
add rdx, r8
movabs r8, 0xd587be016d6df55d
add rdx, r8
mov qword [rcx + 0xe8], rdx
mov rdx, qword [0x1402c7c70]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7c78]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x36
movabs r8, 0x454f8936c19d5e70
xor rdx, r8
mov qword [rax + 0xe8], rdx
mov rdx, qword [0x1402c7c80]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7c88]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x1c
movabs r8, 0xc64118f643798737
xor rdx, r8
mov qword [rcx + 0xf0], rdx
mov rdx, qword [0x1402c7c90]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7c98]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x1f
movabs r8, 0xc19e6bbb6a8341df
xor rdx, r8
mov qword [rax + 0xf0], rdx
mov rdx, qword [0x1402c7ca0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402c7ca8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x39
movabs r8, 0x2703257fd868e89e
xor rdx, r8
mov qword [rcx + 0xf8], rdx
mov rcx, qword [0x1402c7cb0]
mov rcx, qword [rcx + rbx]
mov rdx, qword [0x1402c7cb8]
mov rdx, qword [rdx + rbx]
shld rcx, rdx, 0x38
movabs rdx, 0x8ad7b355b7d4fe41
xor rcx, rdx
mov qword [rax + 0xf8], rcx
mov rax, qword [0x1402c7cc0]
mov eax, dword [rax + rbx]
mov rcx, qword [0x1402c7cc8]
mov ecx, dword [rcx + rbx]
shld eax, ecx, 0x15
xor eax, 0x92927008
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400db970
sub rsp, rax
mov rax, rsp
mov qword [rbp - 8], rax
mov rax, qword [0x1402c7cd0]
mov eax, dword [rax + rbx]
mov rcx, qword [0x1402c7cd8]
mov ecx, dword [rcx + rbx]
shld eax, ecx, 1
xor eax, 0x75b4b4d2
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400db970
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
mov rax, qword [0x1402c7ce0]
mov eax, dword [rax + rbx]
mov rcx, qword [0x1402c7ce8]
mov ecx, dword [rcx + rbx]
imul eax, eax, 0xdb0da07f
imul ecx, ecx, 0x7c9bea39
lea eax, [rax + rcx - 0x136f05d8]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400db970
sub rsp, rax
mov rdi, rsp
mov rax, qword [0x1402c7cf0]
mov eax, dword [rax + rbx]
mov rcx, qword [0x1402c7cf8]
mov ecx, dword [rcx + rbx]
shld eax, ecx, 0x14
xor eax, 0x80ec0717
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400db970
sub rsp, rax
mov rsi, rsp
mov rax, qword [0x1402c7d00]
mov eax, dword [rax + rbx]
mov rcx, qword [0x1402c7d08]
mov ecx, dword [rcx + rbx]
shld eax, ecx, 0xa
xor eax, 0xf9239d8c
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400db970
sub rsp, rax
mov r12, rsp
mov qword [rbp - 0x38], r12
mov rax, qword [0x1402c7d10]
mov eax, dword [rax + rbx]
mov rcx, qword [0x1402c7d18]
mov ecx, dword [rcx + rbx]
shld eax, ecx, 8
xor eax, 0x6f601779
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400db970
sub rsp, rax
mov rcx, rsp
mov qword [rbp - 0x30], rcx
mov rax, qword [0x1402c7d20]
mov eax, dword [rax + rbx]
mov rdx, qword [0x1402c7d28]
mov edx, dword [rdx + rbx]
imul eax, eax, 0x3084225a
imul edx, edx, 0xa332904f
lea eax, [rax + rdx - 0x5554b215]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400db970
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x48], r10
add r10, 0x1c
mov qword [rax], r10
mov rax, qword [0x1402c7d30]
mov eax, dword [rax + rbx]
mov dword [rcx], eax
sub rsp, 0x20
call fcn.1400c12d0
add rsp, 0x20
mov rcx, qword [0x1402c7d38]
cdqe
lea rax, [rcx + rax*4]
mov eax, dword [rbx + rax]
mov dword [r12], eax
mov rax, qword [0x1402c7d40]
mov eax, dword [rax + rbx]
mov rcx, qword [0x1402c7d48]
mov ecx, dword [rcx + rbx]
imul eax, eax, 0xda6553fe
imul ecx, ecx, 0xece63b74
lea eax, [rax + rcx - 0x60a306c7]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400db970
sub rsp, rax
mov rax, rsp
mov r13, rax
mov rcx, qword [0x1402c7d50]
mov rcx, qword [rcx + rbx]
mov rdx, qword [0x1402c7d58]
mov rdx, qword [rdx + rbx]
shld rcx, rdx, 7
movabs rdx, 0x79ed423913af45e4
xor rcx, rdx
mov qword [rax], rcx
mov rax, qword [0x1402c7d60]
mov eax, dword [rax + rbx]
mov rcx, qword [0x1402c7d68]
mov ecx, dword [rcx + rbx]
imul eax, eax, 0x91d18196
imul ecx, ecx, 0xfa69fac8
lea eax, [rax + rcx + 0x2e901a6f]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1400db970
sub rsp, rax
mov r12, rsp
mov rax, qword [r13]
mov rdx, qword [0x1402c7d70]
movabs rcx, 0xb5c25de1655ff80b
mov rdx, qword [rdx + rcx]
mov r8, qword [0x1402c7d78]
mov r8, qword [r8 + rcx]
shld rdx, r8, 0x12
movabs r8, 0x15037ff2d1cd363d
xor rdx, r8
mov r8, rax
add r8, rdx
mov rdx, qword [0x1402c7d80]
mov rdx, qword [rdx + rcx]
mov r9, qword [0x1402c7d88]
mov r9, qword [r9 + rcx]
shld rdx, r9, 0x3a
movabs r9, 0x115e33b3172521e7
xor rdx, r9
mov r9, rax
add r9, rdx
mov rdx, qword [0x1402c7d90]
add rdx, rcx
mov rax, qword [rdx + rax*8]
mov rdx, qword [rdx + r8*8]
mov qword [rsi], rdx
mov rdx, qword [0x1402c7d90]
lea rdx, [rdx + r9*8]
mov rdx, qword [rcx + rdx]
mov qword [rdi], rdx
mov rdx, qword [r13]
mov r8, qword [0x1402c7d98]
mov r8, qword [r8 + rcx]
mov r9, qword [0x1402c7da0]
mov rcx, qword [r9 + rcx]
movabs r9, 0xc90b70eb44e7ee7d
imul r8, r9
movabs r9, 0xedb899eda3532b48
imul rcx, r9
add r8, rcx
movabs rcx, 0x60b6a5917e9dc49c
add rdx, rcx
add r8, rdx
mov qword [r13], r8
mov ecx, 0xe09e9908
mov rdx, rax
sub rdx, rcx
je 0x140064078
jmp 0x14006405a
mov ecx, 0xe09e9909
mov rdx, rax
sub rdx, rcx
je 0x1400640c5
jmp 0x140064069
mov ecx, 0xe09e990a
sub rax, rcx
je 0x1400640d1
jmp 0x140064a2f
mov rax, qword [rsi]
mov rcx, rax
sub rcx, 0x4d33731
je 0x140064146
jmp 0x14006408d
mov rcx, rax
sub rcx, 0x1e8c45ed
je 0x140064743
jmp 0x14006409f
mov ecx, 0xcd8f51fd
mov rdx, rax
sub rdx, rcx
je 0x14006480f
jmp 0x1400640b2
mov ecx, 0xcdafc34f
sub rax, rcx
je 0x140064339
jmp 0x140064a2f
mov rax, qword [rsi]
mov qword [r13], rax
jmp 0x140064a31
mov rax, qword [r12]
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7da8]
mov rcx, qword [rcx]
movabs rdx, 0xb5c25de1655ff80b
add rdx, qword [0x1402c7db0]
mov rdx, qword [rdx]
movabs r8, 0x83581f80c2e82fff
imul rcx, r8
movabs r8, 0x2671c07f6a9556fa
imul rdx, r8
add rcx, rdx
movabs rdx, 0x33341e93d9d389f9
add rcx, rdx
cmp rax, rcx
jne 0x14006413a
mov rax, qword [rsi]
mov qword [r13], rax
jmp 0x140064a31
mov rax, qword [rdi]
mov qword [r13], rax
jmp 0x140064a31
mov rax, qword [rbp - 0x30]
mov eax, dword [rax]
mov rcx, qword [rbp - 0x38]
mov ecx, dword [rcx]
mov edx, eax
sub edx, ecx
sete dl
mov rcx, qword [0x1402c7db8]
movabs r8, 0xb5c25de1655ff80b
mov ecx, dword [rcx + r8]
mov r9, qword [0x1402c7dc0]
mov r9d, dword [r9 + r8]
imul ecx, ecx, 0xd806325c
shl r9d, 6
sub ecx, r9d
add cl, 0x91
mov r9d, eax
shl r9d, cl
mov ecx, eax
xor ecx, r9d
mov r9, qword [0x1402c7dc8]
mov r9d, dword [r9 + r8]
mov r10, qword [0x1402c7dd0]
mov r8d, dword [r10 + r8]
shld r9d, r8d, 0x11
xor r9d, 0xbc312be
and ecx, r9d
movsxd rcx, ecx
mov r11, qword [rbp]
mov r8b, byte [r11 + rcx]
mov r10, r15
mov cl, byte [r10 + rcx]
sub r8b, cl
mov cl, dl
add cl, r8b
movabs rdx, 0xb5c25de1655ff80b
add rdx, qword [0x1402c7dd8]
mov rdx, qword [rdx]
movabs r8, 0xb5c25de1655ff80b
add r8, qword [0x1402c7de0]
mov r8, qword [r8]
shl rdx, 0xd
shr r8, 0x33
or rdx, r8
movabs r8, 0x2c92ea005fa65a5c
mov r9, rdx
xor r9, r8
movabs rdx, 0xb5c25de1655ff80b
add rdx, qword [0x1402c7de8]
mov rdx, qword [rdx]
movabs r8, 0xb5c25de1655ff80b
add r8, qword [0x1402c7df0]
mov r8, qword [r8]
shl rdx, 0x2b
shr r8, 0x15
or rdx, r8
movabs r8, 0x2e3236fbf8b2989b
xor rdx, r8
test cl, 1
cmovne rdx, r9
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7df8]
mov ecx, dword [rcx]
movabs r8, 0xb5c25de1655ff80b
add r8, qword [0x1402c7e00]
mov r8d, dword [r8]
shl ecx, 0x10
shr r8d, 0x10
or ecx, r8d
xor ecx, 0x804db737
mov r8d, eax
shl r8d, cl
xor eax, r8d
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7e08]
mov ecx, dword [rcx]
movabs r8, 0xb5c25de1655ff80b
add r8, qword [0x1402c7e10]
mov r8d, dword [r8]
imul ecx, ecx, 0x36c4d8b0
imul r8d, r8d, 0x6e0015a1
add ecx, r8d
add ecx, 0xbec8cc57
and eax, ecx
movsxd rcx, eax
mov cl, byte [r11 + rcx]
cdqe
mov al, byte [r10 + rax]
sub cl, al
movzx eax, cl
add rdx, rax
mov qword [r12], rdx
movabs rax, 0xb5c25de1655ff80b
add rax, qword [0x1402c7e18]
mov eax, dword [rax]
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7e20]
mov ecx, dword [rcx]
imul eax, eax, 0xfb6e0bed
imul ecx, ecx, 0xfe34e915
add eax, ecx
add eax, 0x3c1634df
mov rcx, qword [rbp - 8]
mov dword [rcx], eax
jmp 0x140064a2f
mov qword [rbp - 0x20], r12
mov r12, r15
mov r15, qword [rbp]
mov rax, qword [rbp - 8]
mov r14d, dword [rax]
mov rax, qword [rbp - 0x28]
mov rax, qword [rax]
movsxd rcx, r14d
mov bl, byte [rax + rcx]
sub rsp, 0x20
call fcn.1400c1360
add rsp, 0x20
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7e28]
mov ecx, dword [rcx]
movabs rdx, 0xb5c25de1655ff80b
add rdx, qword [0x1402c7e30]
mov edx, dword [rdx]
imul ecx, ecx, 0xe47483fa
imul edx, edx, 0xaadeebeb
add ecx, edx
add ecx, 0x88ab2156
mov edx, r14d
shl edx, cl
mov ecx, r14d
xor ecx, edx
movabs rdx, 0xb5c25de1655ff80b
add rdx, qword [0x1402c7e38]
mov edx, dword [rdx]
movabs r8, 0xb5c25de1655ff80b
add r8, qword [0x1402c7e40]
mov r8d, dword [r8]
imul edx, edx, 0xdaf072db
imul r8d, r8d, 0x5d30def7
add edx, r8d
add edx, 0xae38ac69
and ecx, edx
movsxd rdx, ecx
mov dl, byte [r15 + rdx]
movsxd rcx, ecx
mov cl, byte [r12 + rcx]
sub dl, cl
movzx ecx, dl
add eax, ecx
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7e48]
cdqe
mov ecx, dword [rcx + rax*4]
mov dword [rbp - 0xc], ecx
mov eax, r14d
xor edx, edx
div ecx
movabs rax, 0xb5c25de1655ff80b
add rax, qword [0x1402c7e50]
mov eax, dword [rax]
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7e58]
mov ecx, dword [rcx]
shl eax, 0xb
shr ecx, 0x15
or eax, ecx
mov ecx, eax
xor ecx, 0x68a6ab8d
mov eax, r14d
shl eax, cl
mov ecx, r14d
xor ecx, eax
movabs rax, 0xb5c25de1655ff80b
add rax, qword [0x1402c7e60]
mov eax, dword [rax]
movabs r8, 0xb5c25de1655ff80b
add r8, qword [0x1402c7e68]
mov r8d, dword [r8]
imul eax, eax, 0xb07915a7
imul r8d, r8d, 0x7ce996cb
add eax, r8d
add eax, 0xf6f32d1a
and ecx, eax
movsxd rax, ecx
mov al, byte [r15 + rax]
movsxd rcx, ecx
mov cl, byte [r12 + rcx]
sub al, cl
movzx eax, al
add edx, eax
movsxd rax, edx
mov rcx, qword [rbp - 0x48]
mov al, byte [rcx + rax]
mov cl, bl
xor cl, al
movabs rdx, 0xb5c25de1655ff80b
add rdx, qword [0x1402c7e70]
mov dl, byte [rdx]
movabs r8, 0xb5c25de1655ff80b
add r8, qword [0x1402c7e78]
mov r8b, byte [r8]
shl dl, 7
shr r8b, 1
or dl, r8b
xor dl, 0xf1
movzx ax, al
div dl
shr ax, 8
movsx rdx, al
mov dl, byte [r15 + rdx]
movsx rax, al
mov al, byte [r12 + rax]
sub dl, al
movzx eax, dl
mov ebx, r14d
add ebx, eax
movsxd rax, ebx
mov rdx, qword [rbp - 0x40]
mov byte [rdx + rax], cl
sub rsp, 0x20
call fcn.1400c13f0
add rsp, 0x20
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7e80]
cdqe
add r14d, dword [rcx + rax*4]
mov rax, qword [rbp - 0x18]
mov dword [rax], r14d
mov r14, r12
mov r12, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.1400c1470
add rsp, 0x20
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7e88]
mov ecx, dword [rcx]
movabs rdx, 0xb5c25de1655ff80b
add rdx, qword [0x1402c7e90]
mov edx, dword [rdx]
shl ecx, 2
shr edx, 0x1e
or ecx, edx
xor ecx, 0xbc79fdf2
mov edx, ebx
shl edx, cl
xor ebx, edx
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7e98]
mov ecx, dword [rcx]
movabs rdx, 0xb5c25de1655ff80b
add rdx, qword [0x1402c7ea0]
mov edx, dword [rdx]
shl ecx, 0xb
shr edx, 0x15
or ecx, edx
xor ecx, 0x11d92d41
and ebx, ecx
movsxd rcx, ebx
mov cl, byte [r15 + rcx]
movsxd rdx, ebx
mov dl, byte [r14 + rdx]
sub cl, dl
movzx ecx, cl
add eax, ecx
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7ea8]
cdqe
mov eax, dword [rcx + rax*4]
mov r11, qword [rbp - 0x18]
mov ecx, dword [r11]
movabs rdx, 0xb5c25de1655ff80b
add rdx, qword [0x1402c7eb0]
mov rdx, qword [rdx]
movabs r8, 0xb5c25de1655ff80b
add r8, qword [0x1402c7eb8]
mov r8, qword [r8]
shl rdx, 0x13
shr r8, 0x2d
or rdx, r8
movabs r8, 0x2a1b0d38187259ac
xor rdx, r8
movabs r8, 0xb5c25de1655ff80b
add r8, qword [0x1402c7ec0]
mov r8, qword [r8]
movabs r9, 0xb5c25de1655ff80b
add r9, qword [0x1402c7ec8]
mov r9, qword [r9]
movabs r10, 0xa2a3cfb3596daca8
imul r8, r10
movabs r10, 0xe4b5e6a0a2c08e83
imul r9, r10
add r8, r9
movabs r9, 0x660a5e6c626bf54a
add r8, r9
cmp ecx, eax
mov rax, r8
cmove rax, rdx
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7ed0]
mov ecx, dword [rcx]
movabs rdx, 0xb5c25de1655ff80b
add rdx, qword [0x1402c7ed8]
mov edx, dword [rdx]
shl ecx, 9
shr edx, 0x17
or ecx, edx
xor ecx, 0x2b6aa2ab
mov r8d, dword [rbp - 0xc]
mov edx, r8d
shl edx, cl
mov ecx, r8d
xor ecx, edx
movabs rdx, 0xb5c25de1655ff80b
add rdx, qword [0x1402c7ee0]
mov edx, dword [rdx]
movabs r8, 0xb5c25de1655ff80b
add r8, qword [0x1402c7ee8]
mov r8d, dword [r8]
shl edx, 0x15
shr r8d, 0xb
or edx, r8d
xor edx, 0x841c87c
and ecx, edx
movsxd rdx, ecx
mov dl, byte [r15 + rdx]
movsxd rcx, ecx
mov r15, r14
mov cl, byte [r14 + rcx]
sub dl, cl
movzx ecx, dl
add rax, rcx
mov qword [r12], rax
mov eax, dword [r11]
mov rcx, qword [rbp - 8]
mov dword [rcx], eax
jmp 0x140064a2f
sub rsp, 0x20
call fcn.1400c14f0
add rsp, 0x20
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7ef0]
movsxd rdx, eax
mov edx, dword [rcx + rdx*4]
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7ef8]
mov ecx, dword [rcx]
movabs r8, 0xb5c25de1655ff80b
add r8, qword [0x1402c7f00]
mov r8d, dword [r8]
shl ecx, 5
shr r8d, 0x1b
or ecx, r8d
xor ecx, 0x4f0349bd
mov r8d, eax
shl r8d, cl
xor eax, r8d
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7f08]
mov ecx, dword [rcx]
movabs r8, 0xb5c25de1655ff80b
add r8, qword [0x1402c7f10]
mov r8d, dword [r8]
shl ecx, 1
shr r8d, 0x1f
or ecx, r8d
xor ecx, 0xac891c6e
and eax, ecx
movsxd rcx, eax
mov r8, qword [rbp]
mov cl, byte [r8 + rcx]
cdqe
mov al, byte [r15 + rax]
sub cl, al
movzx eax, cl
add edx, eax
movabs rax, 0xb5c25de1655ff80b
add rax, qword [0x1402c7d30]
mov dword [rax], edx
jmp 0x140064a2f
movabs rax, 0xb5c25de1655ff80b
add rax, qword [0x1402c7f18]
mov eax, dword [rax]
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7f20]
mov r8d, dword [rcx]
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7f28]
mov ecx, dword [rcx]
movabs rdx, 0xb5c25de1655ff80b
add rdx, qword [0x1402c7f30]
mov edx, dword [rdx]
imul ecx, ecx, 0xe751cd04
imul edx, edx, 0xa67e9a8
add ecx, edx
add ecx, 0xf724fa72
mov edx, eax
shl edx, cl
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7f38]
mov ecx, dword [rcx]
movabs r9, 0xb5c25de1655ff80b
add r9, qword [0x1402c7f40]
mov r9d, dword [r9]
shl ecx, 0x11
shr r9d, 0xf
or ecx, r9d
xor ecx, 0xb4a7f633
mov r9d, eax
shl r9d, cl
mov ecx, eax
xor ecx, r9d
movabs r9, 0xb5c25de1655ff80b
add r9, qword [0x1402c7f48]
mov r9d, dword [r9]
movabs r10, 0xb5c25de1655ff80b
add r10, qword [0x1402c7f50]
mov r10d, dword [r10]
imul r9d, r9d, 0xc5edfe9f
imul r10d, r10d, 0x8ed691a6
add r9d, r10d
add r9d, 0xd00830e9
and ecx, r9d
movsxd r9, ecx
mov r10, qword [rbp]
mov r9b, byte [r10 + r9]
movsxd rcx, ecx
mov cl, byte [r15 + rcx]
sub r9b, cl
movzx ecx, r9b
add r8d, ecx
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7f58]
mov ecx, dword [rcx]
movabs r9, 0xb5c25de1655ff80b
add r9, qword [0x1402c7f60]
mov r9d, dword [r9]
shl ecx, 0x1f
shr r9d, 1
or ecx, r9d
xor ecx, 0x71ec7323
shr r8d, cl
or edx, r8d
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7f68]
mov ecx, dword [rcx]
movabs r8, 0xb5c25de1655ff80b
add r8, qword [0x1402c7f70]
mov r8d, dword [r8]
shl ecx, 0x1b
shr r8d, 5
or ecx, r8d
xor ecx, 0x422e4edb
mov r8d, eax
shl r8d, cl
xor eax, r8d
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7f78]
mov ecx, dword [rcx]
movabs r8, 0xb5c25de1655ff80b
add r8, qword [0x1402c7f80]
mov r8d, dword [r8]
shl ecx, 0xf
shr r8d, 0x11
or ecx, r8d
xor ecx, 0xc6c08c2c
and eax, ecx
movsxd rcx, eax
mov cl, byte [r10 + rcx]
cdqe
mov al, byte [r15 + rax]
sub cl, al
movzx eax, cl
add edx, eax
movabs rax, 0xb5c25de1655ff80b
add rax, qword [0x1402c7f88]
mov eax, dword [rax]
movabs rcx, 0xb5c25de1655ff80b
add rcx, qword [0x1402c7f90]
mov ecx, dword [rcx]
imul eax, eax, 0xf990c8d4
imul ecx, ecx, 0x5d509c14
add eax, ecx
mov ecx, eax
add ecx, 0xbcb1886a
mov eax, edx
xor eax, ecx
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
jmp 0x140064a31
jmp 0x140063f6d