Function at 0x14005bb40
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
mov r13, rdx
mov r12, rcx
mov eax, dword [r8 + 8]
mov esi, dword [r9 + 8]
cmp eax, esi
cmovg esi, eax
test esi, esi
je 0x14005bbd7
mov rbp, r9
mov rbx, r8
mov r15, qword [rsp + 0x110]
cmp byte [r15 + 0x28], 0
jne 0x14005bc10
mov rcx, qword [r15 + 0x10]
mov rdi, qword [r15 + 0x20]
cmp rcx, qword [r15 + 0x18]
jne 0x14005bbfb
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov r14d, 0x20
cmovne r14, rax
cmp r14, rcx
jbe 0x14005bc09
mov rax, r14
shr rax, 0x3d
jne 0x14005bc09
lea rdx, [r14*8]
mov rcx, qword [r15 + 8]
call fcn.140098700
test rax, rax
je 0x14005bc09
mov qword [r15 + 8], rax
mov qword [r15 + 0x18], r14
mov rcx, qword [r15 + 0x10]
jmp 0x14005bbff
mov dword [r13], 0
mov dword [r12 + 0x10], 0
mov dword [r12 + 8], 0
mov edi, 1
jmp 0x14005bff4
mov rax, qword [r15 + 8]
mov qword [rax + rcx*8], rdi
inc qword [r15 + 0x10]
jmp 0x14005bc10
mov word [r15 + 0x28], 0x101
mov rcx, r15
call fcn.140054a90
mov rdi, rax
mov rcx, r15
call fcn.140054a90
mov r14, rax
mov rcx, r15
call fcn.140054a90
mov rcx, rdi
xor edi, edi
test rcx, rcx
je 0x14005bfd4
test r14, r14
je 0x14005bfd4
test rax, rax
je 0x14005bfd4
cmp rcx, rbx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x38], rax
je 0x14005bcb2
movsxd rdx, dword [rbx + 8]
call fcn.140052a70
test eax, eax
je 0x14005bfd4
movsxd r8, dword [rbx + 8]
test r8, r8
je 0x14005bca2
shl r8, 3
mov dword [rsp + 0x58], esi
mov rsi, r12
mov r12, qword [rsp + 0x30]
mov rcx, qword [r12]
mov rdx, qword [rbx]
call fcn.1402689f0
mov rcx, r12
mov r12, rsi
mov esi, dword [rsp + 0x58]
mov eax, dword [rbx + 8]
jmp 0x14005bca9
xor eax, eax
mov rcx, qword [rsp + 0x30]
mov dword [rcx + 8], eax
mov eax, dword [rbx + 0x10]
mov dword [rcx + 0x10], eax
cmp r14, rbp
je 0x14005bcfb
movsxd rdx, dword [rbp + 8]
mov rcx, r14
call fcn.140052a70
test eax, eax
je 0x14005bfd4
movsxd r8, dword [rbp + 8]
test r8, r8
je 0x14005bce9
shl r8, 3
mov rcx, qword [r14]
mov rdx, qword [rbp]
call fcn.1402689f0
mov eax, dword [rbp + 8]
jmp 0x14005bceb
xor eax, eax
mov rcx, qword [rsp + 0x30]
mov dword [r14 + 8], eax
mov eax, dword [rbp + 0x10]
mov dword [r14 + 0x10], eax
mov qword [rsp + 0xa0], r13
movsxd r13, esi
movsxd rax, dword [rcx + 8]
cmp eax, esi
mov qword [rsp + 0x78], r12
jbe 0x14005bd2d
mov rcx, qword [rcx]
mov r8, rax
sub r8, r13
cmp r8, 4
jae 0x14005bd6b
xor r10d, r10d
mov rdx, r13
jmp 0x14005bdd0
mov r12, rcx
mov rdx, r13
call fcn.140052a70
test eax, eax
je 0x14005bfd4
movsxd rcx, dword [r12 + 8]
cmp esi, ecx
je 0x14005bdea
mov r8, r13
sub r8, rcx
shl r8, 3
shl rcx, 3
add rcx, qword [r12]
xor edx, edx
call fcn.140268830
jmp 0x14005bdea
mov r9, r8
and r9, 0xfffffffffffffffc
lea rdx, [r9 + r13]
lea r10, [rcx + r13*8]
add r10, 0x10
pxor xmm0, xmm0
xor r11d, r11d
pxor xmm1, xmm1
nop dword [rax]
movdqu xmm2, xmmword [r10 + r11*8 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r10 + r11*8]
por xmm1, xmm2
add r11, 4
cmp r9, r11
jne 0x14005bd90
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r10, xmm0
cmp r8, r9
je 0x14005bddc
nop word cs:[rax + rax]
or r10, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x14005bdd0
test r10, r10
mov r12, qword [rsp + 0x30]
jne 0x14005bfb1
mov dword [r12 + 8], esi
movsxd rax, dword [r14 + 8]
cmp eax, esi
jbe 0x14005be16
mov rcx, qword [r14]
mov r8, rax
sub r8, r13
cmp r8, 4
mov r12, qword [rsp + 0x38]
jae 0x14005be57
xor r10d, r10d
mov rdx, r13
jmp 0x14005bec0
mov rcx, r14
mov rdx, r13
call fcn.140052a70
test eax, eax
mov r12, qword [rsp + 0x38]
je 0x14005bfd4
movsxd rcx, dword [r14 + 8]
cmp esi, ecx
je 0x14005bed5
mov r8, r13
sub r8, rcx
shl r8, 3
shl rcx, 3
add rcx, qword [r14]
xor edx, edx
call fcn.140268830
jmp 0x14005bed5
mov r9, r8
and r9, 0xfffffffffffffffc
lea rdx, [r9 + r13]
lea r10, [rcx + r13*8]
add r10, 0x10
pxor xmm0, xmm0
xor r11d, r11d
pxor xmm1, xmm1
nop word cs:[rax + rax]
movdqu xmm2, xmmword [r10 + r11*8 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r10 + r11*8]
por xmm1, xmm2
add r11, 4
cmp r9, r11
jne 0x14005be80
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r10, xmm0
cmp r8, r9
je 0x14005becc
nop word cs:[rax + rax]
or r10, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x14005bec0
test r10, r10
jne 0x14005bfb1
mov dword [r14 + 8], esi
movsxd rax, dword [r12 + 8]
cmp eax, esi
jbe 0x14005befd
mov rcx, qword [r12]
mov r8, rax
sub r8, r13
cmp r8, 4
jae 0x14005bf3b
xor r10d, r10d
mov rdx, r13
jmp 0x14005bfa0
mov rcx, r12
mov rdx, r13
call fcn.140052a70
test eax, eax
je 0x14005bfd4
movsxd rcx, dword [r12 + 8]
cmp esi, ecx
je 0x14005c00a
mov r8, r13
sub r8, rcx
shl r8, 3
shl rcx, 3
add rcx, qword [r12]
xor edx, edx
call fcn.140268830
jmp 0x14005c00a
mov r9, r8
and r9, 0xfffffffffffffffc
lea rdx, [r9 + r13]
lea r10, [rcx + r13*8]
add r10, 0x10
pxor xmm0, xmm0
xor r11d, r11d
pxor xmm1, xmm1
nop dword [rax]
movdqu xmm2, xmmword [r10 + r11*8 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r10 + r11*8]
por xmm1, xmm2
add r11, 4
cmp r9, r11
jne 0x14005bf60
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r10, xmm0
cmp r8, r9
je 0x14005bfac
nop word cs:[rax + rax]
or r10, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x14005bfa0
test r10, r10
je 0x14005c00a
mov dword [rsp + 0x20], 0x199
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_bn.c
xor edi, edi
mov ecx, 3
xor edx, edx
mov r8d, 0x66
call fcn.1400490c0
cmp byte [r15 + 0x28], 0
jne 0x14005bff4
mov rax, qword [r15 + 8]
mov rcx, qword [r15 + 0x10]
lea rdx, [rcx - 1]
mov qword [r15 + 0x10], rdx
mov rax, qword [rax + rcx*8 - 8]
mov qword [r15 + 0x20], rax
mov eax, edi
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [r12 + 8], esi
mov edx, dword [rbx + 8]
mov eax, edx
shl eax, 6
add edx, dword [rbp + 8]
shl edx, 6
cmp edx, eax
jae 0x14005c032
mov dword [rsp + 0x20], 0x4e
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_gcd_extra.c
jmp 0x14005bfc0
test edx, edx
je 0x14005c920
lea rbp, [r13 - 1]
lea r12, [r13*8]
lea rax, [r13*8 - 8]
mov qword [rsp + 0x70], rax
lea rax, [r13 - 2]
mov qword [rsp + 0x88], rax
mov rbx, r13
and rbx, 0xfffffffffffffffc
mov eax, esi
and eax, 3
mov qword [rsp + 0x50], rax
mov rax, rbp
and rax, 0xfffffffffffffffc
mov qword [rsp + 0x68], rax
lea rcx, [r13 + 3]
mov rax, rcx
mov qword [rsp + 0x98], rcx
and ecx, 3
mov qword [rsp + 0x80], rcx
mov rax, r13
neg rax
mov qword [rsp + 0x90], rax
xor r11d, r11d
xor eax, eax
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x60], edx
mov qword [rsp + 0x48], r12
jmp 0x14005c0e4
mov r11, qword [rsp + 0x58]
sub r11d, ecx
mov eax, dword [rsp + 0x64]
inc eax
mov edx, dword [rsp + 0x60]
cmp eax, edx
mov r14, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x30]
je 0x14005c928
mov dword [rsp + 0x64], eax
mov qword [rsp + 0x58], r11
mov rdx, qword [rcx]
mov rax, qword [rdx]
and eax, 1
neg rax
mov r8, qword [r14]
mov r14, qword [r8]
and r14d, 1
neg r14
and r14, rax
mov r15, rcx
mov r12, qword [rsp + 0x38]
mov rcx, qword [r12]
mov r9, r13
call fcn.140053610
mov rdi, rax
inc eax
and eax, r14d
and eax, 1
mov rcx, qword [r15]
mov rdx, qword [r12]
cmp esi, 6
jae 0x14005c141
xor r8d, r8d
mov r12, qword [rsp + 0x50]
jmp 0x14005c1c0
mov r9, qword [rsp + 0x48]
lea r8, [rdx + r9]
cmp rcx, r8
mov r12, qword [rsp + 0x50]
jae 0x14005c162
lea r8, [rcx + r9]
cmp rdx, r8
jae 0x14005c162
xor r8d, r8d
jmp 0x14005c1c0
xor r8d, r8d
nop word cs:[rax + rax]
test rax, rax
lea r9, [rcx + r8*8]
lea r10, [rcx + r8*8 + 0x10]
lea r11, [rdx + r8*8]
lea r15, [rdx + r8*8 + 0x10]
cmove r11, r9
movdqu xmm0, xmmword [r11]
cmove r15, r10
movdqu xmm1, xmmword [r15]
movdqu xmmword [rcx + r8*8], xmm0
movdqu xmmword [rcx + r8*8 + 0x10], xmm1
add r8, 4
cmp rbx, r8
jne 0x14005c170
mov r8, rbx
cmp rbx, r13
je 0x14005c271
nop dword [rax]
mov r9, r8
not r9
add r9, r13
test r12, r12
je 0x14005c1fe
mov r10, r12
nop word cs:[rax + rax]
test rax, rax
lea r11, [rcx + r8*8]
lea r15, [rdx + r8*8]
cmove r15, r11
mov r11, qword [r15]
mov qword [rcx + r8*8], r11
inc r8
dec r10
jne 0x14005c1e0
cmp r9, 3
jb 0x14005c271
nop word cs:[rax + rax]
test rax, rax
lea r9, [rcx + r8*8]
lea r10, [rdx + r8*8]
cmove r10, r9
mov r9, qword [r10]
mov qword [rcx + r8*8], r9
lea r9, [rcx + r8*8 + 8]
lea r10, [rdx + r8*8 + 8]
cmove r10, r9
mov r9, qword [r10]
mov qword [rcx + r8*8 + 8], r9
lea r9, [rcx + r8*8 + 0x10]
lea r10, [rdx + r8*8 + 0x10]
cmove r10, r9
mov r9, qword [r10]
mov qword [rcx + r8*8 + 0x10], r9
lea r9, [rcx + r8*8 + 0x18]
lea r10, [rdx + r8*8 + 0x18]
cmove r10, r9
mov r9, qword [r10]
mov qword [rcx + r8*8 + 0x18], r9
add r8, 4
cmp r13, r8
jne 0x14005c210
mov rax, qword [rsp + 0x30]
mov r8, qword [rax]
mov r15, qword [rsp + 0x40]
mov rdx, qword [r15]
mov r12, qword [rsp + 0x38]
mov rcx, qword [r12]
mov r9, r13
call fcn.140053610
mov rax, qword [r15]
mov rcx, qword [r12]
cmp esi, 6
jae 0x14005c2a7
xor edx, edx
mov r12, qword [rsp + 0x48]
jmp 0x14005c320
mov r12, qword [rsp + 0x48]
lea rdx, [rcx + r12]
cmp rax, rdx
jae 0x14005c2c2
lea rdx, [rax + r12]
cmp rcx, rdx
jae 0x14005c2c2
xor edx, edx
jmp 0x14005c320
xor edx, edx
nop word cs:[rax + rax]
test r14d, edi
lea r8, [rax + rdx*8]
lea r9, [rax + rdx*8 + 0x10]
lea r10, [rcx + rdx*8]
lea r11, [rcx + rdx*8 + 0x10]
cmove r10, r8
movdqu xmm0, xmmword [r10]
cmove r11, r9
movdqu xmm1, xmmword [r11]
movdqu xmmword [rax + rdx*8], xmm0
movdqu xmmword [rax + rdx*8 + 0x10], xmm1
add rdx, 4
cmp rbx, rdx
jne 0x14005c2d0
mov rdx, rbx
cmp rbx, r13
je 0x14005c3d1
nop word [rax + rax]
mov r8, rdx
not r8
add r8, r13
test r13b, 3
je 0x14005c35e
mov r9, qword [rsp + 0x50]
nop word cs:[rax + rax]
test r14d, edi
lea r10, [rax + rdx*8]
lea r11, [rcx + rdx*8]
cmove r11, r10
mov r10, qword [r11]
mov qword [rax + rdx*8], r10
inc rdx
dec r9
jne 0x14005c340
cmp r8, 3
jb 0x14005c3d1
nop word cs:[rax + rax]
test r14d, edi
lea r8, [rax + rdx*8]
lea r9, [rcx + rdx*8]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8], r8
lea r8, [rax + rdx*8 + 8]
lea r9, [rcx + rdx*8 + 8]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 8], r8
lea r8, [rax + rdx*8 + 0x10]
lea r9, [rcx + rdx*8 + 0x10]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 0x10], r8
lea r8, [rax + rdx*8 + 0x18]
lea r9, [rcx + rdx*8 + 0x18]
cmove r9, r8
mov r8, qword [r9]
mov qword [rax + rdx*8 + 0x18], r8
add rdx, 4
cmp r13, rdx
jne 0x14005c370
mov rax, qword [rsp + 0x30]
mov rdx, qword [rax]
mov rcx, qword [rdx]
mov r8d, ecx
and r8d, 1
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov rax, qword [rax]
mov r9, qword [rsp + 0x38]
mov r9, qword [r9]
test rbp, rbp
je 0x14005c46a
cmp esi, 5
jb 0x14005c41e
lea rcx, [rdx + r12]
cmp r9, rcx
jae 0x14005c4ec
mov rcx, qword [rsp + 0x70]
add rcx, r9
cmp rdx, rcx
jae 0x14005c4ec
xor r10d, r10d
mov r11, qword [rsp + 0x88]
sub r11, r10
mov rdi, qword [rsp + 0x80]
test rdi, rdi
je 0x14005c475
nop dword [rax]
mov rcx, qword [rdx + r10*8]
mov r14, qword [rdx + r10*8 + 8]
shld r14, rcx, 0x3f
lea rcx, [r10 + 1]
mov qword [r9 + r10*8], r14
mov r10, rcx
dec rdi
jne 0x14005c440
cmp r11, 3
jb 0x14005c555
jmp 0x14005c490
shr rcx, 1
mov qword [r9], rcx
jmp 0x14005c562
mov rcx, r10
cmp r11, 3
jb 0x14005c555
nop word cs:[rax + rax]
mov r10, qword [rdx + rcx*8]
mov r11, qword [rdx + rcx*8 + 8]
shld r11, r10, 0x3f
mov qword [r9 + rcx*8], r11
mov r10, qword [rdx + rcx*8 + 8]
mov r11, qword [rdx + rcx*8 + 0x10]
shld r11, r10, 0x3f
mov qword [r9 + rcx*8 + 8], r11
mov r10, qword [rdx + rcx*8 + 0x10]
mov r11, qword [rdx + rcx*8 + 0x18]
shld r11, r10, 0x3f
mov qword [r9 + rcx*8 + 0x10], r11
mov r10, qword [rdx + rcx*8 + 0x18]
mov r11, qword [rdx + rcx*8 + 0x20]
shld r11, r10, 0x3f
mov qword [r9 + rcx*8 + 0x18], r11
lea r10, [rcx + 4]
mov rcx, r10
cmp rbp, r10
jne 0x14005c490
jmp 0x14005c555
xor ecx, ecx
mov r11, qword [rsp + 0x68]
nop word cs:[rax + rax]
movdqu xmm0, xmmword [rdx + rcx*8]
movdqu xmm1, xmmword [rdx + rcx*8 + 8]
movdqu xmm2, xmmword [rdx + rcx*8 + 0x10]
movdqu xmm3, xmmword [rdx + rcx*8 + 0x18]
psrlq xmm0, 1
psllq xmm1, 0x3f
por xmm1, xmm0
psrlq xmm2, 1
psllq xmm3, 0x3f
por xmm3, xmm2
movdqu xmmword [r9 + rcx*8], xmm1
movdqu xmmword [r9 + rcx*8 + 0x10], xmm3
add rcx, 4
cmp r11, rcx
jne 0x14005c500
mov r10, r11
cmp rbp, r11
jne 0x14005c421
mov rcx, qword [rdx + r13*8 - 8]
shr rcx, 1
mov qword [r9 + r13*8 - 8], rcx
and eax, 1
lea rcx, [r8 - 1]
cmp esi, 4
jb 0x14005c588
lea r10, [r9 + r12]
cmp rdx, r10
jae 0x14005c611
lea r10, [rdx + r12]
cmp r9, r10
jae 0x14005c611
xor r11d, r11d
mov r10, r11
test r13b, 1
je 0x14005c5b5
mov r10, qword [r9 + r11*8]
and r10, rcx
mov rdi, r8
test r8, r8
je 0x14005c5a7
mov rdi, qword [rdx + r11*8]
or r10, rdi
mov qword [rdx + r11*8], r10
mov r10, r11
or r10, 1
not r11
cmp r11, qword [rsp + 0x90]
jne 0x14005c5f4
jmp 0x14005c680
or r11, r14
mov qword [rdx + r10*8], r11
mov r11, qword [r9 + r10*8 + 8]
and r11, rcx
or r11, rdi
mov qword [rdx + r10*8 + 8], r11
add r10, 2
cmp r13, r10
je 0x14005c680
mov r11, qword [r9 + r10*8]
and r11, rcx
mov r14, r8
mov rdi, r8
test r8, r8
je 0x14005c5d0
mov r14, qword [rdx + r10*8]
mov rdi, qword [rdx + r10*8 + 8]
jmp 0x14005c5d0
movq xmm0, rcx
pshufd xmm0, xmm0, 0x44
xor r10d, r10d
jmp 0x14005c653
movdqu xmm3, xmmword [r9 + r10*8]
movdqu xmm4, xmmword [r9 + r10*8 + 0x10]
pand xmm3, xmm0
por xmm3, xmm2
pand xmm4, xmm0
por xmm4, xmm1
movdqu xmmword [rdx + r10*8], xmm3
movdqu xmmword [rdx + r10*8 + 0x10], xmm4
add r10, 4
cmp rbx, r10
je 0x14005c66f
pxor xmm2, xmm2
pxor xmm1, xmm1
test r8, r8
je 0x14005c620
movdqu xmm2, xmmword [rdx + r10*8]
movdqu xmm1, xmmword [rdx + r10*8 + 0x10]
jmp 0x14005c620
mov r11, rbx
cmp rbx, r13
jne 0x14005c58b
nop dword [rax + rax]
lea rdx, [rax - 1]
mov r8, qword [rsp + 0x38]
mov r8, qword [r8]
mov r9, qword [rsp + 0x40]
mov r9, qword [r9]
test rbp, rbp
je 0x14005c70a
cmp esi, 5
jb 0x14005c6bc
lea r10, [r9 + r12]
cmp r8, r10
jae 0x14005c78c
mov r10, qword [rsp + 0x70]
add r10, r8
cmp r9, r10
jae 0x14005c78c
xor r11d, r11d
mov rdi, qword [rsp + 0x88]
sub rdi, r11
test byte [rsp + 0x98], 3
je 0x14005c718
mov r14, qword [rsp + 0x80]
nop dword [rax]
mov r10, qword [r9 + r11*8]
mov r15, qword [r9 + r11*8 + 8]
shld r15, r10, 0x3f
lea r10, [r11 + 1]
mov qword [r8 + r11*8], r15
mov r11, r10
dec r14
jne 0x14005c6e0
cmp rdi, 3
jb 0x14005c7f9
jmp 0x14005c730
mov r10, qword [r9]
shr r10, 1
mov qword [r8], r10
jmp 0x14005c806
mov r10, r11
cmp rdi, 3
jb 0x14005c7f9
nop word cs:[rax + rax]
mov r11, qword [r9 + r10*8]
mov rdi, qword [r9 + r10*8 + 8]
shld rdi, r11, 0x3f
mov qword [r8 + r10*8], rdi
mov r11, qword [r9 + r10*8 + 8]
mov rdi, qword [r9 + r10*8 + 0x10]
shld rdi, r11, 0x3f
mov qword [r8 + r10*8 + 8], rdi
mov r11, qword [r9 + r10*8 + 0x10]
mov rdi, qword [r9 + r10*8 + 0x18]
shld rdi, r11, 0x3f
mov qword [r8 + r10*8 + 0x10], rdi
mov r11, qword [r9 + r10*8 + 0x18]
mov rdi, qword [r9 + r10*8 + 0x20]
shld rdi, r11, 0x3f
mov qword [r8 + r10*8 + 0x18], rdi
lea r11, [r10 + 4]
mov r10, r11
cmp rbp, r11
jne 0x14005c730
jmp 0x14005c7f9
xor r10d, r10d
mov r11, qword [rsp + 0x68]
nop word cs:[rax + rax]
movdqu xmm0, xmmword [r9 + r10*8]
movdqu xmm1, xmmword [r9 + r10*8 + 8]
movdqu xmm2, xmmword [r9 + r10*8 + 0x10]
movdqu xmm3, xmmword [r9 + r10*8 + 0x18]
psrlq xmm0, 1
psllq xmm1, 0x3f
por xmm1, xmm0
psrlq xmm2, 1
psllq xmm3, 0x3f
por xmm3, xmm2
movdqu xmmword [r8 + r10*8], xmm1
movdqu xmmword [r8 + r10*8 + 0x10], xmm3
add r10, 4
cmp r11, r10
jne 0x14005c7a0
mov r10, r11
cmp rbp, r11
jne 0x14005c6bf
mov r10, qword [r9 + r13*8 - 8]
shr r10, 1
mov qword [r8 + r13*8 - 8], r10
and ecx, edx
cmp esi, 4
jb 0x14005c827
lea r10, [r8 + r12]
cmp r9, r10
jae 0x14005c8b1
lea r10, [r9 + r12]
cmp r8, r10
jae 0x14005c8b1
xor r11d, r11d
mov r10, r11
test r13b, 1
je 0x14005c854
mov r10, qword [r8 + r11*8]
and r10, rdx
mov rdi, rax
test rax, rax
je 0x14005c846
mov rdi, qword [r9 + r11*8]
or r10, rdi
mov qword [r9 + r11*8], r10
mov r10, r11
or r10, 1
not r11
cmp r11, qword [rsp + 0x90]
jne 0x14005c894
jmp 0x14005c0c0
or r11, r14
mov qword [r9 + r10*8], r11
mov r11, qword [r8 + r10*8 + 8]
and r11, rdx
or r11, rdi
mov qword [r9 + r10*8 + 8], r11
add r10, 2
cmp r13, r10
je 0x14005c0c0
mov r11, qword [r8 + r10*8]
and r11, rdx
mov r14, rax
mov rdi, rax
test rax, rax
je 0x14005c870
mov r14, qword [r9 + r10*8]
mov rdi, qword [r9 + r10*8 + 8]
jmp 0x14005c870
movq xmm0, rdx
pshufd xmm0, xmm0, 0x44
xor r10d, r10d
jmp 0x14005c8f3
movdqu xmm3, xmmword [r8 + r10*8]
movdqu xmm4, xmmword [r8 + r10*8 + 0x10]
pand xmm3, xmm0
por xmm3, xmm2
pand xmm4, xmm0
por xmm4, xmm1
movdqu xmmword [r9 + r10*8], xmm3
movdqu xmmword [r9 + r10*8 + 0x10], xmm4
add r10, 4
cmp rbx, r10
je 0x14005c90f
pxor xmm2, xmm2
pxor xmm1, xmm1
test rax, rax
je 0x14005c8c0
movdqu xmm2, xmmword [r9 + r10*8]
movdqu xmm1, xmmword [r9 + r10*8 + 0x10]
jmp 0x14005c8c0
mov r11, rbx
cmp rbx, r13
je 0x14005c0c0
jmp 0x14005c82a
xor r11d, r11d
mov rcx, qword [rsp + 0x30]
cmp r13, 1
mov rax, r13
adc rax, 0
cmp esi, 2
jae 0x14005c949
xor ecx, ecx
mov r15, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x78]
jmp 0x14005c989
mov rdx, rax
and rdx, 0xfffffffffffffffe
mov r10, rcx
xor ecx, ecx
mov r15, qword [rsp + 0x110]
mov rbx, qword [rsp + 0x78]
mov r8, qword [r10]
mov r8, qword [r8 + rcx*8]
mov r9, qword [r14]
or qword [r9 + rcx*8], r8
mov r8, qword [r10]
mov r8, qword [r8 + rcx*8 + 8]
mov r9, qword [r14]
or qword [r9 + rcx*8 + 8], r8
add rcx, 2
cmp rdx, rcx
jne 0x14005c962
test al, 1
je 0x14005c9a0
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov rax, qword [rax + rcx*8]
mov rdx, qword [r14]
or qword [rdx + rcx*8], rax
mov rax, qword [rsp + 0xa0]
mov dword [rax], r11d
mov rdi, qword [r14]
mov rcx, rbx
mov rdx, r13
call fcn.140052a70
test eax, eax
je 0x14005c9e3
shl r13, 3
mov rcx, qword [rbx]
mov rdx, rdi
mov r8, r13
call fcn.1402689f0
mov dword [rbx + 8], esi
mov dword [rbx + 0x10], 0
mov edi, 1
jmp 0x14005bfd4
xor edi, edi
jmp 0x14005bfd4