Function at 0x14005d870
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov r13, rdx
mov eax, dword [r8 + 8]
mov esi, dword [r9 + 8]
cmp eax, esi
cmovg esi, eax
test esi, esi
je 0x14005d909
mov rbp, r9
mov rbx, r8
mov qword [rsp + 0x78], rcx
mov r15, qword [rsp + 0x100]
cmp byte [r15 + 0x28], 0
jne 0x14005d93e
mov rcx, qword [r15 + 0x10]
mov rdi, qword [r15 + 0x20]
cmp rcx, qword [r15 + 0x18]
jne 0x14005d929
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov r14d, 0x20
cmovne r14, rax
cmp r14, rcx
jbe 0x14005d937
mov rax, r14
shr rax, 0x3d
jne 0x14005d937
lea rdx, [r14*8]
mov rcx, qword [r15 + 8]
call fcn.14009eae0
test rax, rax
je 0x14005d937
mov qword [r15 + 8], rax
mov qword [r15 + 0x18], r14
mov rcx, qword [r15 + 0x10]
jmp 0x14005d92d
mov dword [r13], 0
mov dword [rcx + 0x10], 0
mov dword [rcx + 8], 0
mov edi, 1
jmp 0x14005df44
mov rax, qword [r15 + 8]
mov qword [rax + rcx*8], rdi
inc qword [r15 + 0x10]
jmp 0x14005d93e
mov word [r15 + 0x28], 0x101
mov rcx, r15
call fcn.140055ae0
mov rdi, rax
mov rcx, r15
call fcn.140055ae0
mov r14, rax
mov rcx, r15
call fcn.140055ae0
mov r10, rdi
xor edi, edi
test r10, r10
je 0x14005df24
test r14, r14
je 0x14005df24
mov r12, rax
test rax, rax
je 0x14005df24
cmp r10, rbx
mov qword [rsp + 0x28], r10
mov qword [rsp + 0x30], r12
je 0x14005d9df
movsxd rdx, dword [rbx + 8]
mov rcx, r10
call fcn.140053090
test eax, eax
je 0x14005df24
movsxd r8, dword [rbx + 8]
test r8, r8
je 0x14005d9cd
shl r8, 3
mov r12, qword [rsp + 0x28]
mov rcx, qword [r12]
mov rdx, qword [rbx]
call fcn.14027bf80
mov r10, r12
mov r12, qword [rsp + 0x30]
mov eax, dword [rbx + 8]
jmp 0x14005d9d4
xor eax, eax
mov r10, qword [rsp + 0x28]
mov dword [r10 + 8], eax
mov eax, dword [rbx + 0x10]
mov dword [r10 + 0x10], eax
cmp r14, rbp
je 0x14005da28
movsxd rdx, dword [rbp + 8]
mov rcx, r14
call fcn.140053090
test eax, eax
je 0x14005df24
movsxd r8, dword [rbp + 8]
test r8, r8
je 0x14005da16
shl r8, 3
mov rcx, qword [r14]
mov rdx, qword [rbp]
call fcn.14027bf80
mov eax, dword [rbp + 8]
jmp 0x14005da18
xor eax, eax
mov r10, qword [rsp + 0x28]
mov dword [r14 + 8], eax
mov eax, dword [rbp + 0x10]
mov dword [r14 + 0x10], eax
mov qword [rsp + 0x88], r13
movsxd r13, esi
movsxd rax, dword [r10 + 8]
cmp eax, esi
jbe 0x14005da55
mov rcx, qword [r10]
mov rdx, rax
sub rdx, r13
cmp rdx, 4
jae 0x14005daa2
xor r8d, r8d
mov r9, r13
jmp 0x14005dbc0
mov rcx, r10
mov rdx, r13
mov r12, r10
call fcn.140053090
test eax, eax
je 0x14005df24
movsxd rcx, dword [r12 + 8]
cmp esi, ecx
mov r10, r12
mov r12, qword [rsp + 0x30]
je 0x14005dbd5
mov r8, r13
sub r8, rcx
shl r8, 3
shl rcx, 3
add rcx, qword [r10]
xor edx, edx
call fcn.14027bdc0
mov r10, qword [rsp + 0x28]
jmp 0x14005dbd5
lea r10, [rdx - 4]
mov r9, r10
shr r9, 2
inc r9
mov r8d, r9d
and r8d, 3
cmp r10, 0xc
jae 0x14005dacd
pxor xmm0, xmm0
xor r10d, r10d
pxor xmm1, xmm1
jmp 0x14005db51
and r9, 0xfffffffffffffffc
lea r11, [rcx + r13*8]
add r11, 0x70
pxor xmm0, xmm0
xor r10d, r10d
pxor xmm1, xmm1
nop word cs:[rax + rax]
movdqu xmm2, xmmword [r11 + r10*8 - 0x70]
por xmm2, xmm0
movdqu xmm0, xmmword [r11 + r10*8 - 0x60]
por xmm0, xmm1
movdqu xmm1, xmmword [r11 + r10*8 - 0x50]
movdqu xmm3, xmmword [r11 + r10*8 - 0x40]
movdqu xmm4, xmmword [r11 + r10*8 - 0x30]
por xmm4, xmm1
por xmm4, xmm2
movdqu xmm2, xmmword [r11 + r10*8 - 0x20]
por xmm2, xmm3
por xmm2, xmm0
movdqu xmm0, xmmword [r11 + r10*8 - 0x10]
por xmm0, xmm4
movdqu xmm1, xmmword [r11 + r10*8]
por xmm1, xmm2
add r10, 0x10
add r9, 0xfffffffffffffffc
jne 0x14005daf0
mov r9, rdx
and r9, 0xfffffffffffffffc
test r8, r8
je 0x14005db8e
add r10, r13
lea r10, [rcx + r10*8]
add r10, 0x10
shl r8, 5
xor r11d, r11d
nop
movdqu xmm2, xmmword [r10 + r11 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r10 + r11]
por xmm1, xmm2
add r11, 0x20
cmp r8, r11
jne 0x14005db70
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq r8, xmm1
cmp rdx, r9
jne 0x14005dbac
mov r10, qword [rsp + 0x28]
jmp 0x14005dbcc
add r9, r13
mov r10, qword [rsp + 0x28]
nop word cs:[rax + rax]
or r8, qword [rcx + r9*8]
inc r9
cmp rax, r9
jne 0x14005dbc0
test r8, r8
jne 0x14005df01
mov dword [r10 + 8], esi
movsxd rax, dword [r14 + 8]
cmp eax, esi
jbe 0x14005dbfb
mov rcx, qword [r14]
mov rdx, rax
sub rdx, r13
cmp rdx, 4
jae 0x14005dc41
xor r8d, r8d
mov r9, r13
jmp 0x14005dd50
mov rcx, r14
mov rdx, r13
call fcn.140053090
test eax, eax
je 0x14005df24
movsxd rcx, dword [r14 + 8]
cmp esi, ecx
mov r10, qword [rsp + 0x28]
je 0x14005dd65
mov r8, r13
sub r8, rcx
shl r8, 3
shl rcx, 3
add rcx, qword [r14]
xor edx, edx
call fcn.14027bdc0
mov r10, qword [rsp + 0x28]
jmp 0x14005dd65
lea r10, [rdx - 4]
mov r9, r10
shr r9, 2
inc r9
mov r8d, r9d
and r8d, 3
cmp r10, 0xc
jae 0x14005dc69
pxor xmm0, xmm0
xor r10d, r10d
pxor xmm1, xmm1
jmp 0x14005dce1
and r9, 0xfffffffffffffffc
lea r11, [rcx + r13*8]
add r11, 0x70
pxor xmm0, xmm0
xor r10d, r10d
pxor xmm1, xmm1
movdqu xmm2, xmmword [r11 + r10*8 - 0x70]
por xmm2, xmm0
movdqu xmm0, xmmword [r11 + r10*8 - 0x60]
por xmm0, xmm1
movdqu xmm1, xmmword [r11 + r10*8 - 0x50]
movdqu xmm3, xmmword [r11 + r10*8 - 0x40]
movdqu xmm4, xmmword [r11 + r10*8 - 0x30]
por xmm4, xmm1
por xmm4, xmm2
movdqu xmm2, xmmword [r11 + r10*8 - 0x20]
por xmm2, xmm3
por xmm2, xmm0
movdqu xmm0, xmmword [r11 + r10*8 - 0x10]
por xmm0, xmm4
movdqu xmm1, xmmword [r11 + r10*8]
por xmm1, xmm2
add r10, 0x10
add r9, 0xfffffffffffffffc
jne 0x14005dc80
mov r9, rdx
and r9, 0xfffffffffffffffc
test r8, r8
je 0x14005dd1e
add r10, r13
lea r10, [rcx + r10*8]
add r10, 0x10
shl r8, 5
xor r11d, r11d
nop
movdqu xmm2, xmmword [r10 + r11 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r10 + r11]
por xmm1, xmm2
add r11, 0x20
cmp r8, r11
jne 0x14005dd00
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq r8, xmm1
cmp rdx, r9
jne 0x14005dd3c
mov r10, qword [rsp + 0x28]
jmp 0x14005dd5c
add r9, r13
mov r10, qword [rsp + 0x28]
nop word cs:[rax + rax]
or r8, qword [rcx + r9*8]
inc r9
cmp rax, r9
jne 0x14005dd50
test r8, r8
jne 0x14005df01
mov dword [r14 + 8], esi
movsxd rax, dword [r12 + 8]
cmp eax, esi
jbe 0x14005dd8d
mov rcx, qword [r12]
mov rdx, rax
sub rdx, r13
cmp rdx, 4
jae 0x14005ddd5
xor r8d, r8d
mov r9, r13
jmp 0x14005def0
mov rcx, r12
mov rdx, r13
call fcn.140053090
test eax, eax
je 0x14005df24
movsxd rcx, dword [r12 + 8]
cmp esi, ecx
mov r10, qword [rsp + 0x28]
je 0x14005df5a
mov r8, r13
sub r8, rcx
shl r8, 3
shl rcx, 3
add rcx, qword [r12]
xor edx, edx
call fcn.14027bdc0
mov r10, qword [rsp + 0x28]
jmp 0x14005df5a
lea r10, [rdx - 4]
mov r9, r10
shr r9, 2
inc r9
mov r8d, r9d
and r8d, 3
cmp r10, 0xc
jae 0x14005ddfd
pxor xmm0, xmm0
xor r10d, r10d
pxor xmm1, xmm1
jmp 0x14005de75
and r9, 0xfffffffffffffffc
lea r11, [rcx + r13*8]
add r11, 0x70
pxor xmm0, xmm0
xor r10d, r10d
pxor xmm1, xmm1
movdqu xmm2, xmmword [r11 + r10*8 - 0x70]
por xmm2, xmm0
movdqu xmm0, xmmword [r11 + r10*8 - 0x60]
por xmm0, xmm1
movdqu xmm1, xmmword [r11 + r10*8 - 0x50]
movdqu xmm3, xmmword [r11 + r10*8 - 0x40]
movdqu xmm4, xmmword [r11 + r10*8 - 0x30]
por xmm4, xmm1
por xmm4, xmm2
movdqu xmm2, xmmword [r11 + r10*8 - 0x20]
por xmm2, xmm3
por xmm2, xmm0
movdqu xmm0, xmmword [r11 + r10*8 - 0x10]
por xmm0, xmm4
movdqu xmm1, xmmword [r11 + r10*8]
por xmm1, xmm2
add r10, 0x10
add r9, 0xfffffffffffffffc
jne 0x14005de14
mov r9, rdx
and r9, 0xfffffffffffffffc
test r8, r8
je 0x14005debe
add r10, r13
lea r10, [rcx + r10*8]
add r10, 0x10
shl r8, 5
xor r11d, r11d
nop word cs:[rax + rax]
movdqu xmm2, xmmword [r10 + r11 - 0x10]
por xmm0, xmm2
movdqu xmm2, xmmword [r10 + r11]
por xmm1, xmm2
add r11, 0x20
cmp r8, r11
jne 0x14005dea0
por xmm0, xmm1
pshufd xmm1, xmm0, 0xee
por xmm1, xmm0
movq r8, xmm1
cmp rdx, r9
jne 0x14005dedc
mov r10, qword [rsp + 0x28]
jmp 0x14005defc
add r9, r13
mov r10, qword [rsp + 0x28]
nop word cs:[rax + rax]
or r8, qword [rcx + r9*8]
inc r9
cmp rax, r9
jne 0x14005def0
test r8, r8
je 0x14005df5a
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.140049240
cmp byte [r15 + 0x28], 0
jne 0x14005df44
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, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [r12 + 8], esi
mov ecx, dword [rbx + 8]
mov eax, ecx
shl eax, 6
add ecx, dword [rbp + 8]
shl ecx, 6
cmp ecx, eax
jae 0x14005df82
mov dword [rsp + 0x20], 0x4e
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_gcd_extra.c
jmp 0x14005df10
test ecx, ecx
je 0x14005e800
lea rbp, [r13 - 1]
lea r12, [r13*8]
lea rax, [r13*8 - 8]
mov qword [rsp + 0x58], rax
lea rax, [r13 - 2]
mov qword [rsp + 0x70], rax
mov rbx, r13
and rbx, 0xfffffffffffffffc
mov rax, r13
neg rax
mov qword [rsp + 0x38], rax
mov rax, rbp
and rax, 0xfffffffffffffffc
mov qword [rsp + 0x50], rax
lea rdx, [r13 + 3]
mov rax, rdx
mov qword [rsp + 0x80], rdx
and edx, 3
mov qword [rsp + 0x60], rdx
xor r11d, r11d
xor eax, eax
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x48], ecx
jmp 0x14005e027
mov r11, qword [rsp + 0x90]
sub r11d, ecx
mov eax, dword [rsp + 0x4c]
inc eax
mov ecx, dword [rsp + 0x48]
cmp eax, ecx
mov r14, qword [rsp + 0x40]
mov r10, qword [rsp + 0x28]
je 0x14005e803
mov dword [rsp + 0x4c], eax
mov qword [rsp + 0x90], r11
mov rdx, qword [r10]
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, qword [rsp + 0x30]
mov rcx, qword [r15]
mov r9, r13
call fcn.1400540a0
mov rdi, rax
dec rax
and rax, r14
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx]
mov rdx, qword [r15]
mov r8, rax
not r8
cmp esi, 4
jb 0x14005e094
lea r9, [rdx + r12]
cmp rcx, r9
jae 0x14005e108
lea r9, [rcx + r12]
cmp rdx, r9
jae 0x14005e108
xor r10d, r10d
mov r9, r10
test r13b, 1
je 0x14005e0bc
mov r9, qword [rdx + r10*8]
and r9, rax
mov r11, qword [rcx + r10*8]
and r11, r8
or r11, r9
mov qword [rcx + r10*8], r11
mov r9, r10
or r9, 1
not r10
cmp r10, qword [rsp + 0x38]
je 0x14005e180
nop word [rax + rax]
mov r10, qword [rdx + r9*8]
and r10, rax
mov r11, qword [rcx + r9*8]
and r11, r8
or r11, r10
mov qword [rcx + r9*8], r11
mov r10, qword [rdx + r9*8 + 8]
and r10, rax
mov r11, qword [rcx + r9*8 + 8]
and r11, r8
or r11, r10
mov qword [rcx + r9*8 + 8], r11
add r9, 2
cmp r13, r9
jne 0x14005e0d0
jmp 0x14005e180
movq xmm0, rax
pshufd xmm0, xmm0, 0x44
movq xmm1, r8
pshufd xmm1, xmm1, 0x44
xor r9d, r9d
nop
movdqu xmm2, xmmword [rcx + r9*8]
movdqu xmm3, xmmword [rcx + r9*8 + 0x10]
movdqu xmm4, xmmword [rdx + r9*8]
movdqu xmm5, xmmword [rdx + r9*8 + 0x10]
pand xmm4, xmm0
pand xmm5, xmm0
pand xmm2, xmm1
por xmm2, xmm4
pand xmm3, xmm1
por xmm3, xmm5
movdqu xmmword [rcx + r9*8], xmm2
movdqu xmmword [rcx + r9*8 + 0x10], xmm3
add r9, 4
cmp rbx, r9
jne 0x14005e120
mov r10, rbx
cmp rbx, r13
jne 0x14005e097
nop word cs:[rax + rax]
neg rdi
mov rax, qword [rsp + 0x28]
mov r8, qword [rax]
mov r15, qword [rsp + 0x40]
mov rdx, qword [r15]
mov r12, qword [rsp + 0x30]
mov rcx, qword [r12]
mov r9, r13
call fcn.1400540a0
and r14, rdi
mov rax, qword [r15]
mov rcx, qword [r12]
mov rdx, r14
not rdx
cmp esi, 4
jae 0x14005e1c6
xor r9d, r9d
mov r12, qword [rsp + 0x68]
jmp 0x14005e250
mov r12, qword [rsp + 0x68]
lea r8, [rcx + r12]
cmp rax, r8
jae 0x14005e1e2
lea r8, [rax + r12]
cmp rcx, r8
jae 0x14005e1e2
xor r9d, r9d
jmp 0x14005e250
movq xmm0, r14
pshufd xmm0, xmm0, 0x44
movq xmm1, rdx
pshufd xmm1, xmm1, 0x44
xor r8d, r8d
nop dword [rax]
movdqu xmm2, xmmword [rax + r8*8]
movdqu xmm3, xmmword [rax + r8*8 + 0x10]
movdqu xmm4, xmmword [rcx + r8*8]
movdqu xmm5, xmmword [rcx + r8*8 + 0x10]
pand xmm4, xmm0
pand xmm5, xmm0
pand xmm2, xmm1
por xmm2, xmm4
pand xmm3, xmm1
por xmm3, xmm5
movdqu xmmword [rax + r8*8], xmm2
movdqu xmmword [rax + r8*8 + 0x10], xmm3
add r8, 4
cmp rbx, r8
jne 0x14005e200
mov r9, rbx
cmp rbx, r13
je 0x14005e2b6
mov r8, r9
test r13b, 1
je 0x14005e275
mov r8, qword [rcx + r9*8]
and r8, r14
mov r10, qword [rax + r9*8]
and r10, rdx
or r10, r8
mov qword [rax + r9*8], r10
mov r8, r9
or r8, 1
not r9
cmp r9, qword [rsp + 0x38]
je 0x14005e2b6
nop
mov r9, qword [rcx + r8*8]
and r9, r14
mov r10, qword [rax + r8*8]
and r10, rdx
or r10, r9
mov qword [rax + r8*8], r10
mov r9, qword [rcx + r8*8 + 8]
and r9, r14
mov r10, qword [rax + r8*8 + 8]
and r10, rdx
or r10, r9
mov qword [rax + r8*8 + 8], r10
add r8, 2
cmp r13, r8
jne 0x14005e280
mov rax, qword [rsp + 0x28]
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 + 0x30]
mov r9, qword [r9]
test rbp, rbp
je 0x14005e34a
cmp esi, 5
jb 0x14005e303
lea rcx, [rdx + r12]
cmp r9, rcx
jae 0x14005e3cc
mov rcx, qword [rsp + 0x58]
add rcx, r9
cmp rdx, rcx
jae 0x14005e3cc
xor r10d, r10d
mov r11, qword [rsp + 0x70]
sub r11, r10
mov rdi, qword [rsp + 0x60]
test rdi, rdi
je 0x14005e355
nop dword [rax + 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 0x14005e320
cmp r11, 3
jb 0x14005e435
jmp 0x14005e370
shr rcx, 1
mov qword [r9], rcx
jmp 0x14005e442
mov rcx, r10
cmp r11, 3
jb 0x14005e435
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 0x14005e370
jmp 0x14005e435
xor ecx, ecx
mov r11, qword [rsp + 0x50]
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 0x14005e3e0
mov r10, r11
cmp rbp, r11
jne 0x14005e306
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 0x14005e468
lea r10, [r9 + r12]
cmp rdx, r10
jae 0x14005e4f1
lea r10, [rdx + r12]
cmp r9, r10
jae 0x14005e4f1
xor r11d, r11d
mov r10, r11
test r13b, 1
je 0x14005e495
mov r10, qword [r9 + r11*8]
and r10, rcx
mov rdi, r8
test r8, r8
je 0x14005e487
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 + 0x38]
jne 0x14005e4d4
jmp 0x14005e560
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 0x14005e560
mov r11, qword [r9 + r10*8]
and r11, rcx
mov r14, r8
mov rdi, r8
test r8, r8
je 0x14005e4b0
mov r14, qword [rdx + r10*8]
mov rdi, qword [rdx + r10*8 + 8]
jmp 0x14005e4b0
movq xmm0, rcx
pshufd xmm0, xmm0, 0x44
xor r10d, r10d
jmp 0x14005e533
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 0x14005e54f
pxor xmm2, xmm2
pxor xmm1, xmm1
test r8, r8
je 0x14005e500
movdqu xmm2, xmmword [rdx + r10*8]
movdqu xmm1, xmmword [rdx + r10*8 + 0x10]
jmp 0x14005e500
mov r11, rbx
cmp rbx, r13
jne 0x14005e46b
nop dword [rax + rax]
lea rdx, [rax - 1]
mov r8, qword [rsp + 0x30]
mov r8, qword [r8]
mov r9, qword [rsp + 0x40]
mov r9, qword [r9]
test rbp, rbp
je 0x14005e5ea
cmp esi, 5
jb 0x14005e59c
lea r10, [r9 + r12]
cmp r8, r10
jae 0x14005e66c
mov r10, qword [rsp + 0x58]
add r10, r8
cmp r9, r10
jae 0x14005e66c
xor r11d, r11d
mov rdi, qword [rsp + 0x70]
sub rdi, r11
test byte [rsp + 0x80], 3
je 0x14005e5f8
mov r14, qword [rsp + 0x60]
nop word cs:[rax + 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 0x14005e5c0
cmp rdi, 3
jb 0x14005e6d9
jmp 0x14005e610
mov r10, qword [r9]
shr r10, 1
mov qword [r8], r10
jmp 0x14005e6e6
mov r10, r11
cmp rdi, 3
jb 0x14005e6d9
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 0x14005e610
jmp 0x14005e6d9
xor r10d, r10d
mov r11, qword [rsp + 0x50]
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 0x14005e680
mov r10, r11
cmp rbp, r11
jne 0x14005e59f
mov r10, qword [r9 + r13*8 - 8]
shr r10, 1
mov qword [r8 + r13*8 - 8], r10
and ecx, edx
cmp esi, 4
jb 0x14005e707
lea r10, [r8 + r12]
cmp r9, r10
jae 0x14005e791
lea r10, [r9 + r12]
cmp r8, r10
jae 0x14005e791
xor r11d, r11d
mov r10, r11
test r13b, 1
je 0x14005e734
mov r10, qword [r8 + r11*8]
and r10, rdx
mov rdi, rax
test rax, rax
je 0x14005e726
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 + 0x38]
jne 0x14005e774
jmp 0x14005e000
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 0x14005e000
mov r11, qword [r8 + r10*8]
and r11, rdx
mov r14, rax
mov rdi, rax
test rax, rax
je 0x14005e750
mov r14, qword [r9 + r10*8]
mov rdi, qword [r9 + r10*8 + 8]
jmp 0x14005e750
movq xmm0, rdx
pshufd xmm0, xmm0, 0x44
xor r10d, r10d
jmp 0x14005e7d3
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 0x14005e7ef
pxor xmm2, xmm2
pxor xmm1, xmm1
test rax, rax
je 0x14005e7a0
movdqu xmm2, xmmword [r9 + r10*8]
movdqu xmm1, xmmword [r9 + r10*8 + 0x10]
jmp 0x14005e7a0
mov r11, rbx
cmp rbx, r13
je 0x14005e000
jmp 0x14005e70a
xor r11d, r11d
cmp r13, 2
mov eax, 1
cmovae rax, r13
cmp esi, 2
jae 0x14005e826
xor ecx, ecx
mov r15, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x78]
jmp 0x14005e863
mov rdx, rax
and rdx, 0xfffffffffffffffe
xor ecx, ecx
mov r15, qword [rsp + 0x100]
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 0x14005e83c
test al, 1
je 0x14005e875
mov rax, qword [r10]
mov rax, qword [rax + rcx*8]
mov rdx, qword [r14]
or qword [rdx + rcx*8], rax
mov rax, qword [rsp + 0x88]
mov dword [rax], r11d
mov rdi, qword [r14]
mov rcx, rbx
mov rdx, r13
call fcn.140053090
test eax, eax
je 0x14005e8b8
shl r13, 3
mov rcx, qword [rbx]
mov rdx, rdi
mov r8, r13
call fcn.14027bf80
mov dword [rbx + 8], esi
mov dword [rbx + 0x10], 0
mov edi, 1
jmp 0x14005df24
xor edi, edi
jmp 0x14005df24