Function at 0x1400a2670
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
mov eax, 0x16b8
call fcn.1400f04f0
sub rsp, rax
lea rbp, [rsp + 0x80]
and rsp, 0xffffffffffffffc0
mov rax, qword [0x140162028]
xor rax, rbp
mov qword [rsp + 0x16b0], rax
mov ebx, dword [r9 + 8]
test ebx, ebx
jle 0x1400a26bf
mov rsi, r9
mov r12, qword [r9]
mov rdi, qword [r12]
test dil, 1
jne 0x1400a2708
mov dword [rsp + 0x20], 0x392
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_exponentiation.c
xor edi, edi
mov ecx, 3
xor edx, edx
mov r8d, 0x68
call fcn.14009b3a0
mov rcx, qword [rsp + 0x16b0]
xor rcx, rbp
call fcn.1400f0560
mov eax, edi
lea rsp, [rbp + 0x1638]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
cmp dword [rsi + 0x10], 0
je 0x1400a272e
mov dword [rsp + 0x20], 0x396
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_exponentiation.c
xor edi, edi
mov ecx, 3
xor edx, edx
mov r8d, 0x6d
jmp 0x1400a26dd
mov r13, rdx
cmp dword [rdx + 0x10], 0
je 0x1400a2757
mov dword [rsp + 0x20], 0x39a
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_exponentiation.c
xor edi, edi
mov ecx, 3
xor edx, edx
mov r8d, 0x6b
jmp 0x1400a26dd
mov r15, r8
mov r8, rcx
mov r14d, dword [r13 + 8]
movsxd rdx, r14d
mov rcx, qword [r13]
mov qword [rsp + 0x78], r8
mov r8, r12
mov r9, rbx
call fcn.14009f180
mov rcx, qword [rsp + 0x78]
test eax, eax
jns 0x1400a2737
mov r8d, dword [r15 + 8]
test r8d, r8d
je 0x1400a294a
mov rbx, qword [rbp + 0x16a8]
mov rdx, qword [rbp + 0x16a0]
xor edi, edi
test rbx, rbx
mov qword [rsp + 0x60], r8
je 0x1400a2b8b
xor eax, eax
mov qword [rsp + 0x50], rax
mov r12d, dword [rbx + 0x20]
cmp r14d, 0x10
jne 0x1400a286f
cmp dword [r15 + 8], 0x10
jne 0x1400a286f
mov rcx, rsi
call fcn.14009ec50
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
cmp eax, 0x400
jne 0x1400a286f
mov edi, dword [0x140169e18]
mov eax, edi
and eax, 0x80100
mov edx, 0x80100
cmp eax, edx
je 0x1400a286f
and edi, 0x20
je 0x1400a286f
mov edx, 0x10
mov r14, rcx
call fcn.14009d600
test eax, eax
je 0x1400a3874
mov r10, qword [rbx]
mov rax, qword [rbx + 0x30]
mov r9, qword [rsi]
mov r8, qword [r15]
mov rdx, qword [r13]
mov rcx, qword [r14]
lea rdi, [rsp + 0xc0]
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r10
call fcn.1400a3c80
mov dword [r14 + 8], 0x10
mov dword [r14 + 0x10], 0
mov edi, 1
xor ebx, ebx
xor eax, eax
mov qword [rsp + 0x80], rax
jmp 0x1400a2bb7
mov qword [rsp + 0x70], rbx
movsxd rdx, r12d
mov eax, 6
cmp r8d, 0xe
jg 0x1400a28a3
mov eax, 5
cmp r8d, 4
jg 0x1400a28a3
mov eax, 4
cmp r8d, 1
jg 0x1400a28a3
sete al
movzx eax, al
add eax, eax
add eax, 1
xor edi, edi
cmp eax, 4
mov ecx, 5
cmovbe ecx, eax
mov qword [rsp + 0x48], r12
lea eax, [r12*8]
cmovbe rax, rdi
mov r14d, 1
shl r14d, cl
mov r12d, edx
mov dword [rsp + 0x6c], ecx
shl r12d, cl
mov qword [rsp + 0x40], rdx
lea rbx, [rdx + rdx]
cmp ebx, r14d
mov ecx, r14d
mov rdx, rbx
mov qword [rsp + 0x88], rbx
cmovge ecx, ebx
add ecx, r12d
movsxd rcx, ecx
lea rax, [rax + rcx*8]
mov rsi, rax
shl rsi, 0x20
mov qword [rsp + 0x80], rax
movsxd rbx, eax
cmp rbx, 0x15c1
jb 0x1400a2978
movabs rcx, 0x4000000000
add rcx, rsi
sar rcx, 0x20
call fcn.1400c67e0
test rax, rax
je 0x1400a2bb5
mov rcx, rax
mov qword [rsp + 0x58], rax
mov rdi, rax
and rdi, 0xffffffffffffffc0
add rdi, 0x40
jmp 0x1400a2987
xor rdi, 1
cmp ebx, 2
jl 0x1400a2c19
lea rdx, [rbx - 1]
add rbx, 0xfffffffffffffffe
mov eax, edx
and eax, 7
cmp rbx, 7
jae 0x1400a2bc8
mov ebx, 1
jmp 0x1400a2c02
lea rdi, [rsp + 0xc0]
xor eax, eax
mov qword [rsp + 0x58], rax
test rsi, rsi
je 0x1400a2999
mov rcx, rdi
xor edx, edx
mov r8, rbx
call fcn.1400f27e0
movsxd rax, r12d
mov qword [rsp + 0x38], rdi
lea rax, [rdi + rax*8]
lea rcx, [rsp + 0xa8]
mov qword [rcx], rax
mov rbx, qword [rsp + 0x40]
lea rax, [rax + rbx*8]
mov qword [rsp + 0x90], rax
xor edi, edi
mov dword [rsp + 0x98], edi
mov dword [rcx + 8], edi
mov dword [rsp + 0x9c], ebx
mov dword [rcx + 0xc], ebx
movabs rax, 0x200000000
mov qword [rsp + 0xa0], rax
mov qword [rcx + 0x10], rax
mov r12, qword [rsp + 0x70]
mov rdx, r12
mov rsi, qword [rbp + 0x16a0]
mov r8, rsi
call fcn.1400a43a0
test eax, eax
je 0x1400a3b62
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0x90]
mov rdx, r13
mov r8, r12
mov r9, r12
call fcn.1400a1b00
test eax, eax
je 0x1400a3b62
mov rax, qword [rsp + 0x60]
shl eax, 6
mov qword [rsp + 0x60], rax
cmp dword [rsp + 0x48], 2
mov r13d, dword [rsp + 0x6c]
jl 0x1400a2c7c
cmp r13d, 5
jne 0x1400a2c7c
movsxd rax, dword [rsp + 0x98]
cmp eax, dword [rsp + 0x48]
jge 0x1400a2adb
mov rdx, qword [rsp + 0x48]
sub edx, eax
mov rcx, rax
not rcx
add rcx, rbx
and rdx, 3
je 0x1400a2a92
mov rbx, qword [rsp + 0x90]
mov qword [rbx + rax*8], 0
inc rax
dec rdx
jne 0x1400a2a7a
cmp rcx, 3
mov rbx, qword [rsp + 0x40]
jb 0x1400a2adb
xor ecx, ecx
mov rdx, qword [rsp + 0x90]
mov qword [rdx + rax*8], rcx
mov rdx, qword [rsp + 0x90]
mov qword [rdx + rax*8 + 8], rcx
mov rdx, qword [rsp + 0x90]
mov qword [rdx + rax*8 + 0x10], rcx
mov rdx, qword [rsp + 0x90]
mov qword [rdx + rax*8 + 0x18], rcx
add rax, 4
cmp rbx, rax
jne 0x1400a2a9f
movsxd rax, dword [rsp + 0xb0]
cmp eax, dword [rsp + 0x48]
jge 0x1400a2b60
mov rdx, qword [rsp + 0x48]
sub edx, eax
mov rcx, rax
not rcx
add rcx, rbx
and rdx, 3
je 0x1400a2b17
mov rbx, qword [rsp + 0xa8]
mov qword [rbx + rax*8], 0
inc rax
dec rdx
jne 0x1400a2aff
cmp rcx, 3
mov rbx, qword [rsp + 0x40]
jb 0x1400a2b60
xor ecx, ecx
mov rdx, qword [rsp + 0xa8]
mov qword [rdx + rax*8], rcx
mov rdx, qword [rsp + 0xa8]
mov qword [rdx + rax*8 + 8], rcx
mov rdx, qword [rsp + 0xa8]
mov qword [rdx + rax*8 + 0x10], rcx
mov rdx, qword [rsp + 0xa8]
mov qword [rdx + rax*8 + 0x18], rcx
add rax, 4
cmp rbx, rax
jne 0x1400a2b24
mov rdx, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x48]
lea rcx, [rdi - 1]
mov eax, edi
and eax, 3
mov ebx, 3
cmp rcx, rbx
jae 0x1400a2f09
xor ecx, ecx
jmp 0x1400a2f60
mov rcx, rsi
call fcn.1400a19a0
test rax, rax
je 0x1400a2c5b
mov r14d, dword [r13 + 8]
mov rcx, rax
mov qword [rsp + 0x50], rax
mov rbx, rax
mov r8, qword [rsp + 0x60]
jmp 0x1400a27b3
xor ebx, ebx
xor eax, eax
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x50]
jmp 0x1400a3b6c
and rdx, 0xfffffffffffffff8
xor ebx, ebx
or rdi, qword [r12 + rbx*8 + 8]
or rdi, qword [r12 + rbx*8 + 0x10]
or rdi, qword [r12 + rbx*8 + 0x18]
or rdi, qword [r12 + rbx*8 + 0x20]
or rdi, qword [r12 + rbx*8 + 0x28]
or rdi, qword [r12 + rbx*8 + 0x30]
or rdi, qword [r12 + rbx*8 + 0x38]
or rdi, qword [r12 + rbx*8 + 0x40]
add rbx, 8
cmp rdx, rbx
jne 0x1400a2bce
inc rbx
test rax, rax
je 0x1400a2c19
lea rbx, [r12 + rbx*8]
xor edx, edx
or rdi, qword [rbx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x1400a2c0d
test rdi, rdi
je 0x1400a2c51
mov edx, 1
mov rsi, rcx
call fcn.14009d600
test eax, eax
je 0x1400a2c75
mov dword [rsi + 0x10], 0
mov rax, qword [rsi]
mov qword [rax], 1
mov dword [rsi + 8], 1
mov edi, 1
jmp 0x1400a26e2
xor eax, eax
mov dword [rcx + 0x10], eax
mov dword [rcx + 8], eax
jmp 0x1400a2c47
xor ecx, ecx
xor ebx, ebx
xor eax, eax
mov qword [rsp + 0x80], rax
xor eax, eax
mov qword [rsp + 0x38], rax
jmp 0x1400a3b6c
xor edi, edi
jmp 0x1400a26e2
lea r8, [rsp + 0xa8]
mov rsi, qword [rsp + 0x38]
mov rcx, rsi
mov rdx, rbx
call fcn.14009ed90
lea rcx, [rsi + rbx*8]
lea r8, [rsp + 0x90]
mov rdx, rbx
call fcn.14009ed90
cmp r13d, 2
jb 0x1400a2d7d
mov rax, qword [rbp + 0x16a0]
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0xa8]
lea rdx, [rsp + 0x90]
mov r8, rdx
mov r9, qword [rsp + 0x70]
call fcn.1400a1b00
test eax, eax
je 0x1400a3b62
mov rax, qword [rsp + 0x38]
mov rsi, rax
mov rax, qword [rsp + 0x88]
lea rcx, [rsi + rax*8]
lea r12, [rsp + 0xa8]
mov r13, qword [rsp + 0x40]
mov rdx, r13
mov r8, r12
call fcn.14009ed90
mov ebx, 4
cmp r14d, ebx
cmova ebx, r14d
lea rax, [r13*2]
add rax, r13
lea rsi, [rsi + rax*8]
lea r14, [r13*8]
add rbx, 0xfffffffffffffffd
lea r13, [rsp + 0x90]
mov rax, qword [rbp + 0x16a0]
mov qword [rsp + 0x20], rax
mov rcx, r12
mov rdx, r13
mov r8, r12
mov r9, qword [rsp + 0x70]
call fcn.1400a1b00
test eax, eax
je 0x1400a3b62
mov rcx, rsi
mov rdx, qword [rsp + 0x40]
mov r8, r12
call fcn.14009ed90
add rsi, r14
dec rbx
jne 0x1400a2d3e
mov rcx, qword [rsp + 0x60]
dec ecx
mov eax, ecx
cdq
mov r14d, dword [rsp + 0x6c]
idiv r14d
xor edi, edi
test edx, edx
js 0x1400a3862
inc edx
xor r9d, r9d
mov r8, qword [rsp + 0x48]
mov eax, r9d
add eax, r9d
mov r9d, 0
test ecx, ecx
js 0x1400a2dd5
movsxd rbx, dword [r15 + 8]
mov esi, ecx
shr esi, 6
mov r9d, 0
cmp rsi, rbx
jae 0x1400a2dd5
mov rbx, qword [r15]
mov r9, qword [rbx + rsi*8]
shr r9, cl
and r9d, 1
or r9d, eax
dec ecx
dec edx
test edx, edx
jg 0x1400a2da3
mov rsi, rcx
mov dword [rsp + 0x20], r14d
lea rcx, [rsp + 0xa8]
mov edx, r8d
mov r8, qword [rsp + 0x38]
call fcn.1400a4440
test eax, eax
je 0x1400a3b62
mov eax, 1
cmp r14d, eax
cmova eax, r14d
mov ecx, eax
neg ecx
mov dword [rsp + 0x40], ecx
lea r14, [rsp + 0xa8]
mov dword [rsp + 0x88], eax
test esi, esi
js 0x1400a3b3c
mov ecx, esi
sub ecx, eax
mov dword [rsp + 0x60], ecx
xor edi, edi
xor r12d, r12d
xor r13d, r13d
mov rax, qword [rbp + 0x16a0]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, r14
mov r8, r14
mov r9, qword [rsp + 0x70]
call fcn.1400a1b00
test eax, eax
je 0x1400a3b62
lea ecx, [rsi + r12]
mov eax, r13d
add eax, r13d
xor r13d, r13d
test ecx, ecx
js 0x1400a2e94
movsxd rbx, dword [r15 + 8]
mov edx, ecx
shr edx, 6
cmp rdx, rbx
jae 0x1400a2e94
mov rbx, qword [r15]
mov r13, qword [rbx + rdx*8]
shr r13, cl
and r13d, 1
or r13d, eax
dec r12d
cmp dword [rsp + 0x40], r12d
jne 0x1400a2e40
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0x20], eax
lea rsi, [rsp + 0x90]
mov rcx, rsi
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x38]
mov r9d, r13d
call fcn.1400a4440
xor edi, edi
test eax, eax
je 0x1400a3b62
mov rax, qword [rbp + 0x16a0]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, r14
mov r8, rsi
mov r9, qword [rsp + 0x70]
call fcn.1400a1b00
mov ecx, dword [rsp + 0x60]
mov esi, ecx
test eax, eax
mov eax, dword [rsp + 0x88]
jne 0x1400a2e28
jmp 0x1400a3b62
mov ebx, edi
and ebx, 0xfffffffc
mov rcx, qword [rsp + 0x40]
lea rdi, [rdx + rcx*8]
add rdi, 0x18
xor ecx, ecx
mov rsi, qword [r12 + 0x18]
mov rsi, qword [rsi + rcx*8]
mov qword [rdi + rcx*8 - 0x18], rsi
mov rsi, qword [r12 + 0x18]
mov rsi, qword [rsi + rcx*8 + 8]
mov qword [rdi + rcx*8 - 0x10], rsi
mov rsi, qword [r12 + 0x18]
mov rsi, qword [rsi + rcx*8 + 0x10]
mov qword [rdi + rcx*8 - 8], rsi
mov rsi, qword [r12 + 0x18]
mov rsi, qword [rsi + rcx*8 + 0x18]
mov qword [rdi + rcx*8], rsi
add rcx, 4
cmp rbx, rcx
jne 0x1400a2f1d
lea r13, [r12 + 0x30]
mov rbx, qword [rsp + 0x40]
lea r14, [rdx + rbx*8]
test rax, rax
je 0x1400a2f88
mov rdx, qword [r12 + 0x18]
mov rdx, qword [rdx + rcx*8]
mov qword [r14 + rcx*8], rdx
inc rcx
dec rax
jne 0x1400a2f73
mov rcx, qword [rsp + 0xa8]
mov rdx, rbx
mov rdi, qword [rsp + 0x38]
mov r8, rdi
xor r9d, r9d
call fcn.14000a3f0
movsxd rdx, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x90]
mov r9d, 1
mov r8, rdi
call fcn.14000a3f0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov r8, rdx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov r9d, 2
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov r9d, 4
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov r9d, 8
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x10
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x48]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x30], 2
mov r8, rdi
mov r9, r14
call fcn.140007180
mov rcx, qword [rsp + 0xa8]
mov r9d, 3
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov r9d, 6
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov r9d, 0xc
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x18
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x30], 4
mov r8, rdi
mov r9, r14
call fcn.140007180
mov rcx, qword [rsp + 0xa8]
mov r9d, 5
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov r9d, 0xa
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x14
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x30], 6
mov r8, rdi
mov r9, r14
call fcn.140007180
mov rcx, qword [rsp + 0xa8]
mov r9d, 7
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov r9d, 0xe
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x1c
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x30], 8
mov r8, rdi
mov r9, r14
call fcn.140007180
mov rcx, qword [rsp + 0xa8]
mov r9d, 9
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x12
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x30], 0xa
mov r8, rdi
mov r9, r14
call fcn.140007180
mov rcx, qword [rsp + 0xa8]
mov r9d, 0xb
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x16
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x30], 0xc
mov r8, rdi
mov r9, r14
call fcn.140007180
mov rcx, qword [rsp + 0xa8]
mov r9d, 0xd
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x1a
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x30], 0xe
mov r8, rdi
mov r9, r14
call fcn.140007180
mov rcx, qword [rsp + 0xa8]
mov r9d, 0xf
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x1e
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x30], 0x10
mov r8, rdi
mov r9, r14
call fcn.140007180
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x11
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x30], 0x12
mov r8, rdi
mov r9, r14
call fcn.140007180
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x13
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x30], 0x14
mov r8, rdi
mov r9, r14
call fcn.140007180
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x15
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x30], 0x16
mov r8, rdi
mov r9, r14
call fcn.140007180
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x17
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x30], 0x18
mov r8, rdi
mov r9, r14
call fcn.140007180
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x19
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x30], 0x1a
mov r8, rdi
mov r9, r14
call fcn.140007180
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x1b
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x30], 0x1c
mov r8, rdi
mov r9, r14
call fcn.140007180
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x1d
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
mov rdx, qword [rsp + 0x90]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
mov dword [rsp + 0x30], 0x1e
mov r8, rdi
mov r9, r14
call fcn.140007180
mov rcx, qword [rsp + 0xa8]
mov r9d, 0x1f
mov rdx, rbx
mov r8, rdi
call fcn.14000a3f0
xor r9d, r9d
mov rsi, qword [rsp + 0x60]
lea r12d, [rsi - 1]
movsxd rcx, r12d
imul rax, rcx, 0x66666667
mov rdx, rax
shr rdx, 0x3f
sar rax, 0x21
add eax, edx
lea eax, [rax + rax*4]
sub ecx, eax
js 0x1400a3899
lea eax, [rsi - 0x40]
or eax, 0x3f
js 0x1400a377e
movsxd rbx, dword [r15 + 8]
mov rdx, rax
shr rdx, 6
cmp rdx, rbx
jae 0x1400a377e
mov rbx, qword [r15]
mov r9, qword [rbx + rdx*8]
shr r9, 0x3f
lea r12, [rax - 1]
test ecx, ecx
jle 0x1400a3891
add r9d, r9d
xor edx, edx
test r12d, r12d
js 0x1400a37af
movsxd rbx, dword [r15 + 8]
shr r12, 6
cmp r12, rbx
jae 0x1400a37af
mov rdx, qword [r15]
mov rdx, qword [rdx + r12*8]
shr rdx, 0x3e
and edx, 1
or edx, r9d
lea r12, [rax - 2]
cmp ecx, 2
mov rbx, qword [rsp + 0x40]
jl 0x1400a386f
add edx, edx
xor r9d, r9d
test r12d, r12d
js 0x1400a37ea
movsxd rbx, dword [r15 + 8]
shr r12, 6
cmp r12, rbx
jae 0x1400a37ea
mov rbx, qword [r15]
mov r9, qword [rbx + r12*8]
shr r9, 0x3d
and r9d, 1
or r9d, edx
lea r12, [rax - 3]
cmp ecx, 3
jl 0x1400a3891
add r9d, r9d
xor edx, edx
test r12d, r12d
js 0x1400a381f
movsxd rbx, dword [r15 + 8]
shr r12, 6
cmp r12, rbx
jae 0x1400a381f
mov rdx, qword [r15]
mov rdx, qword [rdx + r12*8]
shr rdx, 0x3c
and edx, 1
or edx, r9d
lea r12, [rax - 4]
cmp ecx, 4
jl 0x1400a388e
add edx, edx
xor r9d, r9d
test r12d, r12d
js 0x1400a3851
movsxd rcx, dword [r15 + 8]
shr r12, 6
cmp r12, rcx
jae 0x1400a3851
mov rcx, qword [r15]
mov r9, qword [rcx + r12*8]
shr r9, 0x3b
and r9d, 1
or r9d, edx
add rax, 0xfffffffffffffffb
mov r12, rax
mov rdi, qword [rsp + 0x38]
jmp 0x1400a3891
xor r9d, r9d
mov r8, qword [rsp + 0x48]
jmp 0x1400a2de0
mov r9d, edx
jmp 0x1400a3896
xor ebx, ebx
xor eax, eax
mov qword [rsp + 0x80], rax
xor eax, eax
mov qword [rsp + 0x38], rax
xor edi, edi
jmp 0x1400a2bbe
mov r9d, edx
mov rbx, qword [rsp + 0x40]
mov r9d, r9d
mov rcx, qword [rsp + 0xa8]
mov rdx, rbx
mov r8, rdi
call fcn.14000a420
test byte [rsp + 0x48], 7
je 0x1400a3b9d
test r12d, r12d
js 0x1400a3a94
add r12d, 0xfffffffc
lea r8d, [r12 + 4]
movsxd rdx, dword [r15 + 8]
mov ecx, r8d
shr ecx, 6
cmp rcx, rdx
jae 0x1400a3c5f
mov rdx, qword [r15]
mov rdx, qword [rdx + rcx*8]
mov ecx, r8d
shr rdx, cl
and edx, 1
test r8d, r8d
jle 0x1400a3c50
lea ecx, [r12 + 3]
movsxd rax, dword [r15 + 8]
mov edi, ecx
shr edi, 6
xor esi, esi
mov ebx, 0
cmp rdi, rax
jae 0x1400a391c
mov rax, qword [r15]
mov rbx, qword [rax + rdi*8]
shr rbx, cl
and ebx, 1
shl edx, 2
lea edx, [rdx + rbx*2]
mov eax, 2
cmp r8d, eax
jl 0x1400a3c55
lea ecx, [r12 + 2]
movsxd rax, dword [r15 + 8]
mov edi, ecx
shr edi, 6
xor esi, esi
mov ebx, 0
cmp rdi, rax
jae 0x1400a3957
mov rax, qword [r15]
mov rbx, qword [rax + rdi*8]
shr rbx, cl
and ebx, 1
or edx, ebx
cmp r8d, 3
jl 0x1400a3c55
lea ecx, [r12 + 1]
movsxd rbx, dword [r15 + 8]
mov eax, ecx
shr eax, 6
cmp rax, rbx
mov rdi, qword [rsp + 0x38]
jae 0x1400a3988
mov rbx, qword [r15]
mov rsi, qword [rbx + rax*8]
shr rsi, cl
and esi, 1
shl edx, 2
lea esi, [rdx + rsi*2]
xor eax, eax
test r12d, r12d
mov rbx, qword [rsp + 0x40]
js 0x1400a39b9
movsxd rdx, dword [r15 + 8]
mov ecx, r12d
shr ecx, 6
cmp rcx, rdx
jae 0x1400a39b9
mov rax, qword [r15]
mov rax, qword [rax + rcx*8]
mov ecx, r12d
shr rax, cl
and eax, 1
or esi, eax
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rcx
mov r9, r14
call fcn.14000a880
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x30], esi
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rdi
mov r9, r14
call fcn.140007180
lea eax, [r12 - 5]
test r12d, r12d
mov r12d, eax
jg 0x1400a38c4
mov rcx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x48]
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r13
mov rdx, rcx
xor r8d, r8d
mov r9, r14
call fcn.140008ca0
mov dword [rsp + 0xb0], esi
test eax, eax
je 0x1400a3b3c
mov edi, eax
mov rcx, qword [rsp + 0x78]
lea rax, [rsp + 0xa8]
cmp rax, rcx
je 0x1400a3c68
mov rdx, rbx
call fcn.14009d600
xor ecx, ecx
test eax, eax
je 0x1400a3c66
movsxd r8, dword [rsp + 0xb0]
test r8, r8
mov rsi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x58]
je 0x1400a3b1f
shl r8, 3
mov rcx, qword [rsi]
mov rdx, qword [rsp + 0xa8]
call fcn.1400f23d0
mov ecx, dword [rsp + 0xb0]
mov dword [rsi + 8], ecx
mov eax, dword [rsp + 0xb8]
mov dword [rsi + 0x10], eax
mov rcx, rsi
xor eax, eax
test rcx, rcx
cmove edi, eax
jmp 0x1400a2bbe
lea rdx, [rsp + 0xa8]
mov rcx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x70]
mov r9, qword [rbp + 0x16a0]
call fcn.1400a1c00
xor edi, edi
test eax, eax
setne dil
mov rcx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
call fcn.1400a1d40
test rbx, rbx
jne 0x1400a3b90
cmp qword [rsp + 0x38], 0
je 0x1400a3b90
movsxd rdx, dword [rsp + 0x80]
mov rcx, qword [rsp + 0x38]
call fcn.1400c6850
mov rcx, rbx
call fcn.1400c6810
jmp 0x1400a26e2
mov rsi, qword [r15]
mov rax, qword [rsp + 0x60]
add eax, 0xfffffffc
cmp r12d, eax
jl 0x1400a3bf4
mov eax, dword [r15 + 8]
shl eax, 3
cdqe
movzx eax, byte [rax + rsi - 1]
lea ecx, [r12 + 4]
and cl, 7
shr eax, cl
and eax, 0x1f
add r12d, 0xfffffffb
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rdi
mov r9, r14
call fcn.140008140
test r12d, r12d
js 0x1400a3a94
add r12d, 5
lea ecx, [r12 - 9]
mov eax, ecx
sar eax, 3
cdqe
movzx eax, word [rsi + rax]
and cl, 7
shr eax, cl
and eax, 0x1f
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], r13
mov rdx, rcx
mov r8, rdi
mov r9, r14
call fcn.140008140
add r12d, 0xfffffffb
cmp r12d, 4
jg 0x1400a3c01
jmp 0x1400a3a94
shl edx, 2
xor esi, esi
mov rdi, qword [rsp + 0x38]
jmp 0x1400a3988
xor edx, edx
jmp 0x1400a38ec
xor ecx, ecx
mov rbx, qword [rsp + 0x58]
jmp 0x1400a3b2f