Function at 0x140002180
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2c8
movaps xmmword [rsp + 0x2b0], xmm6
lea rax, [0x14014ba67]
mov qword [rsp + 0x70], rax
lea rsi, [rsp + 0x70]
mov rcx, qword [rsp + 0x70]
movabs rax, 0xdc5abe8be559213c
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001270
mov ecx, 0x8aa081a6
xor ecx, dword [rax]
mov dword [rsp + 0x120], ecx
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x120]
mov r8d, 4
call fcn.1400f8ef0
cmp byte [rsp + 0x48], 3
jne 0x140003d46
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
lea rax, [0x14014f4c5]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xb04841260ea6384b
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001950
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x76], 0
movabs rcx, 0x3e38386e4b4ca22a
xor rcx, qword [rax]
mov qword [rsp + 0x70], rcx
mov ecx, 0x1f897a74
xor ecx, dword [rax + 8]
mov dword [rsp + 0x78], ecx
movzx eax, word [rax + 0xc]
mov ecx, eax
shr ecx, 8
xor al, 0xf7
xor cl, 0xa0
mov byte [rsp + 0x7c], al
mov byte [rsp + 0x7d], cl
mov qword [rsp + 0x20], 0xe
lea rsi, [rsp + 0x290]
lea r9, [rsp + 0x70]
mov rcx, rsi
mov rdx, r15
mov r8, rbx
call fcn.1401015b0
mov rcx, rsi
call fcn.1400d47d0
mov r8, rdx
lea rbx, [rsp + 0x70]
mov rcx, rbx
mov rdx, rax
call fcn.140106b80
cmp dword [rsp + 0x70], 2
jne 0x14000231a
mov rdi, qword [rsp + 0x78]
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x140002309
lea rsi, [rdi - 1]
mov rcx, qword [rdi - 1]
mov rax, qword [rdi + 7]
call qword [rax]
mov rax, qword [rdi + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x1400022f6
mov r8, qword [rax + 0x10]
mov rcx, qword [rsi]
call fcn.14000e5c0
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.14000e5c0
call fcn.1400f0a80
cmp qword [rax], 0
je 0x14000236c
add rax, 8
jmp 0x140002376
mov rdx, qword [rsp + 0x290]
test rdx, rdx
je 0x14000233a
mov rcx, qword [rsp + 0x298]
mov r8d, 1
call fcn.14000e5c0
test r14, r14
je 0x140002350
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.14000e5c0
movaps xmm6, xmmword [rsp + 0x2b0]
add rsp, 0x2c8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rax
xor edx, edx
call fcn.1400051e0
movups xmm0, xmmword [rax]
inc qword [rax]
xorps xmm1, xmm1
movaps xmmword [rsp + 0x1a0], xmm1
mov qword [rsp + 0x1b0], 0
lea rax, [0x140151530]
mov qword [rsp + 0x1b8], rax
movaps xmmword [rsp + 0x1c0], xmm0
lea rax, [0x14014e9be]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xc98fba0e67f1437f
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.1400015a0
mov esi, dword [rax]
mov ecx, 4
mov edx, 1
call fcn.14000e5b0
test rax, rax
je 0x140003df0
xor esi, 0x1ed86cc0
mov qword [rsp + 0x30], 4
mov qword [rsp + 0x38], rax
mov dword [rax], esi
mov qword [rsp + 0x40], 4
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.140004de0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140002472
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x140002472
mov r8d, 1
call fcn.14000e5c0
lea rax, [0x14014cefd]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xef700c91187b122a
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.1400010f0
mov edi, dword [rax]
movzx esi, word [rax + 4]
mov ecx, 6
mov edx, 1
call fcn.14000e5b0
test rax, rax
je 0x140003df7
mov ecx, esi
shr ecx, 8
xor cl, 0x99
xor sil, 0x43
xor edi, 0xd3ea73e8
mov qword [rsp + 0x30], 6
mov qword [rsp + 0x38], rax
mov dword [rax], edi
mov byte [rax + 4], sil
mov byte [rax + 5], cl
mov qword [rsp + 0x40], 6
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.140004de0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140002551
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x140002551
mov r8d, 1
call fcn.14000e5c0
lea rax, [0x14014582c]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xcd65d2a1050a2c84
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001240
mov rdi, qword [rax]
movzx esi, word [rax + 8]
movzx ebx, byte [rax + 0xa]
mov ecx, 0xb
mov edx, 1
call fcn.14000e5b0
test rax, rax
je 0x140003dfe
shl ebx, 0x10
or esi, ebx
mov ecx, esi
shr ecx, 0x10
xor cl, 0x18
mov edx, esi
shr edx, 8
xor dl, 0x56
xor sil, 0x6d
movabs r8, 0xdcea31bc4aee02e
xor rdi, r8
mov qword [rsp + 0x30], 0xb
mov qword [rsp + 0x38], rax
mov qword [rax], rdi
mov byte [rax + 8], sil
mov byte [rax + 9], dl
mov byte [rax + 0xa], cl
mov qword [rsp + 0x40], 0xb
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.140004de0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x14000264d
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x14000264d
mov r8d, 1
call fcn.14000e5c0
lea rax, [0x1401425ff]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xffc13f2b15594c27
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.1400010c0
mov rdi, qword [rax]
mov esi, dword [rax + 8]
mov ecx, 0xc
mov edx, 1
call fcn.14000e5b0
test rax, rax
je 0x140003d35
xor esi, 0x4831fdf2
movabs rcx, 0x5994ada2a06e8941
xor rdi, rcx
mov qword [rsp + 0x30], 0xc
mov qword [rsp + 0x38], rax
mov qword [rax], rdi
mov dword [rax + 8], esi
mov qword [rsp + 0x40], 0xc
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.140004de0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x14000272a
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x14000272a
mov r8d, 1
call fcn.14000e5c0
lea rax, [0x14014b9db]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xce586e8b1bcc3594
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001cf0
mov rdi, qword [rax]
mov esi, dword [rax + 8]
mov ecx, 0xc
mov edx, 1
call fcn.14000e5b0
test rax, rax
je 0x140003d35
xor esi, 0x5584caa6
movabs rcx, 0xea98fce46a6e4147
xor rdi, rcx
mov qword [rsp + 0x30], 0xc
mov qword [rsp + 0x38], rax
mov qword [rax], rdi
mov dword [rax + 8], esi
mov qword [rsp + 0x40], 0xc
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.140004de0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140002807
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x140002807
mov r8d, 1
call fcn.14000e5c0
lea rax, [0x140142a74]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xa27314ea6928691c
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001120
mov rdi, qword [rax]
mov rsi, qword [rax + 8]
movzx ebx, byte [rax + 0x10]
mov ecx, 0x11
mov edx, 1
call fcn.14000e5b0
test rax, rax
je 0x140003e05
xor bl, 0xbb
movabs rcx, 0xd75c2ad8deecd397
xor rsi, rcx
movabs rcx, 0xb9c5ba363921e606
xor rdi, rcx
mov qword [rsp + 0x30], 0x11
mov qword [rsp + 0x38], rax
mov qword [rax], rdi
mov qword [rax + 8], rsi
mov byte [rax + 0x10], bl
mov qword [rsp + 0x40], 0x11
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.140004de0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x1400028f7
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x1400028f7
mov r8d, 1
call fcn.14000e5c0
lea rax, [0x14014cf4e]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0x74dddae855bb10f2
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001540
mov rdi, qword [rax]
mov esi, dword [rax + 8]
mov ecx, 0xc
mov edx, 1
call fcn.14000e5b0
test rax, rax
je 0x140003d35
xor esi, 0x8ed80be5
movabs rcx, 0x3479816fc64a9a0a
xor rdi, rcx
mov qword [rsp + 0x30], 0xc
mov qword [rsp + 0x38], rax
mov qword [rax], rdi
mov dword [rax + 8], esi
mov qword [rsp + 0x40], 0xc
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.140004de0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x1400029d4
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x1400029d4
mov r8d, 1
call fcn.14000e5c0
lea rax, [0x14014a334]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xdb7a5cd28f04dd7b
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001870
mov rsi, qword [rax]
movzx ebx, byte [rax + 8]
mov ecx, 9
mov edx, 1
call fcn.14000e5b0
test rax, rax
je 0x140003e0c
xor bl, 0x5c
movabs rcx, 0x1d9c1ba86b62923a
xor rsi, rcx
mov qword [rsp + 0x30], 9
mov qword [rsp + 0x38], rax
mov qword [rax], rsi
mov byte [rax + 8], bl
mov qword [rsp + 0x40], 9
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.140004de0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140002aaf
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x140002aaf
mov r8d, 1
call fcn.14000e5c0
lea rax, [0x140141bad]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xb1770464389818fe
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001a90
mov rbx, qword [rax]
mov rdi, qword [rax + 8]
movzx esi, word [rax + 0x10]
mov ecx, 0x12
mov edx, 1
call fcn.14000e5b0
test rax, rax
je 0x140003e13
mov qword [rsp + 0x1d0], r15
mov qword [rsp + 0x1d8], r14
mov ecx, esi
shr ecx, 8
xor cl, 0xb
xor sil, 0x68
movabs rdx, 0xcb066556e344b5a
xor rdi, rdx
movabs rdx, 0x2947a6d4181888d5
xor rbx, rdx
mov qword [rsp + 0x30], 0x12
mov qword [rsp + 0x38], rax
mov qword [rax], rbx
mov qword [rax + 8], rdi
mov byte [rax + 0x10], sil
mov byte [rax + 0x11], cl
mov qword [rsp + 0x40], 0x12
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 1
mov qword [rsp + 0x80], 0
lea rcx, [rsp + 0x120]
lea rdx, [rsp + 0x1a0]
lea r8, [rsp + 0x30]
lea rbx, [rsp + 0x70]
mov r9, rbx
call fcn.140004de0
mov rcx, qword [rsp + 0x128]
test rcx, rcx
je 0x140002bbc
mov rdx, qword [rsp + 0x120]
test rdx, rdx
je 0x140002bbc
mov r8d, 1
call fcn.14000e5c0
mov r9, qword [rsp + 0x1a0]
mov r15, qword [rsp + 0x1b0]
mov r8, qword [rsp + 0x1b8]
lea rcx, [r9 + 1]
movdqa xmm0, xmmword [r8]
test r9, r9
je 0x140002bfc
mov edx, 0x30
mov rax, rcx
mul rdx
jo 0x140002bf8
add r9, 0x11
add r9, rax
jae 0x140002c00
xor edx, edx
jmp 0x140002c05
xor edx, edx
jmp 0x140002c0b
mov edx, 0x10
mov r10, r8
sub r10, rax
lea rax, [r8 + 0x10]
pmovmskb r11d, xmm0
not r11d
add rcx, r8
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x130], r8
mov word [rsp + 0x138], r11w
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x148], r10
mov qword [rsp + 0x150], r9
mov qword [rsp + 0x158], rdx
test r15, r15
je 0x140003b69
lea r12, [rsp + 0x1e0]
xorps xmm6, xmm6
xor eax, eax
mov qword [rsp + 0x178], rax
jmp 0x140002c8f
mov r12, rbx
mov rbx, r14
test r15, r15
je 0x140003b69
movzx ecx, word [rsp + 0x138]
test cx, cx
je 0x140002cc0
mov rax, qword [rsp + 0x130]
lea edx, [rcx - 1]
and edx, ecx
mov word [rsp + 0x138], dx
test rax, rax
jne 0x140002d10
jmp 0x140003b69
mov rdx, qword [rsp + 0x120]
mov rax, qword [rsp + 0x130]
movdqa xmm0, xmmword [rdx]
pmovmskb ecx, xmm0
add rax, 0xfffffffffffffd00
add rdx, 0x10
cmp cx, 0xffff
je 0x140002cd0
mov qword [rsp + 0x130], rax
mov qword [rsp + 0x120], rdx
mov edx, 0xfffffffe
sub edx, ecx
not ecx
mov r8d, ecx
and r8d, edx
mov word [rsp + 0x138], r8w
dec r15
mov qword [rsp + 0x140], r15
tzcnt ecx, ecx
neg rcx
lea rcx, [rcx + rcx*2]
shl rcx, 4
mov rsi, qword [rax + rcx - 0x28]
test rsi, rsi
je 0x140003b69
mov r14, rbx
mov rbx, r12
lea rdx, [rax + rcx]
add rdx, 0xffffffffffffffd0
mov rdi, qword [rax + rcx - 0x30]
mov r13, qword [rax + rcx - 0x18]
mov rbp, qword [rax + rcx - 0x10]
mov r12, qword [rax + rcx - 8]
mov r8, qword [rdx + 0x10]
lea rcx, [rsp + 0x230]
mov rdx, rsi
call fcn.1400f8ef0
test rdi, rdi
je 0x140002d84
mov r8d, 1
mov rcx, rsi
mov rdx, rdi
call fcn.14000e5c0
movzx eax, byte [rsp + 0x248]
cmp eax, 2
je 0x140002f20
cmp eax, 3
jne 0x140002f00
mov rsi, qword [rsp + 0x230]
mov rdi, qword [rsp + 0x238]
mov r8, qword [rsp + 0x240]
mov qword [rsp + 0x20], r12
mov r12, rbx
mov rcx, rbx
mov rdx, rdi
mov r9, rbp
call fcn.1401015b0
test r13, r13
je 0x140002de2
mov r8d, 1
mov rcx, rbp
mov rdx, r13
call fcn.14000e5c0
test rsi, rsi
mov rbx, r14
je 0x140002dfb
mov r8d, 1
mov rcx, rdi
mov rdx, rsi
call fcn.14000e5c0
mov rcx, r12
call fcn.1400d47d0
mov r8, rdx
mov rcx, rbx
mov rdx, rax
call fcn.140106b80
cmp dword [rsp + 0x70], 2
lea r14, [rsp + 0x30]
jne 0x140002f3f
mov rsi, qword [rsp + 0x78]
mov eax, esi
and eax, 3
cmp eax, 1
jne 0x140002e6b
lea r13, [rsi - 1]
mov rcx, qword [rsi - 1]
mov rax, qword [rsi + 7]
call qword [rax]
mov rax, qword [rsi + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140002e58
mov r8, qword [rax + 0x10]
mov rcx, qword [r13]
call fcn.14000e5c0
mov edx, 0x18
mov r8d, 8
mov rcx, r13
call fcn.14000e5c0
mov rcx, r12
call fcn.1400d47d0
mov r8, rdx
mov rcx, rbx
mov rdx, rax
call fcn.140106b80
cmp dword [rsp + 0x70], 2
jne 0x140002f79
mov rdi, qword [rsp + 0x78]
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x140002ed5
lea rsi, [rdi - 1]
mov rcx, qword [rdi - 1]
mov rax, qword [rdi + 7]
call qword [rax]
mov rax, qword [rdi + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140002ec2
mov r8, qword [rax + 0x10]
mov rcx, qword [rsi]
call fcn.14000e5c0
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.14000e5c0
mov rdx, qword [rsp + 0x1e0]
test rdx, rdx
je 0x140002c86
mov rcx, qword [rsp + 0x1e8]
mov r8d, 1
call fcn.14000e5c0
jmp 0x140002c86
mov rdx, qword [rsp + 0x230]
test rdx, rdx
je 0x140002f20
mov rcx, qword [rsp + 0x238]
mov r8d, 1
call fcn.14000e5c0
test r13, r13
je 0x140002c80
mov r8d, 1
mov rcx, rbp
mov rdx, r13
call fcn.14000e5c0
jmp 0x140002c80
mov rsi, qword [rsp + 0x1e8]
mov r13, qword [rsp + 0x1f0]
test r13, r13
je 0x14000307f
js 0x140003d3f
mov edx, 1
mov rcx, r13
call fcn.14000e5b0
test rax, rax
jne 0x140003084
jmp 0x140003d6b
mov rcx, r12
call fcn.1400d47d0
mov r13, rax
mov rbp, rdx
lea rax, [0x14014d282]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xea140c87da20d570
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001060
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x73], 0
mov ecx, dword [rax]
mov edx, 0x77fe0899
xor ecx, edx
mov dword [rsp + 0x70], ecx
movzx ecx, word [rax + 4]
movzx eax, byte [rax + 6]
mov edx, ecx
shr edx, 8
xor cl, 0xf
xor dl, 0xe
mov byte [rsp + 0x74], cl
mov byte [rsp + 0x75], dl
xor al, 0x43
mov byte [rsp + 0x76], al
mov qword [rsp + 0x20], 7
lea rcx, [rsp + 0x200]
mov rdx, r13
mov r8, rbp
mov r9, rbx
call fcn.1401015b0
mov rcx, rbx
call fcn.1400f9830
cmp byte [rsp + 0x88], 2
je 0x140003d7a
movdqu xmm0, xmmword [rsp + 0x70]
movups xmm1, xmmword [rsp + 0x80]
movaps xmmword [rsp + 0x40], xmm1
movdqa xmmword [rsp + 0x30], xmm0
mov rsi, qword [rsp + 0x208]
mov r13, qword [rsp + 0x210]
test r13, r13
lea r15, [rsp + 0x260]
je 0x14000312c
js 0x140003d3f
mov edx, 1
mov rcx, r13
call fcn.14000e5b0
test rax, rax
jne 0x140003131
jmp 0x140003d6b
mov eax, 1
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], rax
mov rcx, rax
mov rdx, rsi
mov r8, r13
call fcn.1401497e0
mov qword [rsp + 0x80], r13
movzx eax, byte [rsp + 0x1f8]
mov byte [rsp + 0x88], al
call fcn.14000ede0
mov byte [rsp + 0x30], al
mov rcx, rbx
call fcn.1400d47d0
mov r8, rdx
mov rcx, r14
mov rdx, rax
call fcn.1400fa560
mov rbp, rax
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x1400030ef
mov rcx, qword [rsp + 0x78]
mov r8d, 1
call fcn.14000e5c0
test rbp, rbp
je 0x140002e6b
mov eax, ebp
and eax, 3
cmp eax, 1
jne 0x140002e6b
mov r13, rbp
dec r13
mov rcx, qword [rbp - 1]
mov rax, qword [rbp + 7]
call qword [rax]
mov rax, qword [rbp + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
jne 0x140002e4b
jmp 0x140002e58
mov eax, 1
mov qword [rsp + 0x70], r13
mov qword [rsp + 0x78], rax
mov rcx, rax
mov rdx, rsi
mov r8, r13
call fcn.1401497e0
mov qword [rsp + 0x80], r13
movzx eax, byte [rsp + 0x218]
mov byte [rsp + 0x88], al
mov rcx, r14
call fcn.1400d47d0
mov rsi, rax
mov rdi, rdx
mov rcx, rbx
call fcn.1400d47d0
mov qword [rsp + 0x20], rdx
mov rcx, r15
mov rdx, rsi
mov r8, rdi
mov r9, rax
call fcn.140107070
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x1400031a6
mov rcx, qword [rsp + 0x78]
mov r8d, 1
call fcn.14000e5c0
mov rdx, qword [rsp + 0x30]
test rdx, rdx
je 0x1400031c0
mov rcx, qword [rsp + 0x38]
mov r8d, 1
call fcn.14000e5c0
cmp qword [rsp + 0x260], 0
je 0x140003217
mov rdi, qword [rsp + 0x268]
mov eax, edi
and eax, 3
cmp eax, 1
jne 0x140003217
lea rsi, [rdi - 1]
mov rcx, qword [rdi - 1]
mov rax, qword [rdi + 7]
call qword [rax]
mov rax, qword [rdi + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140003204
mov r8, qword [rax + 0x10]
mov rcx, qword [rsi]
call fcn.14000e5c0
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.14000e5c0
lea rax, [0x14014962a]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xa561ce13cb6d2bbb
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001600
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x33], 0
mov ecx, dword [rax]
mov edx, 0x1aaf78e1
xor ecx, edx
mov dword [rsp + 0x30], ecx
movzx ecx, word [rax + 4]
movzx eax, byte [rax + 6]
mov edx, ecx
shr edx, 8
xor cl, 0x38
xor dl, 0x65
mov byte [rsp + 0x34], cl
mov byte [rsp + 0x35], dl
xor al, 0xd7
mov byte [rsp + 0x36], al
mov r8d, 7
mov rcx, rbx
mov rdx, r14
call fcn.140109d20
mov rcx, rbx
mov edx, 0x8000000
call fcn.1400fe920
lea rax, [0x14014a387]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0xdb8d9d953fc23572
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.140001ac0
mov word [rsp + 0x30], 0
movzx eax, word [rax]
mov ecx, eax
shr ecx, 8
xor al, 0xca
xor cl, 0x99
mov byte [rsp + 0x30], al
mov byte [rsp + 0x31], cl
mov r8d, 2
mov rcx, rbx
mov rdx, r14
call fcn.140109e20
lea rax, [0x14014b756]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0xf0a9b14d3225031b
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.140001c40
mov qword [rsp + 0x30], 0
mov rax, qword [rax]
movabs rcx, 0x8d772ef2c251090a
xor rax, rcx
mov qword [rsp + 0x30], rax
mov r8d, 8
mov rcx, rbx
mov rdx, r14
call fcn.140109e20
lea rax, [0x14014766a]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x9e4bb77076c53cc9
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.1400017e0
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x33], 0
mov ecx, dword [rax]
mov edx, 0xa70510de
xor ecx, edx
mov dword [rsp + 0x30], ecx
movzx ecx, word [rax + 4]
movzx eax, byte [rax + 6]
mov edx, ecx
shr edx, 8
xor cl, 0x71
xor dl, 0x98
mov byte [rsp + 0x34], cl
mov byte [rsp + 0x35], dl
xor al, 0xc4
mov byte [rsp + 0x36], al
mov r8d, 7
mov rcx, rbx
mov rdx, r14
call fcn.140109e20
lea rax, [0x140148747]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0xf398a3ce50ea2ca9
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.1400019d0
mov word [rsp + 0x30], 0
mov byte [rsp + 0x32], 0
movzx ecx, byte [rax + 2]
movzx eax, word [rax]
mov edx, eax
shr edx, 8
xor al, 0x53
xor dl, 0x57
mov byte [rsp + 0x30], al
mov byte [rsp + 0x31], dl
xor cl, 7
mov byte [rsp + 0x32], cl
mov r8d, 3
mov rcx, rbx
mov rdx, r14
call fcn.140109e20
lea rax, [0x1401425c0]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0xb5ebfaaf7b988aa1
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.140001b80
mov dword [rsp + 0x30], 0
mov word [rsp + 0x34], 0
mov ecx, dword [rax]
mov edx, 0xdf7c7d0b
xor ecx, edx
mov dword [rsp + 0x30], ecx
movzx eax, word [rax + 4]
mov ecx, eax
shr ecx, 8
xor al, 0xc5
xor cl, 0x99
mov byte [rsp + 0x34], al
mov byte [rsp + 0x35], cl
mov r8d, 6
mov rcx, rbx
mov rdx, r14
call fcn.140109e20
lea rax, [0x140150f19]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x5a76ffbb92df95a5
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.140001a30
mov word [rsp + 0x30], 0
mov byte [rsp + 0x32], 0
movzx ecx, byte [rax + 2]
movzx eax, word [rax]
mov edx, eax
shr edx, 8
xor al, 0x2d
xor dl, 0xfc
mov byte [rsp + 0x30], al
mov byte [rsp + 0x31], dl
xor cl, 0xa8
mov byte [rsp + 0x32], cl
mov r8d, 3
mov rcx, rbx
mov rdx, r14
call fcn.140109e20
lea rax, [0x1401484e4]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x6ace5a26b8e27fea
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.140001090
mov byte [rsp + 0x30], 0
movzx eax, byte [rax]
xor al, 0xf8
mov byte [rsp + 0x30], al
mov r8d, 1
mov rcx, rbx
mov rdx, r14
call fcn.140109e20
lea rax, [0x1401437d7]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x4eabea0c7e8e8d08
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.140001b20
mov word [rsp + 0x30], 0
mov byte [rsp + 0x32], 0
movzx ecx, byte [rax + 2]
movzx eax, word [rax]
mov edx, eax
shr edx, 8
not al
xor dl, 0x20
mov byte [rsp + 0x30], al
mov byte [rsp + 0x31], dl
xor cl, 0xc9
mov byte [rsp + 0x32], cl
mov r8d, 3
mov rcx, rbx
mov rdx, r14
call fcn.140109e20
lea rax, [0x140148d5e]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0x20c2b8965fd423a5
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.1400014e0
movaps xmmword [rsp + 0x160], xmm6
mov word [rsp + 0x170], 0
mov rcx, qword [rax]
movabs rdx, 0x720723a9c40a991d
xor rcx, rdx
mov qword [rsp + 0x160], rcx
mov rcx, qword [rax + 8]
movabs rdx, 0x5e4127a4583b5a90
xor rcx, rdx
mov qword [rsp + 0x168], rcx
movzx eax, word [rax + 0x10]
mov ecx, eax
shr ecx, 8
xor al, 0x3e
xor cl, 0xc5
mov byte [rsp + 0x170], al
mov byte [rsp + 0x171], cl
lea rax, [rsp + 0x160]
mov qword [rsp + 0x250], rax
mov qword [rsp + 0x258], 0x12
call fcn.1400e6ae0
mov r13, rax
lea rbp, [rax + 0x10]
mov rcx, qword [rax + 0x110]
cmp rcx, 0x3f
jae 0x1400036e9
lea rax, [rcx + 2]
mov qword [r13 + 0x110], rax
mov rdi, qword [r13 + rcx*4 + 0x10]
cmp rcx, 0x3d
jb 0x14000379f
cmp rax, 0x3f
jne 0x140003ac2
mov r15d, dword [r13 + 0x10c]
mov rsi, r13
add rsi, 0x120
call fcn.14000ede0
mov rcx, qword [r13 + 0x158]
test rcx, rcx
jle 0x140003b06
cmp qword [r13 + 0x160], rax
js 0x140003b06
add rcx, 0xffffffffffffff00
mov qword [r13 + 0x158], rcx
mov rcx, rsi
mov edx, 6
mov r8, rbp
call fcn.1400e6e90
jmp 0x140003b14
jne 0x140003736
mov r15d, dword [r13 + 0x10c]
mov rsi, r13
add rsi, 0x120
call fcn.14000ede0
mov rcx, qword [r13 + 0x158]
test rcx, rcx
jle 0x14000377a
cmp qword [r13 + 0x160], rax
js 0x14000377a
add rcx, 0xffffffffffffff00
mov qword [r13 + 0x158], rcx
mov rcx, rsi
mov edx, 6
mov r8, rbp
call fcn.1400e6e90
jmp 0x140003788
mov rsi, r13
add rsi, 0x120
call fcn.14000ede0
mov rcx, qword [r13 + 0x158]
test rcx, rcx
jle 0x1400037ad
cmp qword [r13 + 0x160], rax
js 0x1400037ad
add rcx, 0xffffffffffffff00
mov qword [r13 + 0x158], rcx
mov rcx, rsi
mov edx, 6
mov r8, rbp
call fcn.1400e6e90
jmp 0x1400037bb
mov rcx, rsi
mov rdx, rbp
mov r8, rax
call fcn.140006b40
mov edi, dword [rbp]
shl rdi, 0x20
or rdi, r15
mov eax, 1
lea r15, [rsp + 0x260]
lea rdx, [rax + 2]
mov rcx, qword [rsp + 0x178]
jmp 0x1400037cb
mov rcx, rsi
mov rdx, rbp
mov r8, rax
call fcn.140006b40
mov rdi, qword [rbp]
mov eax, 2
mov edx, 4
xor ecx, ecx
mov qword [r13 + 0x110], rdx
mov rax, qword [r13 + rax*4 + 0x10]
or rcx, rax
mov qword [rsp + 0x220], rdi
mov qword [rsp + 0x228], rcx
lea rax, [rsp + 0x250]
mov qword [rsp + 0x260], rax
lea rax, [0x1400059a0]
mov qword [rsp + 0x268], rax
lea rax, [rsp + 0x220]
mov qword [rsp + 0x270], rax
lea rax, [0x140124f50]
mov qword [rsp + 0x278], rax
lea rax, [0x1401511b0]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 2
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x58], 2
lea rcx, [rsp + 0x180]
mov rdx, r14
call fcn.14011a400
dec qword [r13]
jne 0x140003883
dec qword [r13 + 8]
jne 0x140003883
mov edx, 0x170
mov r8d, 0x10
mov rcx, r13
call fcn.14000e5c0
mov rsi, qword [rsp + 0x188]
mov r8, qword [rsp + 0x190]
mov rcx, rbx
mov rdx, rsi
call fcn.140109e20
mov rdx, qword [rsp + 0x180]
test rdx, rdx
je 0x1400038b9
mov r8d, 1
mov rcx, rsi
call fcn.14000e5c0
lea rax, [0x140149a95]
mov qword [rsp + 0x30], rax
mov rcx, qword [rsp + 0x30]
movabs rax, 0xd92ab305fc5f7070
mov qword [rsp + 0x30], rax
mov rdx, qword [rsp + 0x30]
call fcn.140001bb0
mov word [rsp + 0x30], 0
mov byte [rsp + 0x32], 0
movzx ecx, byte [rax + 2]
movzx eax, word [rax]
mov edx, eax
shr edx, 8
xor al, 0xd1
xor dl, 0x50
mov byte [rsp + 0x30], al
mov byte [rsp + 0x31], dl
xor cl, 6
mov byte [rsp + 0x32], cl
mov r8d, 3
mov rcx, rbx
mov rdx, r14
call fcn.140109e20
mov r13, qword [rsp + 0x208]
mov rbp, qword [rsp + 0x210]
test rbp, rbp
je 0x140003955
js 0x140003d3f
mov edx, 1
mov rcx, rbp
call fcn.14000e5b0
mov rsi, rax
test rax, rax
jne 0x14000395a
jmp 0x140003e68
mov esi, 1
mov rcx, rsi
mov rdx, r13
mov r8, rbp
call fcn.1401497e0
movzx eax, byte [rsp + 0x218]
mov qword [rsp + 0x180], rbp
mov qword [rsp + 0x188], rsi
mov qword [rsp + 0x190], rbp
mov byte [rsp + 0x198], al
lea rcx, [rsp + 0x180]
call fcn.1400d47d0
mov rcx, rax
call fcn.140108750
test rax, rax
je 0x140003da8
mov r8, rdx
mov rcx, r15
mov rdx, rax
call fcn.140129680
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 1
mov qword [rsp + 0x170], 0
mov rcx, r14
lea rdx, [rsp + 0x160]
lea r8, fcn.140001d80
call fcn.140125970
mov rcx, r15
mov rdx, r14
call fcn.14012e110
test al, al
jne 0x140003dc2
mov rsi, qword [rsp + 0x168]
mov r8, qword [rsp + 0x170]
mov rcx, rbx
mov rdx, rsi
call fcn.140109e20
mov rdx, qword [rsp + 0x160]
test rdx, rdx
je 0x140003a3f
mov r8d, 1
mov rcx, rsi
call fcn.14000e5c0
mov rdx, qword [rsp + 0x180]
test rdx, rdx
je 0x140003a5f
mov rcx, qword [rsp + 0x188]
mov r8d, 1
call fcn.14000e5c0
mov rcx, r14
mov rdx, rbx
call fcn.1401017b0
mov rcx, r14
call fcn.140001f40
mov rcx, rbx
call fcn.140001e00
mov rdx, qword [rsp + 0x200]
test rdx, rdx
je 0x140003a95
mov r8d, 1
mov rcx, r13
call fcn.14000e5c0
mov rdx, qword [rsp + 0x1e0]
test rdx, rdx
je 0x140003ab5
mov rcx, qword [rsp + 0x1e8]
mov r8d, 1
call fcn.14000e5c0
mov r15, qword [rsp + 0x140]
jmp 0x140002c86
mov rsi, r13
add rsi, 0x120
call fcn.14000ede0
mov rcx, qword [r13 + 0x158]
test rcx, rcx
jle 0x140003b3f
cmp qword [r13 + 0x160], rax
js 0x140003b3f
add rcx, 0xffffffffffffff00
mov qword [r13 + 0x158], rcx
mov rcx, rsi
mov edx, 6
mov r8, rbp
call fcn.1400e6e90
jmp 0x140003b4d
mov rcx, rsi
mov rdx, rbp
mov r8, rax
call fcn.140006b40
mov qword [r13 + 0x110], 1
mov eax, dword [r13 + 0x10]
shl rax, 0x20
or rax, r15
mov rcx, qword [rsp + 0x178]
lea r15, [rsp + 0x260]
jmp 0x1400037d7
mov rcx, rsi
mov rdx, rbp
mov r8, rax
call fcn.140006b40
mov qword [r13 + 0x110], 2
mov rax, qword [r13 + 0x10]
mov rcx, qword [rsp + 0x178]
jmp 0x1400037d7
lea rcx, [rsp + 0x120]
call fcn.14000ce40
lea rax, [0x140150479]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0x249739d66c6f3c18
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.1400014a0
mov ecx, 0x76179b04
xor ecx, dword [rax]
mov dword [rsp + 0x120], ecx
lea rcx, [rsp + 0x30]
lea rdx, [rsp + 0x120]
mov r8d, 4
call fcn.1400f8ef0
cmp byte [rsp + 0x48], 3
jne 0x140003e24
mov r14, qword [rsp + 0x30]
mov r15, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
lea rax, [0x140142b59]
mov qword [rsp + 0x70], rax
mov rcx, qword [rsp + 0x70]
movabs rax, 0xf08d77f63398dd12
mov qword [rsp + 0x70], rax
mov rdx, qword [rsp + 0x70]
call fcn.140001c60
movabs rcx, 0x149e7aeabf0c331d
xor rcx, qword [rax]
mov qword [rsp + 0x30], rcx
mov ecx, 0xa3a9b66b
xor ecx, dword [rax + 8]
mov dword [rsp + 0x38], ecx
movzx eax, word [rax + 0xc]
mov ecx, eax
shr ecx, 8
xor al, 0xf9
xor cl, 7
mov byte [rsp + 0x3c], al
mov byte [rsp + 0x3d], cl
mov qword [rsp + 0x20], 0xe
lea rsi, [rsp + 0x70]
lea r9, [rsp + 0x30]
mov rcx, rsi
mov rdx, r15
mov r8, r12
call fcn.1401015b0
mov rcx, rsi
call fcn.1400d47d0
lea r8, fcn.140001d50
mov rcx, rax
xor r9d, r9d
call fcn.1400fa270
mov rbx, rax
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x140003c96
mov rcx, qword [rsp + 0x78]
mov r8d, 1
call fcn.14000e5c0
test rbx, rbx
je 0x140003ce1
mov eax, ebx
and eax, 3
cmp eax, 1
jne 0x140003ce1
mov rsi, rbx
dec rsi
mov rcx, qword [rbx - 1]
mov rax, qword [rbx + 7]
call qword [rax]
mov rax, qword [rbx + 7]
mov rdx, qword [rax + 8]
test rdx, rdx
je 0x140003cce
mov r8, qword [rax + 0x10]
mov rcx, qword [rsi]
call fcn.14000e5c0
mov edx, 0x18
mov r8d, 8
mov rcx, rsi
call fcn.14000e5c0
test r14, r14
je 0x140003cf7
mov r8d, 1
mov rcx, r15
mov rdx, r14
call fcn.14000e5c0
mov rdx, qword [rsp + 0x290]
test rdx, rdx
je 0x140003d17
mov rcx, qword [rsp + 0x298]
mov r8d, 1
call fcn.14000e5c0
mov r14, qword [rsp + 0x1d8]
test r14, r14
mov r15, qword [rsp + 0x1d0]
jne 0x14000233f
jmp 0x140002350
mov ecx, 0xc
jmp 0x140003e18
call fcn.140119fd0
ud2
movdqu xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x80], xmm1
movdqa xmmword [rsp + 0x70], xmm0
lea rax, str.srcpersistance.rs
jmp 0x140003e44
mov edx, 1
mov rcx, r13
call fcn.14014e6d0
ud2
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x30], rax
lea rax, str.srcpersistance.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1401510f0]
lea r9, [0x140151140]
lea r8, [rsp + 0x30]
jmp 0x140003e5c
lea rcx, [0x1401511d0]
lea r8, str.srcpersistance.rs
mov edx, 0x2b
call fcn.14014e870
ud2
lea rax, [0x1401510b8]
mov qword [rsp + 0x20], rax
lea rcx, [0x140151030]
lea r9, fcn.140001d50
lea r8, [rsp + 0x220]
mov edx, 0x37
call fcn.14014ec90
ud2
mov ecx, 4
jmp 0x140003e18
mov ecx, 6
jmp 0x140003e18
mov ecx, 0xb
jmp 0x140003e18
mov ecx, 0x11
jmp 0x140003e18
mov ecx, 9
jmp 0x140003e18
mov ecx, 0x12
mov edx, 1
call fcn.14014e6d0
ud2
movdqu xmm0, xmmword [rsp + 0x30]
movups xmm1, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x80], xmm1
movdqa xmmword [rsp + 0x70], xmm0
lea rax, str.srcpersistance.rs
mov qword [rsp + 0x20], rax
lea rcx, [0x1401510f0]
lea r9, fcn.140001d60
lea r8, [rsp + 0x70]
mov edx, 0x2b
call fcn.14014ec90
ud2
mov edx, 1
mov rcx, rbp
call fcn.14014e6d0
ud2