Function at 0x14003b8a0
Capabilities:
Encode data using base64

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 [0x140213ee0]
movabs rbx, 0x485d02f97948fb68
mov eax, dword [rax + rbx]
mov rcx, qword [0x140213ee8]
mov ecx, dword [rcx + rbx]
imul eax, eax, 0x787fabee
imul ecx, ecx, 0xea4f988b
lea eax, [rax + rcx + 0x15619ce9]
shl rax, 8
call fcn.140053000
sub rsp, rax
mov rcx, rsp
mov qword [rbp - 8], rcx
mov rax, qword [0x140213ef0]
mov eax, dword [rax + rbx]
mov rdx, qword [0x140213ef8]
mov edx, dword [rdx + rbx]
imul eax, eax, 0x1ba64d76
imul edx, edx, 0x46de8f17
lea eax, [rax + rdx + 0x485f93af]
shl rax, 8
call fcn.140053000
sub rsp, rax
mov rax, rsp
mov r12, rax
mov rdx, qword [0x140213f00]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140213f08]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x20
movabs r8, 0x1dcbbb2896a49561
xor rdx, r8
mov qword [rcx], rdx
mov rdx, qword [0x140213f10]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140213f18]
mov r8, qword [r8 + rbx]
movabs r9, 0xb7c543a1b36883e1
imul rdx, r9
movabs r9, 0x990d8eafec3823c8
imul r8, r9
add rdx, r8
movabs r8, 0x6f38825724ffbd71
add rdx, r8
mov qword [rax], rdx
mov rdx, qword [0x140213f20]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140213f28]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0xf
movabs r8, 0x6ff8ccfdbc59951d
xor rdx, r8
mov qword [rcx + 8], rdx
mov rdx, qword [0x140213f30]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140213f38]
mov r8, qword [r8 + rbx]
movabs r9, 0xf95aba4b7eb1af96
imul rdx, r9
movabs r9, 0xbebc5afae0b162a2
imul r8, r9
add rdx, r8
movabs r8, 0x7f105d2ea3a326d8
add rdx, r8
mov qword [rax + 8], rdx
mov rdx, qword [0x140213f40]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140213f48]
mov r8, qword [r8 + rbx]
movabs r9, 0x182ad9fd87b5f8ed
imul rdx, r9
movabs r9, 0x3c8d45b41935414e
imul r8, r9
add rdx, r8
movabs r8, 0x53a006caa7497520
add rdx, r8
mov qword [rcx + 0x10], rdx
mov rdx, qword [0x140213f50]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140213f58]
mov r8, qword [r8 + rbx]
movabs r9, 0x6a8d05f0f57ae5ea
imul rdx, r9
movabs r9, 0xb87e95b049ebcff9
imul r8, r9
add rdx, r8
movabs r8, 0xf0597200f0a7a49d
add rdx, r8
mov qword [rax + 0x10], rdx
mov rdx, qword [0x140213f60]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140213f68]
mov r8, qword [r8 + rbx]
movabs r9, 0x657d84d61388f7bf
imul rdx, r9
movabs r9, 0x6c61a47ae645186f
imul r8, r9
add rdx, r8
movabs r8, 0x558130a751ed2792
add rdx, r8
mov qword [rcx + 0x18], rdx
mov rdx, qword [0x140213f70]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140213f78]
mov r8, qword [r8 + rbx]
movabs r9, 0xdcd34c49e790887c
imul rdx, r9
movabs r9, 0x5d20b1cd90cb06d1
imul r8, r9
add rdx, r8
movabs r8, 0xcf9c216a06f61be4
add rdx, r8
mov qword [rax + 0x18], rdx
mov rdx, qword [0x140213f80]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140213f88]
mov r8, qword [r8 + rbx]
movabs r9, 0x5092d6e896d3e879
imul rdx, r9
movabs r9, 0xd743c9140de6c387
imul r8, r9
add rdx, r8
movabs r8, 0xbd0fd8a2bbac47ca
add rdx, r8
mov qword [rcx + 0x20], rdx
mov rdx, qword [0x140213f90]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140213f98]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0xc
movabs r8, 0x72873c91c424acf0
xor rdx, r8
mov qword [rax + 0x20], rdx
mov rdx, qword [0x140213fa0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140213fa8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x25
movabs r8, 0xcb5ac0fa94dd7589
xor rdx, r8
mov qword [rcx + 0x28], rdx
mov rdx, qword [0x140213fb0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140213fb8]
mov r8, qword [r8 + rbx]
movabs r9, 0x6368563c8835b594
imul rdx, r9
movabs r9, 0xa2d1e424c4ae4ff6
imul r8, r9
add rdx, r8
movabs r8, 0xdfd04bac566fdfb6
add rdx, r8
mov qword [rax + 0x28], rdx
mov rdx, qword [0x140213fc0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140213fc8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 6
movabs r8, 0x1885f4789580835a
xor rdx, r8
mov qword [rcx + 0x30], rdx
mov rdx, qword [0x140213fd0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140213fd8]
mov r8, qword [r8 + rbx]
movabs r9, 0xaf95c4e4b379f46
imul rdx, r9
movabs r9, 0x56eb19d376774f71
imul r8, r9
add rdx, r8
movabs r8, 0x4cf0b84cb4fe129b
add rdx, r8
mov qword [rax + 0x30], rdx
mov rdx, qword [0x140213fe0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140213fe8]
mov r8, qword [r8 + rbx]
movabs r9, 0xfe2cf8f3c70f3b1d
imul rdx, r9
movabs r9, 0x1d89ca2f871dd78b
imul r8, r9
add rdx, r8
movabs r8, 0x8de44af19dc0a1a7
add rdx, r8
mov qword [rcx + 0x38], rdx
mov rdx, qword [0x140213ff0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140213ff8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x32
movabs r8, 0x63ee99b5a0c80e61
xor rdx, r8
mov qword [rax + 0x38], rdx
mov rdx, qword [0x140214000]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214008]
mov r8, qword [r8 + rbx]
movabs r9, 0x3301bcd766f98330
imul rdx, r9
movabs r9, 0x6a0a24d0ea12a66a
imul r8, r9
add rdx, r8
movabs r8, 0x68e2ce6e13f8d67c
add rdx, r8
mov qword [rcx + 0x40], rdx
mov rdx, qword [0x140214010]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214018]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x10
movabs r8, 0xa2728e487c63fb92
xor rdx, r8
mov qword [rax + 0x40], rdx
mov rdx, qword [0x140214020]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214028]
mov r8, qword [r8 + rbx]
movabs r9, 0x804d3d27cac21648
imul rdx, r9
movabs r9, 0xfb2f2d81a376dcc3
imul r8, r9
add rdx, r8
movabs r8, 0xf3fa8aa59b688c88
add rdx, r8
mov qword [rcx + 0x48], rdx
mov rdx, qword [0x140214030]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214038]
mov r8, qword [r8 + rbx]
movabs r9, 0x31efe40f3f198298
imul rdx, r9
movabs r9, 0x1d64f0843d09e73f
imul r8, r9
add rdx, r8
movabs r8, 0x43ebda795b9c9591
add rdx, r8
mov qword [rax + 0x48], rdx
mov rdx, qword [0x140214040]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214048]
mov r8, qword [r8 + rbx]
movabs r9, 0x7728821894f79357
imul rdx, r9
movabs r9, 0x90a1e3143298e247
imul r8, r9
add rdx, r8
movabs r8, 0x767cb121a0515429
add rdx, r8
mov qword [rcx + 0x50], rdx
mov rdx, qword [0x140214050]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214058]
mov r8, qword [r8 + rbx]
movabs r9, 0xd49ad234ef6acc11
imul rdx, r9
movabs r9, 0xfdcf0130209e5ad3
imul r8, r9
add rdx, r8
movabs r8, 0x718fe4b995f5df59
add rdx, r8
mov qword [rax + 0x50], rdx
mov rdx, qword [0x140214060]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214068]
mov r8, qword [r8 + rbx]
movabs r9, 0x4a24af49bf153c17
imul rdx, r9
movabs r9, 0x110ff234f9ebee07
imul r8, r9
add rdx, r8
movabs r8, 0xa6f13b6c497bba39
add rdx, r8
mov qword [rcx + 0x58], rdx
mov rdx, qword [0x140214070]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214078]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x33
movabs r8, 0xd7485e7a607b85de
xor rdx, r8
mov qword [rax + 0x58], rdx
mov rdx, qword [0x140214080]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214088]
mov r8, qword [r8 + rbx]
movabs r9, 0xd28ebedc8cf264b9
imul rdx, r9
movabs r9, 0xd819055bd40af0db
imul r8, r9
add rdx, r8
movabs r8, 0x7297f9f867d28a53
add rdx, r8
mov qword [rcx + 0x60], rdx
mov rdx, qword [0x140214090]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214098]
mov r8, qword [r8 + rbx]
shld rdx, r8, 5
movabs r8, 0xc21431b5ef382629
xor rdx, r8
mov qword [rax + 0x60], rdx
mov rdx, qword [0x1402140a0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402140a8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x2d
movabs r8, 0x8fc97bd5756ff733
xor rdx, r8
mov qword [rcx + 0x68], rdx
mov rdx, qword [0x1402140b0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402140b8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x17
movabs r8, 0x47b58d49d1c6fc80
xor rdx, r8
mov qword [rax + 0x68], rdx
mov rdx, qword [0x1402140c0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402140c8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0xa
movabs r8, 0xeb5e410cb2fdb978
xor rdx, r8
mov qword [rcx + 0x70], rdx
mov rdx, qword [0x1402140d0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402140d8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x39
movabs r8, 0x63bbb44331702ac8
xor rdx, r8
mov qword [rax + 0x70], rdx
mov rdx, qword [0x1402140e0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402140e8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x39
movabs r8, 0xe8336183b97350c6
xor rdx, r8
mov qword [rcx + 0x78], rdx
mov rdx, qword [0x1402140f0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402140f8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x34
movabs r8, 0x5070dd3a46400d3c
xor rdx, r8
mov qword [rax + 0x78], rdx
mov rdx, qword [0x140214100]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214108]
mov r8, qword [r8 + rbx]
movabs r9, 0xc7b462de82297760
imul rdx, r9
movabs r9, 0x5e0d69b9a5403c5
imul r8, r9
add rdx, r8
movabs r8, 0x467701af4c613a06
add rdx, r8
mov qword [rcx + 0x80], rdx
mov rdx, qword [0x140214110]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214118]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x34
movabs r8, 0x15d20168f1be245a
xor rdx, r8
mov qword [rax + 0x80], rdx
mov rdx, qword [0x140214120]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214128]
mov r8, qword [r8 + rbx]
movabs r9, 0xb0a34714971c56a
imul rdx, r9
movabs r9, 0xbb576d4d2d3292e2
imul r8, r9
add rdx, r8
movabs r8, 0x789c773d4eb0177e
add rdx, r8
mov qword [rcx + 0x88], rdx
mov rdx, qword [0x140214130]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214138]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x13
movabs r8, 0x481a0fb9e31036f1
xor rdx, r8
mov qword [rax + 0x88], rdx
mov rdx, qword [0x140214140]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214148]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x2c
movabs r8, 0x5c8437d444167be2
xor rdx, r8
mov qword [rcx + 0x90], rdx
mov rdx, qword [0x140214150]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214158]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x2e
movabs r8, 0xda330ec16b9f5ae1
xor rdx, r8
mov qword [rax + 0x90], rdx
mov rdx, qword [0x140214160]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214168]
mov r8, qword [r8 + rbx]
movabs r9, 0x3a86d923324d6e9e
imul rdx, r9
movabs r9, 0xd8895ab4e14e5759
imul r8, r9
add rdx, r8
movabs r8, 0x5ed3c5d2dcff8282
add rdx, r8
mov qword [rcx + 0x98], rdx
mov rdx, qword [0x140214170]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214178]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x34
movabs r8, 0x70b49c87a5425df5
xor rdx, r8
mov qword [rax + 0x98], rdx
mov rdx, qword [0x140214180]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214188]
mov r8, qword [r8 + rbx]
movabs r9, 0x49c6196ae64c8402
imul rdx, r9
movabs r9, 0x508ff1e7f011d419
imul r8, r9
add rdx, r8
movabs r8, 0xd8d3a82117cc3eec
add rdx, r8
mov qword [rcx + 0xa0], rdx
mov rdx, qword [0x140214190]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214198]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x16
movabs r8, 0x74c903fe285f50f6
xor rdx, r8
mov qword [rax + 0xa0], rdx
mov rdx, qword [0x1402141a0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402141a8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x19
movabs r8, 0x80f77c19189c7d4c
xor rdx, r8
mov qword [rcx + 0xa8], rdx
mov rdx, qword [0x1402141b0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402141b8]
mov r8, qword [r8 + rbx]
movabs r9, 0xe6d280a1334a8fc6
imul rdx, r9
movabs r9, 0xf13ddb51652a86b3
imul r8, r9
add rdx, r8
movabs r8, 0x3cf3aaa843f34596
add rdx, r8
mov qword [rax + 0xa8], rdx
mov rdx, qword [0x1402141c0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402141c8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x25
movabs r8, 0x312f39c7ee01a279
xor rdx, r8
mov qword [rcx + 0xb0], rdx
mov rdx, qword [0x1402141d0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402141d8]
mov r8, qword [r8 + rbx]
movabs r9, 0x18b65628ba1adece
imul rdx, r9
movabs r9, 0xfcb4d28ce6a58b0d
imul r8, r9
add rdx, r8
movabs r8, 0xdde7bf3ddf62aeb0
add rdx, r8
mov qword [rax + 0xb0], rdx
mov rdx, qword [0x1402141e0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402141e8]
mov r8, qword [r8 + rbx]
movabs r9, 0x2fe92f28095e24f0
imul rdx, r9
movabs r9, 0x462cae4b1f3a838b
imul r8, r9
add rdx, r8
movabs r8, 0xa8f159a2da7326ef
add rdx, r8
mov qword [rcx + 0xb8], rdx
mov rdx, qword [0x1402141f0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402141f8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x1c
movabs r8, 0xbf42297e1e642f38
xor rdx, r8
mov qword [rax + 0xb8], rdx
mov rdx, qword [0x140214200]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214208]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x3d
movabs r8, 0x5553488650b65e06
xor rdx, r8
mov qword [rcx + 0xc0], rdx
mov rdx, qword [0x140214210]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214218]
mov r8, qword [r8 + rbx]
movabs r9, 0x4ef6ef74614bbf8
imul rdx, r9
movabs r9, 0x4376f601d8989573
imul r8, r9
add rdx, r8
movabs r8, 0xbf5f19101444393e
add rdx, r8
mov qword [rax + 0xc0], rdx
mov rdx, qword [0x140214220]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214228]
mov r8, qword [r8 + rbx]
movabs r9, 0x50896eb4aaf26659
imul rdx, r9
movabs r9, 0x5be53abcc6b063aa
imul r8, r9
add rdx, r8
movabs r8, 0x3b197937ef9c54da
add rdx, r8
mov qword [rcx + 0xc8], rdx
mov rdx, qword [0x140214230]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214238]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x3f
movabs r8, 0x153a0220eee29964
xor rdx, r8
mov qword [rax + 0xc8], rdx
mov rdx, qword [0x140214240]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214248]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x3c
movabs r8, 0xe35b55848201f776
xor rdx, r8
mov qword [rcx + 0xd0], rdx
mov rdx, qword [0x140214250]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214258]
mov r8, qword [r8 + rbx]
movabs r9, 0x9182166f77056201
imul rdx, r9
movabs r9, 0x9f3643218edb7eec
imul r8, r9
add rdx, r8
movabs r8, 0xf28962b2d8adee28
add rdx, r8
mov qword [rax + 0xd0], rdx
mov rdx, qword [0x140214260]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214268]
mov r8, qword [r8 + rbx]
movabs r9, 0x233a4f1a4fcf657e
imul rdx, r9
movabs r9, 0x89ad7a467fa32492
imul r8, r9
add rdx, r8
movabs r8, 0xc91db8d9a49d7ef8
add rdx, r8
mov qword [rcx + 0xd8], rdx
mov rdx, qword [0x140214270]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214278]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x24
movabs r8, 0x9a93b78458c61d61
xor rdx, r8
mov qword [rax + 0xd8], rdx
mov rdx, qword [0x140214280]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214288]
mov r8, qword [r8 + rbx]
movabs r9, 0x3ee922f1c1322c87
imul rdx, r9
movabs r9, 0xaa168d357bc30a6b
imul r8, r9
add rdx, r8
movabs r8, 0xd13695c6fcfb57ea
add rdx, r8
mov qword [rcx + 0xe0], rdx
mov rdx, qword [0x140214290]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x140214298]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x1b
movabs r8, 0xbc207cf4b2a973a0
xor rdx, r8
mov qword [rax + 0xe0], rdx
mov rdx, qword [0x1402142a0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402142a8]
mov r8, qword [r8 + rbx]
movabs r9, 0x160d237b4d72e6e9
imul rdx, r9
movabs r9, 0x3c4bead4c5e81590
imul r8, r9
add rdx, r8
movabs r8, 0xa0f2db2164e8ee35
add rdx, r8
mov qword [rcx + 0xe8], rdx
mov rdx, qword [0x1402142b0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402142b8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x2b
movabs r8, 0xe2171d666725b1d3
xor rdx, r8
mov qword [rax + 0xe8], rdx
mov rdx, qword [0x1402142c0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402142c8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 7
movabs r8, 0x757a86538226ffb4
xor rdx, r8
mov qword [rcx + 0xf0], rdx
mov rdx, qword [0x1402142d0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402142d8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x1a
movabs r8, 0xadd6e6fba768ae47
xor rdx, r8
mov qword [rax + 0xf0], rdx
mov rdx, qword [0x1402142e0]
mov rdx, qword [rdx + rbx]
mov r8, qword [0x1402142e8]
mov r8, qword [r8 + rbx]
shld rdx, r8, 0x22
movabs r8, 0xe197b365926a354e
xor rdx, r8
mov qword [rcx + 0xf8], rdx
mov rcx, qword [0x1402142f0]
mov rcx, qword [rcx + rbx]
mov rdx, qword [0x1402142f8]
mov rdx, qword [rdx + rbx]
shld rcx, rdx, 0x23
movabs rdx, 0xd4d405d993469f82
xor rcx, rdx
mov qword [rax + 0xf8], rcx
mov rax, qword [0x140214300]
mov eax, dword [rax + rbx]
mov rcx, qword [0x140214308]
mov ecx, dword [rcx + rbx]
shld eax, ecx, 2
xor eax, 0xd4b0b4d0
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140053000
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
mov rax, qword [0x140214310]
mov eax, dword [rax + rbx]
mov rcx, qword [0x140214318]
mov ecx, dword [rcx + rbx]
shld eax, ecx, 7
xor eax, 0x7cbce191
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140053000
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x38], rax
mov rax, qword [0x140214320]
mov eax, dword [rax + rbx]
mov rcx, qword [0x140214328]
mov ecx, dword [rcx + rbx]
imul eax, eax, 0x30f8bb86
imul ecx, ecx, 0xdd426d5f
lea eax, [rax + rcx + 0x66b20d96]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140053000
sub rsp, rax
mov rsi, rsp
mov rax, qword [0x140214330]
mov eax, dword [rax + rbx]
mov rcx, qword [0x140214338]
mov ecx, dword [rcx + rbx]
imul eax, eax, 0x7a10c5ea
imul ecx, ecx, 0x3f94e9c5
lea eax, [rax + rcx + 0x6d55f9]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140053000
sub rsp, rax
mov rdi, rsp
mov rax, qword [0x140214340]
mov eax, dword [rax + rbx]
mov rcx, qword [0x140214348]
mov ecx, dword [rcx + rbx]
imul eax, eax, 0x43cf8caa
imul ecx, ecx, 0x104e081e
lea eax, [rax + rcx + 0x19abeb1]
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140053000
sub rsp, rax
mov r14, rsp
mov qword [rbp - 0x30], r14
mov rax, qword [0x140214350]
mov eax, dword [rax + rbx]
mov rcx, qword [0x140214358]
mov ecx, dword [rcx + rbx]
shld eax, ecx, 0x1b
xor eax, 0x889c7f0c
lea rax, [rax*4 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140053000
sub rsp, rax
mov rcx, rsp
mov qword [rbp - 0x28], rcx
mov rax, qword [0x140214360]
mov eax, dword [rax + rbx]
mov rdx, qword [0x140214368]
mov edx, dword [rdx + rbx]
imul eax, eax, 0xdab63967
imul edx, edx, 0xdbc2be07
lea eax, [rax + rdx + 0x79430ce6]
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140053000
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x48], r10
add r10, 0x19
mov qword [rax], r10
mov rax, qword [0x140214370]
mov eax, dword [rax + rbx]
mov dword [rcx], eax
sub rsp, 0x20
call fcn.140052a50
add rsp, 0x20
mov rcx, qword [0x140214378]
cdqe
lea rax, [rcx + rax*4]
mov eax, dword [rbx + rax]
mov dword [r14], eax
mov rax, qword [0x140214380]
mov eax, dword [rax + rbx]
mov rcx, qword [0x140214388]
mov ecx, dword [rcx + rbx]
shld eax, ecx, 0x1e
xor eax, 0x1277c99b
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140053000
sub rsp, rax
mov rax, rsp
mov r13, rax
mov rcx, qword [0x140214390]
mov rcx, qword [rcx + rbx]
mov rdx, qword [0x140214398]
mov rdx, qword [rdx + rbx]
movabs r8, 0xffa86617d48c2eab
imul rcx, r8
movabs r8, 0xeddc372de3f03dce
imul rdx, r8
add rcx, rdx
movabs rdx, 0x776aff0b398fcf4e
add rcx, rdx
mov qword [rax], rcx
mov rax, qword [0x1402143a0]
mov eax, dword [rax + rbx]
mov rcx, qword [0x1402143a8]
mov ecx, dword [rcx + rbx]
shld eax, ecx, 0x1e
xor eax, 0xcd5b997c
lea rax, [rax*8 + 0xf]
and rax, 0xfffffffffffffff0
call fcn.140053000
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x10], rax
mov r8, qword [r13]
mov rax, qword [0x1402143b0]
movabs rdx, 0x485d02f97948fb68
mov rax, qword [rax + rdx]
mov rcx, qword [0x1402143b8]
mov rcx, qword [rcx + rdx]
movabs r9, 0xf676cb4fc9fc81f6
imul rax, r9
movabs r9, 0x4f2e294afdfff672
imul rcx, r9
add rax, rcx
mov r9, rax
add r9, r8
mov rax, qword [0x1402143c0]
mov r10, qword [rax + rdx]
mov rax, qword [0x1402143c8]
mov r11, qword [rax + rdx]
mov rax, qword [0x1402143d0]
lea rax, [rax + r8*8]
mov rax, qword [rdx + rax]
mov rcx, qword [0x1402143e0]
mov rcx, qword [rcx + rdx]
shr rcx, 0x29
xor cl, 1
mov rbx, r8
shr rbx, cl
mov rcx, r8
xor rcx, rbx
mov rbx, qword [0x1402143e8]
mov rbx, qword [rbx + rdx]
mov r14, qword [0x1402143f0]
mov r14, qword [r14 + rdx]
movabs r15, 0x2d41ef16f45b2271
imul rbx, r15
movabs r15, 0xfa3b615748070c63
imul r14, r15
add rbx, r14
movabs r14, 0x1e6a503ab6ab3fba
add rbx, r14
and rcx, rbx
mov r14, qword [rbp - 8]
mov bl, byte [r14 + rcx]
mov cl, byte [r12 + rcx]
sub bl, cl
movzx ecx, bl
add r9, rcx
shld r10, r11, 0x1b
movabs rcx, 0x788c8d64a3fb208
xor r10, rcx
mov rcx, r8
add rcx, r10
mov r10, qword [0x1402143d0]
lea r9, [r10 + r9*8]
movabs r10, 0x3fc2d17c3ddd34e0
mov r9, qword [r10 + r9]
mov qword [rdi], r9
mov r9, qword [0x1402143d0]
lea rcx, [r9 + rcx*8]
mov rcx, qword [rdx + rcx]
mov qword [rsi], rcx
mov rcx, qword [r13]
mov r9, qword [0x1402143f8]
mov r9, qword [r9 + rdx]
mov r10, qword [0x140214400]
mov r10, qword [r10 + rdx]
movabs r11, 0xc187c3584d42bb5
imul r9, r11
movabs r11, 0xc633965ce75d841c
imul r10, r11
add r9, r10
add r9, rcx
mov rcx, qword [0x140214408]
mov ecx, dword [rcx + rdx]
mov r10, qword [0x140214410]
mov r10d, dword [r10 + rdx]
imul ecx, ecx, 0x697975a5
imul r10d, r10d, 0xa1dd7b5
add ecx, r10d
add cl, 0x26
mov r10, r8
shr r10, cl
xor r8, r10
mov rcx, qword [0x140214418]
mov rcx, qword [rcx + rdx]
mov r10, qword [0x140214420]
mov rdx, qword [r10 + rdx]
shld rcx, rdx, 0x3e
movabs rdx, 0xac0650849092a739
xor rcx, rdx
and r8, rcx
mov cl, byte [r14 + r8]
mov dl, byte [r12 + r8]
sub cl, dl
movzx ecx, cl
movabs rdx, 0x3223cddc07b0d44e
add r9, rdx
add r9, rcx
mov qword [r13], r9
mov rcx, rax
sub rcx, 0x35c0382d
je 0x14003cc43
jmp 0x14003cc28
mov rcx, rax
sub rcx, 0x35c0382e
je 0x14003cc8f
jmp 0x14003cc36
sub rax, 0x35c0382f
je 0x14003cc9b
jmp 0x14003d317
mov rax, qword [rdi]
mov rcx, rax
sub rcx, 0x215c6619
je 0x14003d023
jmp 0x14003cc58
mov rcx, rax
sub rcx, 0x3d4a8e1e
je 0x14003d0f6
jmp 0x14003cc6a
mov rcx, rax
sub rcx, 0x40737d13
je 0x14003ccff
jmp 0x14003cc7c
mov ecx, 0xf77a5331
sub rax, rcx
je 0x14003cddc
jmp 0x14003d317
mov rax, qword [rdi]
mov qword [r13], rax
jmp 0x14003d319
mov rax, qword [rbp - 0x10]
mov rax, qword [rax]
movabs rcx, 0x485d02f97948fb68
add rcx, qword [0x140214428]
mov rcx, qword [rcx]
movabs rdx, 0x485d02f97948fb68
add rdx, qword [0x140214430]
mov rdx, qword [rdx]
shl rcx, 0x36
shr rdx, 0xa
or rcx, rdx
movabs rdx, 0xc40cdc092908944a
xor rcx, rdx
cmp rax, rcx
jne 0x14003ccf3
mov rax, qword [rdi]
mov qword [r13], rax
jmp 0x14003d319
mov rax, qword [rsi]
mov qword [r13], rax
jmp 0x14003d319
mov rax, qword [rbp - 0x28]
mov eax, dword [rax]
mov rcx, qword [rbp - 0x30]
mov ecx, dword [rcx]
movabs rdx, 0x485d02f97948fb68
add rdx, qword [0x140214438]
mov rdx, qword [rdx]
movabs r8, 0x485d02f97948fb68
add r8, qword [0x140214440]
mov r8, qword [r8]
shl rdx, 0x31
shr r8, 0xf
or rdx, r8
movabs r8, 0xe7a1f452180bb84d
xor rdx, r8
movabs r8, 0x485d02f97948fb68
add r8, qword [0x140214448]
mov r8, qword [r8]
movabs r9, 0x485d02f97948fb68
add r9, qword [0x140214450]
mov r9, qword [r9]
shl r8, 0x2f
shr r9, 0x11
or r8, r9
movabs r9, 0x3b4da47e8dc3037c
xor r8, r9
cmp eax, ecx
cmove r8, rdx
mov rax, qword [rbp - 0x10]
mov qword [rax], r8
movabs rax, 0x485d02f97948fb68
add rax, qword [0x140214458]
mov eax, dword [rax]
movabs rcx, 0x485d02f97948fb68
add rcx, qword [0x140214460]
mov ecx, dword [rcx]
imul eax, eax, 0x50a4b04b
imul ecx, ecx, 0x91f55a8
add eax, ecx
add eax, 0xcb1bae27
mov rcx, qword [rbp - 0x18]
mov dword [rcx], eax
jmp 0x14003d317
mov rax, qword [rbp - 0x18]
movsxd r14, dword [rax]
mov ebx, r14d
mov rax, qword [rbp - 0x20]
mov rax, qword [rax]
mov al, byte [rax + r14]
mov byte [rbp + 7], al
sub rsp, 0x20
call fcn.140052ac0
add rsp, 0x20
mov rcx, qword [0x140214468]
cdqe
lea rax, [rcx + rax*4]
movabs r15, 0x485d02f97948fb68
mov ecx, dword [r15 + rax]
mov eax, ebx
xor edx, edx
div ecx
mov rax, qword [0x140214470]
mov eax, dword [rax + r15]
mov rcx, qword [0x140214478]
mov ecx, dword [rcx + r15]
imul eax, eax, 0x127beb58
imul ecx, ecx, 0xc733c0e1
add eax, ecx
mov cl, al
add cl, 0xcc
mov eax, ebx
shl eax, cl
mov ecx, ebx
xor ecx, eax
mov rax, qword [0x140214480]
mov eax, dword [rax + r15]
mov r8, qword [0x140214488]
mov r8d, dword [r8 + r15]
imul eax, eax, 0x2952c558
imul r8d, r8d, 0xfd48baba
lea eax, [rax + r8 + 0x2be4305f]
and ecx, eax
movsxd rax, ecx
mov rcx, qword [rbp - 8]
mov cl, byte [rcx + rax]
mov al, byte [r12 + rax]
sub cl, al
movzx eax, cl
add edx, eax
movsxd rax, edx
mov rcx, qword [rbp - 0x48]
mov al, byte [rcx + rax]
mov cl, byte [rbp + 7]
xor cl, al
mov rax, qword [rbp - 0x40]
mov byte [rax + r14], cl
sub rsp, 0x20
call fcn.140052b30
add rsp, 0x20
mov r14d, eax
mov rax, qword [0x140214490]
movsxd rcx, r14d
lea rax, [rax + rcx*4]
mov eax, dword [r15 + rax]
add ebx, eax
mov rax, qword [rbp - 0x38]
mov dword [rax], ebx
mov rbx, rax
sub rsp, 0x20
call fcn.140052bc0
add rsp, 0x20
mov rcx, qword [0x140214498]
cdqe
lea rax, [rcx + rax*4]
mov eax, dword [r15 + rax]
mov ecx, dword [rbx]
sub ecx, eax
sete al
mov rcx, qword [0x1402144a0]
mov ecx, dword [rcx + r15]
mov rdx, qword [0x1402144a8]
mov edx, dword [rdx + r15]
shld ecx, edx, 6
xor cl, 0xc8
mov edx, r14d
shl edx, cl
xor r14d, edx
mov rcx, qword [0x1402144b0]
mov ecx, dword [rcx + r15]
mov rdx, qword [0x1402144b8]
mov edx, dword [rdx + r15]
imul ecx, ecx, 0x166cb3b6
imul edx, edx, 0x617d3911
lea ecx, [rcx + rdx + 0x1e2518ef]
and r14d, ecx
movsxd rcx, r14d
mov rdx, qword [rbp - 8]
mov dl, byte [rdx + rcx]
mov cl, byte [r12 + rcx]
sub dl, cl
add al, dl
movabs rcx, 0x485d02f97948fb68
add rcx, qword [0x1402144c0]
mov rcx, qword [rcx]
movabs rdx, 0x485d02f97948fb68
add rdx, qword [0x1402144c8]
mov rdx, qword [rdx]
movabs r8, 0xbee3613a07e07f8
imul rcx, r8
movabs r8, 0xfd1774cd55ef2e3e
imul rdx, r8
add rcx, rdx
movabs rdx, 0xf3d0f20e4504aab9
add rcx, rdx
movabs rdx, 0x485d02f97948fb68
add rdx, qword [0x1402144d0]
mov rdx, qword [rdx]
movabs r8, 0x485d02f97948fb68
add r8, qword [0x1402144d8]
mov r8, qword [r8]
movabs r9, 0x380f81a03439c260
imul rdx, r9
movabs r9, 0xf37a596079c79c58
imul r8, r9
add rdx, r8
movabs r8, 0xc51f469569898f58
add rdx, r8
test al, 1
cmovne rdx, rcx
mov rax, qword [rbp - 0x10]
mov qword [rax], rdx
mov eax, dword [rbx]
mov rcx, qword [rbp - 0x18]
mov dword [rcx], eax
jmp 0x14003d317
sub rsp, 0x20
call fcn.140052c50
add rsp, 0x20
movabs rcx, 0x485d02f97948fb68
add rcx, qword [0x1402144e0]
movsxd rdx, eax
mov edx, dword [rcx + rdx*4]
movabs rcx, 0x485d02f97948fb68
add rcx, qword [0x1402144e8]
mov ecx, dword [rcx]
movabs r8, 0x485d02f97948fb68
add r8, qword [0x1402144f0]
mov r8d, dword [r8]
shl ecx, 3
shr r8d, 0x1d
or ecx, r8d
xor ecx, 0x30fa5be3
mov r8d, eax
shl r8d, cl
xor eax, r8d
movabs rcx, 0x485d02f97948fb68
add rcx, qword [0x1402144f8]
mov ecx, dword [rcx]
movabs r8, 0x485d02f97948fb68
add r8, qword [0x140214500]
mov r8d, dword [r8]
imul ecx, ecx, 0x6725c4ff
imul r8d, r8d, 0x1eb5f433
add ecx, r8d
add ecx, 0x32202bc9
and eax, ecx
movsxd rcx, eax
mov r8, qword [rbp - 8]
mov cl, byte [r8 + rcx]
cdqe
mov al, byte [r12 + rax]
sub cl, al
movzx eax, cl
add edx, eax
movabs rax, 0x485d02f97948fb68
add rax, qword [0x140214370]
mov dword [rax], edx
jmp 0x14003d317
movabs rax, 0x485d02f97948fb68
add rax, qword [0x140214508]
mov r8d, dword [rax]
movabs rax, 0x485d02f97948fb68
add rax, qword [0x140214510]
mov edx, dword [rax]
movabs rax, 0x485d02f97948fb68
add rax, qword [0x140214518]
mov eax, dword [rax]
movabs rcx, 0x485d02f97948fb68
add rcx, qword [0x140214520]
mov ecx, dword [rcx]
imul eax, eax, 0x7cd4f9bd
imul ecx, ecx, 0xbce6eba8
add eax, ecx
mov ecx, eax
add ecx, 0xbfb45f05
mov eax, r8d
shl eax, cl
movabs rcx, 0x485d02f97948fb68
add rcx, qword [0x140214528]
mov ecx, dword [rcx]
movabs r9, 0x485d02f97948fb68
add r9, qword [0x140214530]
mov r9d, dword [r9]
imul ecx, ecx, 0x720a3db7
imul r9d, r9d, 0x94e30682
add ecx, r9d
add ecx, 0xaf9831e2
mov r9d, r8d
shl r9d, cl
xor r8d, r9d
movabs rcx, 0x485d02f97948fb68
add rcx, qword [0x140214538]
mov ecx, dword [rcx]
movabs r9, 0x485d02f97948fb68
add r9, qword [0x140214540]
mov r9d, dword [r9]
shl ecx, 0x11
shr r9d, 0xf
or ecx, r9d
xor ecx, 0xc69fb6e8
and r8d, ecx
movsxd rcx, r8d
mov r9, qword [rbp - 8]
mov cl, byte [r9 + rcx]
movsxd r8, r8d
mov r8b, byte [r12 + r8]
sub cl, r8b
movzx ecx, cl
add edx, ecx
movabs rcx, 0x485d02f97948fb68
add rcx, qword [0x140214548]
mov ecx, dword [rcx]
movabs r8, 0x485d02f97948fb68
add r8, qword [0x140214550]
mov r8d, dword [r8]
imul ecx, ecx, 0x8b780b1b
imul r8d, r8d, 0x9f887028
add ecx, r8d
add ecx, 0x1e309edb
shr edx, cl
or eax, edx
movabs rcx, 0x485d02f97948fb68
add rcx, qword [0x140214558]
mov ecx, dword [rcx]
movabs r8, 0x485d02f97948fb68
add r8, qword [0x140214560]
mov r8d, dword [r8]
shl ecx, 0xe
shr r8d, 0x12
or ecx, r8d
xor ecx, 0xeaa87f91
xor eax, ecx
movabs rcx, 0x485d02f97948fb68
add rcx, qword [0x140214568]
mov ecx, dword [rcx]
movabs r8, 0x485d02f97948fb68
add r8, qword [0x140214570]
mov r8d, dword [r8]
imul ecx, ecx, 0xc75ffb15
imul r8d, r8d, 0xfb650b79
add ecx, r8d
add ecx, 0xf26d677a
mov r8d, edx
shl r8d, cl
xor edx, r8d
movabs rcx, 0x485d02f97948fb68
add rcx, qword [0x140214578]
mov ecx, dword [rcx]
movabs r8, 0x485d02f97948fb68
add r8, qword [0x140214580]
mov r8d, dword [r8]
shl ecx, 6
shr r8d, 0x1a
or ecx, r8d
xor ecx, 0x5b56e0de
and edx, ecx
movsxd rcx, edx
mov cl, byte [r9 + rcx]
movsxd rdx, edx
mov dl, byte [r12 + rdx]
sub cl, dl
movzx ecx, cl
add eax, ecx
lea rsp, [rbp + 8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
jmp 0x14003d319
jmp 0x14003ca36