Function at 0x140095a80
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x48
lea rbp, [rsp + 0x40]
mov r10, rdx
mov qword [rbp - 0x38], rcx
mov rax, qword [0x14036e540]
movabs rbx, 0x1ede665aa2357b77
mov eax, dword [rax + rbx]
mov rcx, qword [0x14036e548]
mov ecx, dword [rcx + rbx]
imul eax, eax, 0xb14ad6d9
imul ecx, ecx, 0xda55a8e3
lea eax, [rax + rcx - 0x5e46c2ea]
shl rax, 8
call fcn.1401501b0
sub rsp, rax
mov rcx, rsp
mov r14, rcx
mov rax, qword [0x14036e550]
mov eax, dword [rax + rbx]
mov rdx, qword [0x14036e558]
mov edx, dword [rdx + rbx]
imul eax, eax, 0x51026c9b
imul edx, edx, 0x39443f62
lea eax, [rax + rdx - 0x5d8e2b3]
shl rax, 8
call fcn.1401501b0
sub rsp, rax
mov rax, rsp
mov r12, rax
mov rdx, qword [0x14036e560]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e568]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x24
movabs r8, 0x5fc3f4f2b03126c
xor rdx, r8
mov qword [rcx], rdx
mov rdx, qword [0x14036e570]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e578]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x1f
movabs r8, 0x6fd4d2399a1a9089
xor rdx, r8
mov qword [rax], rdx
mov rdx, qword [0x14036e580]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e588]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x2a
movabs r8, 0x23a1339c7abf4f6d
xor rdx, r8
mov qword [rcx + 8], rdx
mov rdx, qword [0x14036e590]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e598]
mov r8, qword [r8 + rbx]
movabs r9, 0xcba9753996121407
imul rdx, r9
movabs r9, 0xfb72fc663612c265
imul r8, r9
add rdx, r8
movabs r8, 0x483eba567fe8a237
add rdx, r8
mov qword [rax + 8], rdx
mov rdx, qword [0x14036e5a0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e5a8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0xb
movabs r8, 0x1d711809c4c1aba1
xor rdx, r8
mov qword [rcx + 0x10], rdx
mov rdx, qword [0x14036e5b0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e5b8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x39
movabs r8, 0xe4ba222ebf597b7f
xor rdx, r8
mov qword [rax + 0x10], rdx
mov rdx, qword [0x14036e5c0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e5c8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0xd
movabs r8, 0x8cd49fceb52222b5
xor rdx, r8
mov qword [rcx + 0x18], rdx
mov rdx, qword [0x14036e5d0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e5d8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x25
movabs r8, 0xc07cc8f1997e48ab
xor rdx, r8
mov qword [rax + 0x18], rdx
mov rdx, qword [0x14036e5e0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e5e8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x2e
movabs r8, 0x3c039eb45d770cae
xor rdx, r8
mov qword [rcx + 0x20], rdx
mov rdx, qword [0x14036e5f0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e5f8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 6
movabs r8, 0x71ebbb89c200c6eb
xor rdx, r8
mov qword [rax + 0x20], rdx
mov rdx, qword [0x14036e600]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e608]
mov r8, qword [r8 + rbx]
shld rdx, r8, 1
movabs r8, 0x1a7505b9d09a745d
xor rdx, r8
mov qword [rcx + 0x28], rdx
mov rdx, qword [0x14036e610]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e618]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0xd
movabs r8, 0x7e30b08d9ceb03ae
xor rdx, r8
mov qword [rax + 0x28], rdx
mov rdx, qword [0x14036e620]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e628]
mov r8, qword [r8 + rbx]
movabs r9, 0x854d892918ee4e9a
imul rdx, r9
movabs r9, 0x76ded75237336915
imul r8, r9
add rdx, r8
movabs r8, 0x2bf47c713cdd3765
add rdx, r8
mov qword [rcx + 0x30], rdx
mov rdx, qword [0x14036e630]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e638]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x16
movabs r8, 0x6fffa1bf5279d3bd
xor rdx, r8
mov qword [rax + 0x30], rdx
mov rdx, qword [0x14036e640]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e648]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x12
movabs r8, 0x7d64df1bde79c1b5
xor rdx, r8
mov qword [rcx + 0x38], rdx
mov rdx, qword [0x14036e650]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e658]
mov r8, qword [r8 + rbx]
movabs r9, 0x3d30a69f7fe005fb
imul rdx, r9
movabs r9, 0xac9938f359ae4e51
imul r8, r9
add rdx, r8
movabs r8, 0xdcd770a1015e9c41
add rdx, r8
mov qword [rax + 0x38], rdx
mov rdx, qword [0x14036e660]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e668]
mov r8, qword [r8 + rbx]
movabs r9, 0x2944f6a321094ad8
imul rdx, r9
movabs r9, 0xfcdd7dc03e9d3a0
imul r8, r9
add rdx, r8
movabs r8, 0x801bd9c6dd110258
add rdx, r8
mov qword [rcx + 0x40], rdx
mov rdx, qword [0x14036e670]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e678]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0xe
movabs r8, 0xab7cdd031536bf09
xor rdx, r8
mov qword [rax + 0x40], rdx
mov rdx, qword [0x14036e680]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e688]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x31
movabs r8, 0xf7314a4cdec0fb9c
xor rdx, r8
mov qword [rcx + 0x48], rdx
mov rdx, qword [0x14036e690]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e698]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x37
movabs r8, 0xfee3af4ec8093634
xor rdx, r8
mov qword [rax + 0x48], rdx
mov rdx, qword [0x14036e6a0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e6a8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x21
movabs r8, 0x5d8b6b273973d97a
xor rdx, r8
mov qword [rcx + 0x50], rdx
mov rdx, qword [0x14036e6b0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e6b8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x3f
movabs r8, 0x82efcb1468ba8ddf
xor rdx, r8
mov qword [rax + 0x50], rdx
mov rdx, qword [0x14036e6c0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e6c8]
mov r8, qword [r8 + rbx]
movabs r9, 0xf63963c03e74e018
imul rdx, r9
movabs r9, 0x5c6b0e36318e5bdf
imul r8, r9
add rdx, r8
movabs r8, 0x3fad596238735533
add rdx, r8
mov qword [rcx + 0x58], rdx
mov rdx, qword [0x14036e6d0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e6d8]
mov r8, qword [r8 + rbx]
movabs r9, 0x6e235c58cda28d5f
imul rdx, r9
movabs r9, 0x9c3b699458071dea
imul r8, r9
add rdx, r8
movabs r8, 0xbfc7fb8d43e8230a
add rdx, r8
mov qword [rax + 0x58], rdx
mov rdx, qword [0x14036e6e0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e6e8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x16
movabs r8, 0x6276a13d6293d411
xor rdx, r8
mov qword [rcx + 0x60], rdx
mov rdx, qword [0x14036e6f0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e6f8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x15
movabs r8, 0x283b9fcd0292f840
xor rdx, r8
mov qword [rax + 0x60], rdx
mov rdx, qword [0x14036e700]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e708]
mov r8, qword [r8 + rbx]
movabs r9, 0x32a761ccecee881b
imul rdx, r9
movabs r9, 0xbd8cb75e5a4c2839
imul r8, r9
add rdx, r8
movabs r8, 0xe13f3e099e77d6a3
add rdx, r8
mov qword [rcx + 0x68], rdx
mov rdx, qword [0x14036e710]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e718]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x1e
movabs r8, 0x2b1326c4fc3d9bc1
xor rdx, r8
mov qword [rax + 0x68], rdx
mov rdx, qword [0x14036e720]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e728]
mov r8, qword [r8 + rbx]
movabs r9, 0x269397d19a8c9d68
imul rdx, r9
movabs r9, 0x5529ca68bafa7e53
imul r8, r9
add rdx, r8
movabs r8, 0xff5c4fd97272a976
add rdx, r8
mov qword [rcx + 0x70], rdx
mov rdx, qword [0x14036e730]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e738]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x2b
movabs r8, 0xc333487b42b12204
xor rdx, r8
mov qword [rax + 0x70], rdx
mov rdx, qword [0x14036e740]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e748]
mov r8, qword [r8 + rbx]
shld rdx, r8, 5
movabs r8, 0xa47fc9473daa1f7b
xor rdx, r8
mov qword [rcx + 0x78], rdx
mov rdx, qword [0x14036e750]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e758]
mov r8, qword [r8 + rbx]
movabs r9, 0x9dd05e7dc20567b7
imul rdx, r9
movabs r9, 0x72350c26a148108c
imul r8, r9
add rdx, r8
movabs r8, 0x5adabf3935d8576b
add rdx, r8
mov qword [rax + 0x78], rdx
mov rdx, qword [0x14036e760]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e768]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x3b
movabs r8, 0x57b6cd48c9afd658
xor rdx, r8
mov qword [rcx + 0x80], rdx
mov rdx, qword [0x14036e770]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e778]
mov r8, qword [r8 + rbx]
movabs r9, 0x7cd72a4bd16f9e70
imul rdx, r9
movabs r9, 0x5e3b7c10f6b14158
imul r8, r9
add rdx, r8
movabs r8, 0xf535c42ede91c130
add rdx, r8
mov qword [rax + 0x80], rdx
mov rdx, qword [0x14036e780]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e788]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x14
movabs r8, 0x89ea1b6950288042
xor rdx, r8
mov qword [rcx + 0x88], rdx
mov rdx, qword [0x14036e790]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e798]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x2f
movabs r8, 0x9b57eaf2784b2eba
xor rdx, r8
mov qword [rax + 0x88], rdx
mov rdx, qword [0x14036e7a0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e7a8]
mov r8, qword [r8 + rbx]
movabs r9, 0xcebe2dae61faa4fe
imul rdx, r9
movabs r9, 0xded559100242bac0
imul r8, r9
add rdx, r8
movabs r8, 0xb94c57eef5fc7b66
add rdx, r8
mov qword [rcx + 0x90], rdx
mov rdx, qword [0x14036e7b0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e7b8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x3d
movabs r8, 0x600fd33698f560c6
xor rdx, r8
mov qword [rax + 0x90], rdx
mov rdx, qword [0x14036e7c0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e7c8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x29
movabs r8, 0xe1aa853295b92557
xor rdx, r8
mov qword [rcx + 0x98], rdx
mov rdx, qword [0x14036e7d0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e7d8]
mov r8, qword [r8 + rbx]
movabs r9, 0x25e4b9e1b2c8acd
imul rdx, r9
movabs r9, 0xf65ca054d9e5819
imul r8, r9
add rdx, r8
movabs r8, 0xc53b7d9834aa5f09
add rdx, r8
mov qword [rax + 0x98], rdx
mov rdx, qword [0x14036e7e0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e7e8]
mov r8, qword [r8 + rbx]
movabs r9, 0x1073fbce2e81235e
imul rdx, r9
movabs r9, 0x301c3c0fd62d03d0
imul r8, r9
add rdx, r8
movabs r8, 0x36037b61a249de14
add rdx, r8
mov qword [rcx + 0xa0], rdx
mov rdx, qword [0x14036e7f0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e7f8]
mov r8, qword [r8 + rbx]
movabs r9, 0x97fb2670d11b329e
imul rdx, r9
movabs r9, 0x6f833764a8a6854d
imul r8, r9
add rdx, r8
movabs r8, 0xf5bb99bdfed4b0e2
add rdx, r8
mov qword [rax + 0xa0], rdx
mov rdx, qword [0x14036e800]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e808]
mov r8, qword [r8 + rbx]
movabs r9, 0xd9711c6e39a4f0f9
imul rdx, r9
movabs r9, 0xb7b61f3477b126ca
imul r8, r9
add rdx, r8
movabs r8, 0xd8ff34ed20031a1
add rdx, r8
mov qword [rcx + 0xa8], rdx
mov rdx, qword [0x14036e810]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e818]
mov r8, qword [r8 + rbx]
movabs r9, 0x4fd0a68ea37bed95
imul rdx, r9
movabs r9, 0x1f7db395313f4b64
imul r8, r9
add rdx, r8
movabs r8, 0x14b2e7648dd88cee
add rdx, r8
mov qword [rax + 0xa8], rdx
mov rdx, qword [0x14036e820]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e828]
mov r8, qword [r8 + rbx]
movabs r9, 0xf4970bd761b4bbe5
imul rdx, r9
movabs r9, 0xb6489dbed8911af
imul r8, r9
add rdx, r8
movabs r8, 0xd301a952571960bb
add rdx, r8
mov qword [rcx + 0xb0], rdx
mov rdx, qword [0x14036e830]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e838]
mov r8, qword [r8 + rbx]
movabs r9, 0x1ceb2a3568747f81
imul rdx, r9
movabs r9, 0xa8b8b5bd5a589397
imul r8, r9
add rdx, r8
movabs r8, 0x3d098b27cb8947ea
add rdx, r8
mov qword [rax + 0xb0], rdx
mov rdx, qword [0x14036e840]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e848]
mov r8, qword [r8 + rbx]
movabs r9, 0xf534681fdbab55e7
imul rdx, r9
movabs r9, 0x68b4a35955cd4ed5
imul r8, r9
add rdx, r8
movabs r8, 0x3a6f3cdfb3c0f713
add rdx, r8
mov qword [rcx + 0xb8], rdx
mov rdx, qword [0x14036e850]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e858]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0xd
movabs r8, 0xf5404c93b0a4c4d0
xor rdx, r8
mov qword [rax + 0xb8], rdx
mov rdx, qword [0x14036e860]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e868]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0xd
movabs r8, 0x15484794304b9a4f
xor rdx, r8
mov qword [rcx + 0xc0], rdx
mov rdx, qword [0x14036e870]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e878]
mov r8, qword [r8 + rbx]
movabs r9, 0x52c1ef5ff4f5d601
imul rdx, r9
movabs r9, 0x6297afb7b4ac38b5
imul r8, r9
add rdx, r8
movabs r8, 0xe93ff707afa00832
add rdx, r8
mov qword [rax + 0xc0], rdx
mov rdx, qword [0x14036e880]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e888]
mov r8, qword [r8 + rbx]
movabs r9, 0x127efd6b0b1a849e
imul rdx, r9
movabs r9, 0x307fe04da024d382
imul r8, r9
add rdx, r8
movabs r8, 0x78e293733bc6aff4
add rdx, r8
mov qword [rcx + 0xc8], rdx
mov rdx, qword [0x14036e890]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e898]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x35
movabs r8, 0x1adb79bb0f75983c
xor rdx, r8
mov qword [rax + 0xc8], rdx
mov rdx, qword [0x14036e8a0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e8a8]
mov r8, qword [r8 + rbx]
movabs r9, 0x7e47d8c5fb4b05de
imul rdx, r9
movabs r9, 0xc23fafb702e7d567
imul r8, r9
add rdx, r8
movabs r8, 0x27653d3cd48aed6a
add rdx, r8
mov qword [rcx + 0xd0], rdx
mov rdx, qword [0x14036e8b0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e8b8]
mov r8, qword [r8 + rbx]
movabs r9, 0xfa695d927b0fd2ec
imul rdx, r9
movabs r9, 0x705a1ae6134f4df8
imul r8, r9
add rdx, r8
movabs r8, 0xa2df702ff983050c
add rdx, r8
mov qword [rax + 0xd0], rdx
mov rdx, qword [0x14036e8c0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e8c8]
mov r8, qword [r8 + rbx]
movabs r9, 0x7a6e30e5e5e191fb
imul rdx, r9
movabs r9, 0xbf0f4c3cd9a78439
imul r8, r9
add rdx, r8
movabs r8, 0xde30ae190bba1895
add rdx, r8
mov qword [rcx + 0xd8], rdx
mov rdx, qword [0x14036e8d0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e8d8]
mov r8, qword [r8 + rbx]
movabs r9, 0x54fec0cf714970b3
imul rdx, r9
movabs r9, 0xecfb2c5e852f801c
imul r8, r9
add rdx, r8
movabs r8, 0x1ffdecdd773fb703
add rdx, r8
mov qword [rax + 0xd8], rdx
mov rdx, qword [0x14036e8e0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e8e8]
mov r8, qword [r8 + rbx]
movabs r9, 0xbe6bbaface9e3b1d
imul rdx, r9
movabs r9, 0x2efe6335504b67d1
imul r8, r9
add rdx, r8
movabs r8, 0xe9b27685dd8964bf
add rdx, r8
mov qword [rcx + 0xe0], rdx
mov rdx, qword [0x14036e8f0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e8f8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 3
movabs r8, 0xd2e54e57ea9637bb
xor rdx, r8
mov qword [rax + 0xe0], rdx
mov rdx, qword [0x14036e900]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e908]
mov r8, qword [r8 + rbx]
shld rdx, r8, 1
movabs r8, 0xa15d519e986a97c2
xor rdx, r8
mov qword [rcx + 0xe8], rdx
mov rdx, qword [0x14036e910]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e918]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x33
movabs r8, 0xe607bd54cf9f3deb
xor rdx, r8
mov qword [rax + 0xe8], rdx
mov rdx, qword [0x14036e920]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e928]
mov r8, qword [r8 + rbx]
movabs r9, 0xbf3dc878bbcac568
imul rdx, r9
movabs r9, 0xb0abdec8adbb7ebb
imul r8, r9
add rdx, r8
movabs r8, 0x9602a5d983022de
add rdx, r8
mov qword [rcx + 0xf0], rdx
mov rdx, qword [0x14036e930]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e938]
mov r8, qword [r8 + rbx]
movabs r9, 0xe32cf137fc073aaf
imul rdx, r9
movabs r9, 0xf33db1d5cb0f6f16
imul r8, r9
add rdx, r8
movabs r8, 0x8329b106ec31db4d
add rdx, r8
mov qword [rax + 0xf0], rdx
mov rdx, qword [0x14036e940]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x14036e948]
mov r8, qword [r8 + rbx]
shld rdx, r8, 2
movabs r8, 0xadd918a41a70da98
xor rdx, r8
mov qword [rcx + 0xf8], rdx
mov rcx, qword [0x14036e950]
mov rcx, qword [rcx + rbx]
mov rdx, qword [0x14036e958]
mov rdx, qword [rdx + rbx]
shld rcx, rdx, 0x1c
movabs rdx, 0xa4fe0ab33102264c
xor rcx, rdx
mov qword [rax + 0xf8], rcx
mov rax, qword [0x14036e960]
mov eax, dword [rax + rbx]
mov rcx, qword [0x14036e968]
mov ecx, dword [rcx + rbx]
imul eax, eax, 0x75f405e9
imul ecx, ecx, 0x166ab7dd
lea eax, [rax + rcx + 0x3e6c9cd4]
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1401501b0
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
mov rax, qword [0x14036e970]
mov eax, dword [rax + rbx]
mov rcx, qword [0x14036e978]
mov ecx, dword [rcx + rbx]
imul eax, eax, 0xde31ea38
imul ecx, ecx, 0x937a598
lea eax, [rax + rcx - 0x4412e66f]
lea rax, [rax*4 + 0xf]
movabs rcx, 0x3fffffff0
and rax, rcx
call fcn.1401501b0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x30], rax
mov rax, qword [0x14036e980]
mov eax, dword [rax + rbx]
mov rcx, qword [0x14036e988]
mov ecx, dword [rcx + rbx]
shld eax, ecx, 0x10
xor eax, 0xff843a45
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1401501b0
sub rsp, rax
mov rsi, rsp
mov rax, qword [0x14036e990]
mov eax, dword [rax + rbx]
mov rcx, qword [0x14036e998]
mov ecx, dword [rcx + rbx]
shld eax, ecx, 0x18
xor eax, 0x54224c8a
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1401501b0
sub rsp, rax
mov r13, rsp
mov rax, qword [0x14036e9a0]
mov eax, dword [rax + rbx]
mov rcx, qword [0x14036e9a8]
mov ecx, dword [rcx + rbx]
imul eax, eax, 0x55de67e4
imul ecx, ecx, 0xf4cb5c89
lea eax, [rax + rcx + 0xe557986]
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1401501b0
sub rsp, rax
mov rdi, rsp
mov qword [rbp - 0x20], rdi
mov rax, qword [0x14036e9b0]
mov eax, dword [rax + rbx]
mov rcx, qword [0x14036e9b8]
mov ecx, dword [rcx + rbx]
shld eax, ecx, 0x1c
xor eax, 0x439ea549
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1401501b0
sub rsp, rax
mov rcx, rsp
mov qword [rbp - 0x18], rcx
mov rax, qword [0x14036e9c0]
mov eax, dword [rax + rbx]
mov rdx, qword [0x14036e9c8]
mov edx, dword [rdx + rbx]
shld eax, edx, 1
xor eax, 0xf99ac563
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1401501b0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov qword [rbp - 0x40], r10
add r10, 0x18
mov qword [rax], r10
mov rax, qword [0x14036e9d0]
mov eax, dword [rax + rbx]
mov dword [rcx], eax
sub rsp, 0x20
call fcn.140133d90
add rsp, 0x20
mov rcx, qword [0x14036e9d8]
cdqe
lea rax, [rcx + rax*4]
mov eax, dword [rbx + rax]
mov dword [rdi], eax
mov rax, qword [0x14036e9e0]
mov eax, dword [rax + rbx]
mov rcx, qword [0x14036e9e8]
mov ecx, dword [rcx + rbx]
shld eax, ecx, 3
xor eax, 0x3d73609d
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1401501b0
sub rsp, rax
mov rax, rsp
mov rdi, rax
mov rcx, qword [0x14036e9f0]
mov rcx, qword [rcx + rbx]
mov rdx, qword [0x14036e9f8]
mov rdx, qword [rdx + rbx]
shld rcx, rdx, 9
movabs rdx, 0xf0b0da2d5409d8be
xor rcx, rdx
mov qword [rax], rcx
mov rax, qword [0x14036ea00]
mov eax, dword [rax + rbx]
mov rcx, qword [0x14036ea08]
mov ecx, dword [rcx + rbx]
imul eax, eax, 0xf550f07f
imul ecx, ecx, 0x77f5917e
lea eax, [rax + rcx - 0x75e2cc]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.1401501b0
sub rsp, rax
mov rax, rsp
mov r15, rax
mov qword [rbp - 0x28], r13
mov qword [rbp - 8], r15
mov rdx, qword [rdi]
mov rcx, qword [0x14036ea10]
movabs rax, 0x1ede665aa2357b77
mov rcx, qword [rcx + rax]
mov r8, qword [0x14036ea18]
mov r8, qword [r8 + rax]
shld rcx, r8, 0xe
movabs r8, 0x93a47611038c8bb
xor rcx, r8
mov r8, rdx
add r8, rcx
mov rcx, qword [0x14036ea20]
mov ecx, dword [rcx + rax]
mov r9, qword [0x14036ea28]
mov r9d, dword [r9 + rax]
imul ecx, ecx, 0xbd5c1232
imul r9d, r9d, 0xcadcf83e
add ecx, r9d
add cl, 0xce
mov r9, rdx
shr r9, cl
mov rcx, rdx
xor rcx, r9
mov r9, qword [0x14036ea30]
mov r9, qword [r9 + rax]
mov r10, qword [0x14036ea38]
mov r10, qword [r10 + rax]
shld r9, r10, 0xa
movabs r10, 0x981358583b8409fe
xor r9, r10
and rcx, r9
mov r9b, byte [r14 + rcx]
mov cl, byte [r12 + rcx]
sub r9b, cl
movzx ecx, r9b
mov r9, rdx
add r9, rcx
mov rcx, qword [0x14036ea40]
mov rcx, qword [rcx + rax]
mov rdx, qword [0x14036ea48]
mov rdx, qword [rdx + rax]
shld rcx, rdx, 5
movabs rdx, 0x1b14bc0cdfcc92df
xor rcx, rdx
mov r10, r9
add r10, rcx
mov rcx, qword [rdi]
mov rdx, qword [0x14036ea50]
mov r11, rdx
add r11, rax
mov rdx, qword [r11 + rcx*8]
mov rcx, qword [r11 + r8*8]
mov qword [r13], rcx
mov rcx, qword [0x14036ea50]
lea rcx, [rcx + r10*8]
mov rcx, qword [rax + rcx]
mov qword [rsi], rcx
mov r8, qword [rdi]
mov rcx, qword [0x14036ea58]
mov ecx, dword [rcx + rax]
mov r10, qword [0x14036ea60]
mov r10d, dword [r10 + rax]
imul ecx, ecx, 0xcd9bd9ac
imul r10d, r10d, 0xac163d45
add ecx, r10d
add cl, 0x21
mov r10, r9
shr r10, cl
xor r9, r10
mov rcx, qword [0x14036ea68]
mov rcx, qword [rcx + rax]
mov r10, qword [0x14036ea70]
mov r10, qword [r10 + rax]
movabs r11, 0x1ddd57b0254f4a0c
imul rcx, r11
movabs r11, 0x42de69113b7c4928
imul r10, r11
add rcx, r10
movabs r10, 0x3c7cfa925239cb27
add rcx, r10
and r9, rcx
mov cl, byte [r14 + r9]
mov r9b, byte [r12 + r9]
sub cl, r9b
movzx ecx, cl
add r8, rcx
mov rcx, qword [0x14036ea78]
mov rcx, qword [rcx + rax]
mov r9, qword [0x14036ea80]
mov rax, qword [r9 + rax]
movabs r9, 0xa344456f23455ce2
imul rcx, r9
movabs r9, 0xb99321784ceabf08
imul rax, r9
add rcx, rax
movabs rax, 0xf284e8adfb60a4cf
add rcx, rax
add rcx, r8
mov qword [rdi], rcx
mov eax, 0xdc2248c9
mov rcx, rdx
sub rcx, rax
je 0x140096de0
jmp 0x140096dc2
mov eax, 0xdc2248ca
mov rcx, rdx
sub rcx, rax
je 0x140096e2d
jmp 0x140096dd1
mov eax, 0xdc2248cb
sub rdx, rax
je 0x140096e39
jmp 0x140097693
mov rax, qword [r13]
mov rcx, rax
sub rcx, 0x2f57c950
je 0x140096ff4
jmp 0x140096df6
mov rcx, rax
sub rcx, 0x4c26290f
je 0x140096e98
jmp 0x140096e08
mov rcx, rax
sub rcx, 0x69b54a4e
je 0x140097445
jmp 0x140096e1a
mov ecx, 0xe5fda52c
sub rax, rcx
je 0x140097480
jmp 0x140097693
mov rax, qword [r13]
mov qword [rdi], rax
jmp 0x140097695
mov rax, qword [r15]
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036ea88]
mov rcx, qword [rcx]
movabs rdx, 0x1ede665aa2357b77
add rdx, qword [0x14036ea90]
mov rdx, qword [rdx]
shl rcx, 0x3c
shr rdx, 4
or rcx, rdx
movabs rdx, 0x4c84909714244250
xor rcx, rdx
cmp rax, rcx
jne 0x140096e8d
mov rax, qword [r13]
mov qword [rdi], rax
jmp 0x140097695
mov rax, qword [rsi]
mov qword [rdi], rax
jmp 0x140097695
mov rax, qword [rbp - 0x18]
mov eax, dword [rax]
mov rcx, qword [rbp - 0x20]
mov edx, dword [rcx]
sub eax, edx
sete al
mov rcx, qword [0x14036eaa0]
movabs r8, 0x1ede665aa2357b77
mov ecx, dword [rcx + r8]
shr ecx, 0x14
xor cl, 0xd7
mov r9d, edx
shl r9d, cl
xor edx, r9d
mov rcx, qword [0x14036eaa8]
mov ecx, dword [rcx + r8]
mov r9, qword [0x14036eab0]
mov r8d, dword [r9 + r8]
shld ecx, r8d, 4
xor ecx, 0x701c01c3
and edx, ecx
movsxd rcx, edx
mov dl, byte [r14 + rcx]
mov cl, byte [r12 + rcx]
sub dl, cl
add al, dl
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036eab8]
mov rcx, qword [rcx]
movabs rdx, 0x1ede665aa2357b77
add rdx, qword [0x14036eac0]
mov rdx, qword [rdx]
movabs r8, 0xf4d047e3567dce11
imul rcx, r8
movabs r8, 0x6ae83552f589fcbd
imul rdx, r8
add rcx, rdx
movabs rdx, 0xb30982917c5a82
add rcx, rdx
movabs rdx, 0x1ede665aa2357b77
add rdx, qword [0x14036eac8]
mov rdx, qword [rdx]
movabs r8, 0x1ede665aa2357b77
add r8, qword [0x14036ead0]
mov r8, qword [r8]
movabs r9, 0xe0feb03ce1ec8a05
imul rdx, r9
movabs r9, 0xb2f6bda37bb13ae4
imul r8, r9
add rdx, r8
movabs r8, 0x5f603697b9735cc0
add rdx, r8
test al, 1
cmovne rdx, rcx
mov qword [r15], rdx
movabs rax, 0x1ede665aa2357b77
add rax, qword [0x14036ead8]
mov eax, dword [rax]
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036eae0]
mov ecx, dword [rcx]
imul eax, eax, 0x61225e1c
imul ecx, ecx, 0xb957e2d7
add eax, ecx
add eax, 0x6ea49d1d
mov rcx, qword [rbp]
mov dword [rcx], eax
jmp 0x140097693
mov r15, r12
mov r12, r14
mov rax, qword [rbp]
mov r14d, dword [rax]
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
movsxd rcx, r14d
mov bl, byte [rax + rcx]
sub rsp, 0x20
call fcn.140133e20
add rsp, 0x20
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036eae8]
mov ecx, dword [rcx]
movabs rdx, 0x1ede665aa2357b77
add rdx, qword [0x14036eaf0]
mov edx, dword [rdx]
shl ecx, 0x17
shr edx, 9
or ecx, edx
xor ecx, 0x10018ef6
mov edx, r14d
shl edx, cl
mov ecx, r14d
xor ecx, edx
movabs rdx, 0x1ede665aa2357b77
add rdx, qword [0x14036eaf8]
mov edx, dword [rdx]
movabs r8, 0x1ede665aa2357b77
add r8, qword [0x14036eb00]
mov r8d, dword [r8]
imul edx, edx, 0xff63eac2
imul r8d, r8d, 0x6328405
add edx, r8d
add edx, 0x7b8c4383
and ecx, edx
movsxd rdx, ecx
mov dl, byte [r12 + rdx]
movsxd rcx, ecx
mov cl, byte [r15 + rcx]
sub dl, cl
movzx ecx, dl
mov r8d, eax
add r8d, ecx
movabs rax, 0x1ede665aa2357b77
mov rcx, rax
add rcx, qword [0x14036eb08]
mov eax, r14d
xor edx, edx
movsxd r8, r8d
div dword [rcx + r8*4]
movsxd rax, edx
mov rcx, qword [rbp - 0x40]
xor bl, byte [rcx + rax]
movsxd rax, r14d
mov rcx, qword [rbp - 0x38]
mov byte [rcx + rax], bl
sub rsp, 0x20
call fcn.140133eb0
add rsp, 0x20
mov ebx, eax
movabs rax, 0x1ede665aa2357b77
mov rcx, rax
add rcx, qword [0x14036eb10]
movsxd rdx, ebx
mov eax, r14d
add eax, dword [rcx + rdx*4]
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036eb18]
mov ecx, dword [rcx]
movabs rdx, 0x1ede665aa2357b77
add rdx, qword [0x14036eb20]
mov edx, dword [rdx]
shl ecx, 1
shr edx, 0x1f
or ecx, edx
xor ecx, 0x5ec5f8f4
mov edx, r14d
shl edx, cl
mov ecx, r14d
xor ecx, edx
movabs rdx, 0x1ede665aa2357b77
add rdx, qword [0x14036eb28]
mov edx, dword [rdx]
movabs r8, 0x1ede665aa2357b77
add r8, qword [0x14036eb30]
mov r8d, dword [r8]
shl edx, 0x19
shr r8d, 7
or edx, r8d
xor edx, 0x661347d4
and ecx, edx
movsxd rdx, ecx
mov dl, byte [r12 + rdx]
movsxd rcx, ecx
mov cl, byte [r15 + rcx]
sub dl, cl
movzx ecx, dl
add eax, ecx
mov r13, rsi
mov rsi, qword [rbp - 0x30]
mov dword [rsi], eax
sub rsp, 0x20
call fcn.140133f20
add rsp, 0x20
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036eb38]
mov ecx, dword [rcx]
movabs rdx, 0x1ede665aa2357b77
add rdx, qword [0x14036eb40]
mov edx, dword [rdx]
shl ecx, 0x19
shr edx, 7
or ecx, edx
xor ecx, 0x48366beb
mov edx, r14d
shl edx, cl
xor r14d, edx
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036eb48]
mov ecx, dword [rcx]
movabs rdx, 0x1ede665aa2357b77
add rdx, qword [0x14036eb50]
mov edx, dword [rdx]
imul ecx, ecx, 0x3f962828
imul edx, edx, 0x5df6e758
add ecx, edx
add ecx, 0xb97e5097
and r14d, ecx
movsxd rcx, r14d
mov cl, byte [r12 + rcx]
movsxd rdx, r14d
mov r14, r12
mov r12, r15
mov r15, qword [rbp - 8]
mov dl, byte [r12 + rdx]
sub cl, dl
movzx ecx, cl
mov r8d, eax
add r8d, ecx
movabs rax, 0x1ede665aa2357b77
add rax, qword [0x14036eb58]
movsxd rcx, r8d
mov eax, dword [rax + rcx*4]
mov edx, dword [rsi]
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036eb60]
mov ecx, dword [rcx]
movabs r9, 0x1ede665aa2357b77
add r9, qword [0x14036eb68]
mov r9d, dword [r9]
imul ecx, ecx, 0xb1b8f8f8
imul r9d, r9d, 0xb2a90cca
add ecx, r9d
add ecx, 0x5129df91
mov r9d, r8d
shl r9d, cl
xor r8d, r9d
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036eb70]
mov ecx, dword [rcx]
movabs r9, 0x1ede665aa2357b77
add r9, qword [0x14036eb78]
mov r9d, dword [r9]
imul ecx, ecx, 0x1011cbaa
imul r9d, r9d, 0xf7754420
add ecx, r9d
add ecx, 0xc9c3ac13
and r8d, ecx
movsxd rcx, r8d
mov cl, byte [r14 + rcx]
movsxd r8, r8d
mov r8b, byte [r12 + r8]
sub cl, r8b
movzx ecx, cl
add edx, ecx
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036eb80]
mov rcx, qword [rcx]
movabs r8, 0x1ede665aa2357b77
add r8, qword [0x14036eb88]
mov r8, qword [r8]
movabs r9, 0x15800256fe89b9cc
imul rcx, r9
movabs r9, 0x30dbef0119205e78
imul r8, r9
add rcx, r8
movabs r8, 0xbb5eec7f3e1ba3f1
add rcx, r8
movabs r8, 0x1ede665aa2357b77
add r8, qword [0x14036eb90]
mov r8, qword [r8]
movabs r9, 0x1ede665aa2357b77
add r9, qword [0x14036eb98]
mov r9, qword [r9]
shl r8, 5
shr r9, 0x3b
or r8, r9
movabs r9, 0x6d1b489ae32bbc66
xor r8, r9
cmp edx, eax
cmove r8, rcx
mov qword [r15], r8
mov eax, dword [rsi]
mov rsi, r13
mov r13, qword [rbp - 0x28]
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036eba0]
mov ecx, dword [rcx]
movabs rdx, 0x1ede665aa2357b77
add rdx, qword [0x14036eba8]
mov edx, dword [rdx]
imul ecx, ecx, 0x95a7206e
imul edx, edx, 0xfaba71b9
add ecx, edx
add ecx, 0x6a00db9a
mov edx, ebx
shl edx, cl
xor ebx, edx
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036ebb0]
mov ecx, dword [rcx]
movabs rdx, 0x1ede665aa2357b77
add rdx, qword [0x14036ebb8]
mov edx, dword [rdx]
imul ecx, ecx, 0x816df6fd
imul edx, edx, 0xb369bdb7
add ecx, edx
add ecx, 0x5332b98e
and ebx, ecx
movsxd rcx, ebx
mov cl, byte [r14 + rcx]
movsxd rdx, ebx
mov dl, byte [r12 + rdx]
sub cl, dl
movzx ecx, cl
add eax, ecx
mov rcx, qword [rbp]
mov dword [rcx], eax
jmp 0x140097693
sub rsp, 0x20
call fcn.140133fa0
add rsp, 0x20
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036ebc0]
cdqe
mov eax, dword [rcx + rax*4]
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036e9d0]
mov dword [rcx], eax
jmp 0x140097693
movabs rax, 0x1ede665aa2357b77
add rax, qword [0x14036ebc8]
mov r8d, dword [rax]
movabs rax, 0x1ede665aa2357b77
add rax, qword [0x14036ebd0]
mov edx, dword [rax]
movabs rax, 0x1ede665aa2357b77
add rax, qword [0x14036ebd8]
mov eax, dword [rax]
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036ebe0]
mov ecx, dword [rcx]
shl eax, 8
shr ecx, 0x18
or eax, ecx
mov ecx, eax
xor ecx, 0xa9ecc77b
mov eax, r8d
shl eax, cl
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036ebe8]
mov ecx, dword [rcx]
movabs r9, 0x1ede665aa2357b77
add r9, qword [0x14036ebf0]
mov r9d, dword [r9]
imul ecx, ecx, 0x35a10786
imul r9d, r9d, 0xec845084
add ecx, r9d
add ecx, 0x483ba2c7
mov r9d, r8d
shl r9d, cl
xor r8d, r9d
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036ebf8]
mov ecx, dword [rcx]
movabs r9, 0x1ede665aa2357b77
add r9, qword [0x14036ec00]
mov r9d, dword [r9]
imul ecx, ecx, 0xe04db8b4
imul r9d, r9d, 0x9bc70e83
add ecx, r9d
add ecx, 0x3067f672
and r8d, ecx
movsxd rcx, r8d
mov cl, byte [r14 + rcx]
movsxd r8, r8d
mov r8b, byte [r12 + r8]
sub cl, r8b
movzx ecx, cl
add edx, ecx
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036ec08]
mov ecx, dword [rcx]
movabs r8, 0x1ede665aa2357b77
add r8, qword [0x14036ec10]
mov r8d, dword [r8]
shl ecx, 0x15
shr r8d, 0xb
or ecx, r8d
xor ecx, 0xefca5165
mov r8d, edx
shr r8d, cl
or eax, r8d
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036ec18]
mov ecx, dword [rcx]
movabs r8, 0x1ede665aa2357b77
add r8, qword [0x14036ec20]
mov r8d, dword [r8]
shl ecx, 0x12
shr r8d, 0xe
or ecx, r8d
xor ecx, 0xafcfa144
mov r8d, edx
shl r8d, cl
xor edx, r8d
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036ec28]
mov ecx, dword [rcx]
movabs r8, 0x1ede665aa2357b77
add r8, qword [0x14036ec30]
mov r8d, dword [r8]
shl ecx, 5
shr r8d, 0x1b
or ecx, r8d
xor ecx, 0x46cec476
and edx, ecx
movsxd rcx, edx
mov cl, byte [r14 + rcx]
movsxd rdx, edx
mov dl, byte [r12 + rdx]
sub cl, dl
movzx ecx, cl
add eax, ecx
movabs rcx, 0x1ede665aa2357b77
add rcx, qword [0x14036ec38]
mov ecx, dword [rcx]
movabs rdx, 0x1ede665aa2357b77
add rdx, qword [0x14036ec40]
mov edx, dword [rdx]
shl ecx, 9
shr edx, 0x17
or ecx, edx
xor ecx, 0xcf9c7345
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 0x140097695
jmp 0x140096bd6