Function at 0x14005c990
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, rcx
mov eax, dword [r8 + 8]
mov esi, dword [r9 + 8]
cmp eax, esi
cmovg esi, eax
test esi, esi
je 0x14005ca32
mov rbp, r9
mov rbx, r8
mov r12, qword [rsp + 0x100]
cmp byte [r12 + 0x28], 0
jne 0x14005ca6d
mov rcx, qword [r12 + 0x10]
mov rdi, qword [r12 + 0x20]
cmp rcx, qword [r12 + 0x18]
jne 0x14005ca52
mov r15, rdx
lea rax, [rcx + rcx*2]
shr rax, 1
test rcx, rcx
mov r14d, 0x20
cmovne r14, rax
cmp r14, rcx
jbe 0x14005ca62
mov rax, r14
shr rax, 0x3d
jne 0x14005ca62
lea rdx, [r14*8]
mov rcx, qword [r12 + 8]
call fcn.140094100
test rax, rax
je 0x14005ca62
mov qword [r12 + 8], rax
mov qword [r12 + 0x18], r14
mov rcx, qword [r12 + 0x10]
mov rdx, r15
jmp 0x14005ca57
mov dword [rdx], 0
mov dword [r13 + 0x10], 0
mov dword [r13 + 8], 0
mov edi, 1
jmp 0x14005ce5e
mov rax, qword [r12 + 8]
mov qword [rax + rcx*8], rdi
inc qword [r12 + 0x10]
jmp 0x14005ca6d
mov word [r12 + 0x28], 0x101
mov rdx, r15
mov qword [rsp + 0x78], rdx
mov rcx, r12
call fcn.140055f00
mov r15, rax
mov rcx, r12
call fcn.140055f00
mov r14, rax
mov rcx, r12
call fcn.140055f00
mov qword [rsp + 0x48], rax
xor edi, edi
test r15, r15
je 0x14005ce39
test r14, r14
je 0x14005ce39
cmp qword [rsp + 0x48], 0
je 0x14005ce39
mov r11, r14
cmp r15, rbx
mov qword [rsp + 0x30], r14
je 0x14005cb05
movsxd rdx, dword [rbx + 8]
mov rcx, r15
call fcn.140053ff0
test eax, eax
je 0x14005ce39
movsxd r8, dword [rbx + 8]
test r8, r8
je 0x14005caf3
shl r8, 3
mov rcx, qword [r15]
mov rdx, qword [rbx]
call fcn.140269600
mov eax, dword [rbx + 8]
jmp 0x14005caf5
xor eax, eax
mov r11, qword [rsp + 0x30]
mov dword [r15 + 8], eax
mov eax, dword [rbx + 0x10]
mov dword [r15 + 0x10], eax
cmp r11, rbp
je 0x14005cb56
movsxd rdx, dword [rbp + 8]
mov rcx, r11
call fcn.140053ff0
test eax, eax
je 0x14005ce39
movsxd r8, dword [rbp + 8]
test r8, r8
je 0x14005cb44
shl r8, 3
mov r14, qword [rsp + 0x30]
mov rcx, qword [r14]
mov rdx, qword [rbp]
call fcn.140269600
mov r11, r14
mov eax, dword [rbp + 8]
jmp 0x14005cb4b
xor eax, eax
mov r11, qword [rsp + 0x30]
mov dword [r11 + 8], eax
mov eax, dword [rbp + 0x10]
mov dword [r11 + 0x10], eax
mov qword [rsp + 0x88], r13
movsxd r13, esi
movsxd rax, dword [r15 + 8]
cmp eax, esi
jbe 0x14005cb83
mov rcx, qword [r15]
mov r8, rax
sub r8, r13
cmp r8, 4
jae 0x14005cbc6
xor r10d, r10d
mov rdx, r13
jmp 0x14005cc30
mov rcx, r15
mov rdx, r13
call fcn.140053ff0
test eax, eax
je 0x14005ce39
movsxd rcx, dword [r15 + 8]
cmp esi, ecx
mov r11, qword [rsp + 0x30]
je 0x14005cc45
mov r8, r13
sub r8, rcx
shl r8, 3
shl rcx, 3
add rcx, qword [r15]
xor edx, edx
call fcn.140269440
mov r11, qword [rsp + 0x30]
jmp 0x14005cc45
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 0x14005cbf0
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r10, xmm0
cmp r8, r9
mov r11, qword [rsp + 0x30]
je 0x14005cc3c
nop word [rax + rax]
or r10, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x14005cc30
test r10, r10
jne 0x14005ce16
mov dword [r15 + 8], esi
movsxd rax, dword [r11 + 8]
cmp eax, esi
jbe 0x14005cc6b
mov rcx, qword [r11]
mov r8, rax
sub r8, r13
cmp r8, 4
jae 0x14005ccaf
xor r10d, r10d
mov rdx, r13
jmp 0x14005cd10
mov rcx, r11
mov rdx, r13
mov r14, r11
call fcn.140053ff0
test eax, eax
je 0x14005ce39
movsxd rcx, dword [r14 + 8]
cmp esi, ecx
mov r11, r14
je 0x14005cd25
mov r8, r13
sub r8, rcx
shl r8, 3
shl rcx, 3
add rcx, qword [r11]
xor edx, edx
call fcn.140269440
mov r11, qword [rsp + 0x30]
jmp 0x14005cd25
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 0x14005ccd0
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r10, xmm0
cmp r8, r9
mov r11, qword [rsp + 0x30]
je 0x14005cd1c
nop word [rax + rax]
or r10, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x14005cd10
test r10, r10
jne 0x14005ce16
mov dword [r11 + 8], esi
mov r14, qword [rsp + 0x48]
movsxd rax, dword [r14 + 8]
cmp eax, esi
jbe 0x14005cd50
mov rcx, qword [r14]
mov r8, rax
sub r8, r13
cmp r8, 4
jae 0x14005cd96
xor r10d, r10d
mov rdx, r13
jmp 0x14005ce00
mov rcx, r14
mov rdx, r13
call fcn.140053ff0
test eax, eax
je 0x14005ce39
movsxd rcx, dword [r14 + 8]
cmp esi, ecx
mov r11, qword [rsp + 0x30]
je 0x14005ce74
mov r8, r13
sub r8, rcx
shl r8, 3
shl rcx, 3
add rcx, qword [r14]
xor edx, edx
call fcn.140269440
mov r11, qword [rsp + 0x30]
jmp 0x14005ce74
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 0x14005cdc0
por xmm1, xmm0
pshufd xmm0, xmm1, 0xee
por xmm0, xmm1
movq r10, xmm0
cmp r8, r9
mov r11, qword [rsp + 0x30]
je 0x14005ce0c
nop word [rax + rax]
or r10, qword [rcx + rdx*8]
inc rdx
cmp rax, rdx
jne 0x14005ce00
test r10, r10
mov r14, qword [rsp + 0x48]
je 0x14005ce74
mov dword [rsp + 0x20], 0x18f
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.14004adc0
cmp byte [r12 + 0x28], 0
jne 0x14005ce5e
mov rax, qword [r12 + 8]
mov rcx, qword [r12 + 0x10]
lea rdx, [rcx - 1]
mov qword [r12 + 0x10], rdx
mov rax, qword [rax + rcx*8 - 8]
mov qword [r12 + 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 [r14 + 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 0x14005ce9b
mov dword [rsp + 0x20], 0x4e
lea r9, str..._.._third_party_boringssl_src_crypto_fipsmodule_bn_gcd_extra.c
jmp 0x14005ce25
test ecx, ecx
je 0x14005d6f9
lea rbp, [r13 - 1]
lea rax, [r13*8]
mov qword [rsp + 0x40], rax
lea rax, [r13 - 2]
mov qword [rsp + 0x70], rax
mov rbx, r13
and rbx, 0xfffffffffffffffc
mov rax, r13
neg rax
mov qword [rsp + 0x50], rax
mov rax, rbp
and rax, 0xfffffffffffffffc
mov qword [rsp + 0x68], rax
lea rdx, [r13 + 3]
mov rax, rdx
mov qword [rsp + 0x80], rdx
and edx, 3
mov qword [rsp + 0x58], rdx
xor edi, edi
xor eax, eax
mov r12, qword [rsp + 0x48]
mov dword [rsp + 0x3c], esi
mov dword [rsp + 0x60], ecx
jmp 0x14005cf33
and ecx, eax
mov rdi, qword [rsp + 0x90]
sub edi, ecx
mov eax, dword [rsp + 0x64]
inc eax
mov ecx, dword [rsp + 0x60]
cmp eax, ecx
mov r11, qword [rsp + 0x30]
je 0x14005d6fb
mov dword [rsp + 0x64], eax
mov qword [rsp + 0x90], rdi
mov rdx, qword [r15]
mov rax, qword [rdx]
and eax, 1
neg rax
mov r8, qword [r11]
mov r14, qword [r8]
and r14d, 1
neg r14
and r14, rax
mov rcx, qword [r12]
mov r9, r13
call fcn.140054b80
mov rdi, rax
dec rax
and rax, r14
mov rcx, rax
not rax
mov rdx, qword [r15]
mov r8, qword [r12]
cmp esi, 4
jb 0x14005cfa1
mov r10, qword [rsp + 0x40]
lea r9, [r8 + r10]
cmp rdx, r9
jae 0x14005d08f
lea r9, [rdx + r10]
cmp r8, r9
jae 0x14005d08f
xor r10d, r10d
mov r9, r10
test r13b, 1
je 0x14005cfc9
mov r9, qword [r8 + r10*8]
and r9, rcx
mov r11, qword [rdx + r10*8]
and r11, rax
or r11, r9
mov qword [rdx + r10*8], r11
mov r9, r10
or r9, 1
xor r10, qword [rsp + 0x50]
cmp r10, 0xffffffffffffffff
je 0x14005d016
nop word cs:[rax + rax]
mov r10, qword [r8 + r9*8]
and r10, rcx
mov r11, qword [rdx + r9*8]
and r11, rax
or r11, r10
mov qword [rdx + r9*8], r11
mov r10, qword [r8 + r9*8 + 8]
and r10, rcx
mov r11, qword [rdx + r9*8 + 8]
and r11, rax
or r11, r10
mov qword [rdx + r9*8 + 8], r11
add r9, 2
cmp r13, r9
jne 0x14005cfe0
neg rdi
mov rsi, r15
mov r8, qword [r15]
mov r15, qword [rsp + 0x30]
mov rdx, qword [r15]
mov r12, qword [rsp + 0x48]
mov rcx, qword [r12]
mov r9, r13
call fcn.140054b80
mov r11, r15
and r14, rdi
mov rax, r14
not r14
mov rcx, qword [r15]
mov rdx, qword [r12]
cmp dword [rsp + 0x3c], 4
jae 0x14005d061
xor r9d, r9d
mov r15, rsi
mov esi, dword [rsp + 0x3c]
jmp 0x14005d180
mov r9, qword [rsp + 0x40]
lea r8, [rdx + r9]
cmp rcx, r8
mov r15, rsi
jae 0x14005d109
lea r8, [rcx + r9]
cmp rdx, r8
jae 0x14005d109
xor r9d, r9d
mov esi, dword [rsp + 0x3c]
jmp 0x14005d180
movq xmm0, rcx
pshufd xmm0, xmm0, 0x44
movq xmm1, rax
pshufd xmm1, xmm1, 0x44
xor r9d, r9d
nop word cs:[rax + rax]
movdqu xmm2, xmmword [rdx + r9*8]
movdqu xmm3, xmmword [rdx + r9*8 + 0x10]
movdqu xmm4, xmmword [r8 + r9*8]
movdqu xmm5, xmmword [r8 + r9*8 + 0x10]
pand xmm4, xmm0
pand xmm5, xmm0
pand xmm2, xmm1
por xmm2, xmm4
pand xmm3, xmm1
por xmm3, xmm5
movdqu xmmword [rdx + r9*8], xmm2
movdqu xmmword [rdx + r9*8 + 0x10], xmm3
add r9, 4
cmp rbx, r9
jne 0x14005d0b0
mov r10, rbx
cmp rbx, r13
je 0x14005d016
jmp 0x14005cfa4
movq xmm0, rax
pshufd xmm0, xmm0, 0x44
movq xmm1, r14
pshufd xmm1, xmm1, 0x44
xor r8d, r8d
mov esi, dword [rsp + 0x3c]
nop word cs:[rax + rax]
movdqu xmm2, xmmword [rcx + r8*8]
movdqu xmm3, xmmword [rcx + r8*8 + 0x10]
movdqu xmm4, xmmword [rdx + r8*8]
movdqu xmm5, xmmword [rdx + r8*8 + 0x10]
pand xmm4, xmm0
pand xmm5, xmm0
pand xmm2, xmm1
por xmm2, xmm4
pand xmm3, xmm1
por xmm3, xmm5
movdqu xmmword [rcx + r8*8], xmm2
movdqu xmmword [rcx + r8*8 + 0x10], xmm3
add r8, 4
cmp rbx, r8
jne 0x14005d130
mov r9, rbx
cmp rbx, r13
je 0x14005d1e6
mov r8, r9
test r13b, 1
je 0x14005d1a5
mov r8, qword [rdx + r9*8]
and r8, rax
mov r10, qword [rcx + r9*8]
and r10, r14
or r10, r8
mov qword [rcx + r9*8], r10
mov r8, r9
or r8, 1
xor r9, qword [rsp + 0x50]
cmp r9, 0xffffffffffffffff
je 0x14005d1e6
mov r9, qword [rdx + r8*8]
and r9, rax
mov r10, qword [rcx + r8*8]
and r10, r14
or r10, r9
mov qword [rcx + r8*8], r10
mov r9, qword [rdx + r8*8 + 8]
and r9, rax
mov r10, qword [rcx + r8*8 + 8]
and r10, r14
or r10, r9
mov qword [rcx + r8*8 + 8], r10
add r8, 2
cmp r13, r8
jne 0x14005d1b0
mov rdx, qword [r15]
mov rax, qword [rdx]
mov rcx, qword [r11]
mov rcx, qword [rcx]
mov r8, qword [r12]
test rbp, rbp
je 0x14005d2cc
cmp esi, 5
jb 0x14005d227
mov r10, qword [rsp + 0x40]
lea r9, [rdx + r10]
cmp r8, r9
jae 0x14005d2d7
lea r9, [r8 + r10]
add r9, 0xfffffffffffffff8
cmp rdx, r9
jae 0x14005d2d7
xor r10d, r10d
mov r9, r10
cmp qword [rsp + 0x58], 0
je 0x14005d25e
mov r11, qword [rsp + 0x58]
mov rdi, r10
nop dword [rax]
mov r9, qword [rdx + rdi*8]
mov r14, qword [rdx + rdi*8 + 8]
shld r14, r9, 0x3f
lea r9, [rdi + 1]
mov qword [r8 + rdi*8], r14
mov rdi, r9
dec r11
jne 0x14005d240
mov r11, qword [rsp + 0x70]
sub r11, r10
cmp r11, 3
jb 0x14005d339
mov r10, qword [rdx + r9*8]
mov r11, qword [rdx + r9*8 + 8]
shld r11, r10, 0x3f
mov qword [r8 + r9*8], r11
mov r10, qword [rdx + r9*8 + 8]
mov r11, qword [rdx + r9*8 + 0x10]
shld r11, r10, 0x3f
mov qword [r8 + r9*8 + 8], r11
mov r10, qword [rdx + r9*8 + 0x10]
mov r11, qword [rdx + r9*8 + 0x18]
shld r11, r10, 0x3f
mov qword [r8 + r9*8 + 0x10], r11
mov r10, qword [rdx + r9*8 + 0x18]
mov r11, qword [rdx + r9*8 + 0x20]
shld r11, r10, 0x3f
mov qword [r8 + r9*8 + 0x18], r11
lea r10, [r9 + 4]
mov r9, r10
cmp rbp, r10
jne 0x14005d270
jmp 0x14005d339
mov r9, rax
shr r9, 1
mov qword [r8], r9
jmp 0x14005d346
xor r9d, r9d
mov r11, qword [rsp + 0x68]
nop
movdqu xmm0, xmmword [rdx + r9*8]
movdqu xmm1, xmmword [rdx + r9*8 + 8]
movdqu xmm2, xmmword [rdx + r9*8 + 0x10]
movdqu xmm3, xmmword [rdx + r9*8 + 0x18]
psrlq xmm0, 1
psllq xmm1, 0x3f
por xmm1, xmm0
psrlq xmm2, 1
psllq xmm3, 0x3f
por xmm3, xmm2
movdqu xmmword [r8 + r9*8], xmm1
movdqu xmmword [r8 + r9*8 + 0x10], xmm3
add r9, 4
cmp r11, r9
jne 0x14005d2e0
mov r10, r11
cmp rbp, r11
jne 0x14005d22a
mov r9, qword [rdx + r13*8 - 8]
shr r9, 1
mov qword [r8 + r13*8 - 8], r9
and eax, 1
mov r9, rax
neg r9
dec rax
mov r10, rax
cmp esi, 4
jb 0x14005d379
mov rdi, qword [rsp + 0x40]
lea r11, [r8 + rdi]
cmp rdx, r11
jae 0x14005d4dd
lea r11, [rdx + rdi]
cmp r8, r11
jae 0x14005d4dd
xor edi, edi
mov r11, rdi
test r13b, 1
je 0x14005d3a0
mov r11, qword [r8 + rdi*8]
and r11, r10
mov r14, qword [rdx + rdi*8]
and r14, r9
or r14, r11
mov qword [rdx + rdi*8], r14
mov r11, rdi
or r11, 1
xor rdi, qword [rsp + 0x50]
cmp rdi, 0xffffffffffffffff
je 0x14005d3e6
nop dword [rax + rax]
mov rdi, qword [r8 + r11*8]
and rdi, r10
mov r14, qword [rdx + r11*8]
and r14, r9
or r14, rdi
mov qword [rdx + r11*8], r14
mov rdi, qword [r8 + r11*8 + 8]
and rdi, r10
mov r14, qword [rdx + r11*8 + 8]
and r14, r9
or r14, rdi
mov qword [rdx + r11*8 + 8], r14
add r11, 2
cmp r13, r11
jne 0x14005d3b0
mov rdx, qword [r12]
mov r8, qword [rsp + 0x30]
mov r8, qword [r8]
test rbp, rbp
je 0x14005d4cf
cmp esi, 5
jb 0x14005d423
mov r10, qword [rsp + 0x40]
lea r9, [r8 + r10]
cmp rdx, r9
jae 0x14005d559
lea r9, [rdx + r10]
add r9, 0xfffffffffffffff8
cmp r8, r9
jae 0x14005d559
xor r10d, r10d
mov r9, r10
test byte [rsp + 0x80], 3
je 0x14005d45e
mov r11, qword [rsp + 0x58]
mov rdi, r10
nop dword [rax + rax]
mov r9, qword [r8 + rdi*8]
mov r14, qword [r8 + rdi*8 + 8]
shld r14, r9, 0x3f
lea r9, [rdi + 1]
mov qword [rdx + rdi*8], r14
mov rdi, r9
dec r11
jne 0x14005d440
mov r11, qword [rsp + 0x70]
sub r11, r10
cmp r11, 3
jb 0x14005d5c9
mov r10, qword [r8 + r9*8]
mov r11, qword [r8 + r9*8 + 8]
shld r11, r10, 0x3f
mov qword [rdx + r9*8], r11
mov r10, qword [r8 + r9*8 + 8]
mov r11, qword [r8 + r9*8 + 0x10]
shld r11, r10, 0x3f
mov qword [rdx + r9*8 + 8], r11
mov r10, qword [r8 + r9*8 + 0x10]
mov r11, qword [r8 + r9*8 + 0x18]
shld r11, r10, 0x3f
mov qword [rdx + r9*8 + 0x10], r11
mov r10, qword [r8 + r9*8 + 0x18]
mov r11, qword [r8 + r9*8 + 0x20]
shld r11, r10, 0x3f
mov qword [rdx + r9*8 + 0x18], r11
lea r10, [r9 + 4]
mov r9, r10
cmp rbp, r10
jne 0x14005d470
jmp 0x14005d5c9
mov r9, qword [r8]
shr r9, 1
mov qword [rdx], r9
jmp 0x14005d5d6
movq xmm0, r10
pshufd xmm0, xmm0, 0x44
movq xmm1, r9
pshufd xmm1, xmm1, 0x44
xor r11d, r11d
nop word cs:[rax + rax]
movdqu xmm2, xmmword [rdx + r11*8]
movdqu xmm3, xmmword [rdx + r11*8 + 0x10]
movdqu xmm4, xmmword [r8 + r11*8]
movdqu xmm5, xmmword [r8 + r11*8 + 0x10]
pand xmm4, xmm0
pand xmm5, xmm0
pand xmm2, xmm1
por xmm2, xmm4
pand xmm3, xmm1
por xmm3, xmm5
movdqu xmmword [rdx + r11*8], xmm2
movdqu xmmword [rdx + r11*8 + 0x10], xmm3
add r11, 4
cmp rbx, r11
jne 0x14005d500
mov rdi, rbx
cmp rbx, r13
je 0x14005d3e6
jmp 0x14005d37b
xor r9d, r9d
mov r11, qword [rsp + 0x68]
nop word cs:[rax + rax]
movdqu xmm0, xmmword [r8 + r9*8]
movdqu xmm1, xmmword [r8 + r9*8 + 8]
movdqu xmm2, xmmword [r8 + r9*8 + 0x10]
movdqu xmm3, xmmword [r8 + r9*8 + 0x18]
psrlq xmm0, 1
psllq xmm1, 0x3f
por xmm1, xmm0
psrlq xmm2, 1
psllq xmm3, 0x3f
por xmm3, xmm2
movdqu xmmword [rdx + r9*8], xmm1
movdqu xmmword [rdx + r9*8 + 0x10], xmm3
add r9, 4
cmp r11, r9
jne 0x14005d570
mov r10, r11
cmp rbp, r11
jne 0x14005d426
mov r9, qword [r8 + r13*8 - 8]
shr r9, 1
mov qword [rdx + r13*8 - 8], r9
and ecx, 1
mov r9, rcx
neg r9
dec rcx
mov r10, rcx
cmp esi, 4
jb 0x14005d605
mov rdi, qword [rsp + 0x40]
lea r11, [rdx + rdi]
cmp r8, r11
jae 0x14005d67b
lea r11, [r8 + rdi]
cmp rdx, r11
jae 0x14005d67b
xor edi, edi
mov r11, rdi
test r13b, 1
je 0x14005d62c
mov r11, qword [rdx + rdi*8]
and r11, r10
mov r14, qword [r8 + rdi*8]
and r14, r9
or r14, r11
mov qword [r8 + rdi*8], r14
mov r11, rdi
or r11, 1
xor rdi, qword [rsp + 0x50]
cmp rdi, 0xffffffffffffffff
je 0x14005cf10
nop dword [rax + rax]
mov rdi, qword [rdx + r11*8]
and rdi, r10
mov r14, qword [r8 + r11*8]
and r14, r9
or r14, rdi
mov qword [r8 + r11*8], r14
mov rdi, qword [rdx + r11*8 + 8]
and rdi, r10
mov r14, qword [r8 + r11*8 + 8]
and r14, r9
or r14, rdi
mov qword [r8 + r11*8 + 8], r14
add r11, 2
cmp r13, r11
jne 0x14005d640
jmp 0x14005cf10
movq xmm0, r10
pshufd xmm0, xmm0, 0x44
movq xmm1, r9
pshufd xmm1, xmm1, 0x44
xor r11d, r11d
nop word cs:[rax + rax]
movdqu xmm2, xmmword [r8 + r11*8]
movdqu xmm3, xmmword [r8 + r11*8 + 0x10]
movdqu xmm4, xmmword [rdx + r11*8]
movdqu xmm5, xmmword [rdx + r11*8 + 0x10]
pand xmm4, xmm0
pand xmm5, xmm0
pand xmm2, xmm1
por xmm2, xmm4
pand xmm3, xmm1
por xmm3, xmm5
movdqu xmmword [r8 + r11*8], xmm2
movdqu xmmword [r8 + r11*8 + 0x10], xmm3
add r11, 4
cmp rbx, r11
jne 0x14005d6a0
mov rdi, rbx
cmp rbx, r13
je 0x14005cf10
jmp 0x14005d607
xor edi, edi
cmp r13, 1
mov rax, r13
adc rax, 0
cmp esi, 2
jae 0x14005d71c
xor ecx, ecx
mov r12, qword [rsp + 0x100]
mov r10, qword [rsp + 0x78]
jmp 0x14005d759
mov rdx, rax
and rdx, 0xfffffffffffffffe
xor ecx, ecx
mov r12, qword [rsp + 0x100]
mov r10, qword [rsp + 0x78]
mov r8, qword [r15]
mov r8, qword [r8 + rcx*8]
mov r9, qword [r11]
or qword [r9 + rcx*8], r8
mov r8, qword [r15]
mov r8, qword [r8 + rcx*8 + 8]
mov r9, qword [r11]
or qword [r9 + rcx*8 + 8], r8
add rcx, 2
cmp rdx, rcx
jne 0x14005d732
test al, 1
je 0x14005d76b
mov rax, qword [r15]
mov rax, qword [rax + rcx*8]
mov rdx, qword [r11]
or qword [rdx + rcx*8], rax
mov dword [r10], edi
mov rdi, qword [r11]
mov rbx, qword [rsp + 0x88]
mov rcx, rbx
mov rdx, r13
call fcn.140053ff0
test eax, eax
je 0x14005d7ae
shl r13, 3
mov rcx, qword [rbx]
mov rdx, rdi
mov r8, r13
call fcn.140269600
mov dword [rbx + 8], esi
mov dword [rbx + 0x10], 0
mov edi, 1
jmp 0x14005ce39
xor edi, edi
jmp 0x14005ce39