// File: /workspace/github_c_makefile_star2_O3/uhlin[P]enhanced-duc/source/b64_decode.c
// Function: b64_decode
int
b64_decode(char const *src, uint8_t *target, size_t targsize)
{
	if (!b64rmap_initialized)
		b64_initialize_rmap ();

	if (target)
		return b64_decode_do ((unsigned char*)src, target, targsize);
	else
		return b64_decode_len ((unsigned char*)src);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
cmpb $0x0, 0x9c7f(%rip)      # 0xe600
jne 0x49ea
movb $-0x3, 0x9c86(%rip)     # 0xe610
callq 0x4470
movq (%rax), %rcx
movl $0x1, %edx
leaq 0x9c72(%rip), %rax      # 0xe610
testb $0x20, 0x1(%rcx,%rdx,2)
jne 0x49b4
cmpq $0x3d, %rdx
jne 0x49ba
movb $-0x3, 0x9c9b(%rip)     # 0xe64d
jmp 0x49be
movb $-0x2, (%rdx,%rax)
jmp 0x49be
movb $-0x1, (%rdx,%rax)
incq %rdx
cmpq $0x100, %rdx            # imm = 0x100
jne 0x499e
xorl %ecx, %ecx
leaq 0x463d(%rip), %rdx      # 0x9010
movzbl (%rcx,%rdx), %esi
movb %cl, (%rsi,%rax)
incq %rcx
cmpq $0x40, %rcx
jne 0x49d3
movb $0x1, 0x9c16(%rip)      # 0xe600
testq %r14, %r14
je 0x4b0d
movb $0x1, %r8b
xorl %edx, %edx
leaq 0x9c11(%rip), %rcx      # 0xe610
xorl %edi, %edi
movslq %edx, %rsi
incq %rbx
movzbl -0x1(%rbx), %r9d
movzbl (%r9,%rcx), %eax
cmpl $0xf0, %eax
jb 0x4a27
incq %rbx
cmpl $0xfe, %eax
je 0x4a07
jmp 0x4abc
testl %edi, %edi
jne 0x4a45
cmpq %r15, %rsi
jae 0x4ba6
shlb $0x2, %al
movb %al, (%r14,%rsi)
movl $0x1, %edi
xorl %r8d, %r8d
jmp 0x4a04
cmpl $0x1, %edi
je 0x4a75
cmpl $0x2, %edi
jne 0x4aa1
leaq 0x1(%rsi), %rdx
cmpq %r15, %rdx
jae 0x4ba6
movl %eax, %edi
shrb $0x2, %dil
orb %dil, (%r14,%rsi)
shlb $0x6, %al
movb %al, 0x1(%r14,%rsi)
movl $0x3, %edi
jmp 0x4a99
leaq 0x1(%rsi), %rdx
cmpq %r15, %rdx
jae 0x4ba6
movl %eax, %edi
shrb $0x4, %dil
orb %dil, (%r14,%rsi)
shlb $0x4, %al
movb %al, 0x1(%r14,%rsi)
movl $0x2, %edi
xorl %r8d, %r8d
jmp 0x4a01
cmpq %r15, %rsi
jae 0x4ba6
orb %al, (%r14,%rsi)
incl %esi
movl %esi, %edx
movb $0x1, %r8b
xorl %edi, %edi
jmp 0x4a01
cmpl $0xfd, %eax
jne 0x4ba6
cmpb $0x3d, %r9b
jne 0x4bb1
leaq 0x1(%rbx), %r8
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl $0x2, %edi
jb 0x4bab
movzbl -0x1(%rbx), %edi
jne 0x4bcf
testl %edi, %edi
je 0x4bab
movl %edi, %r9d
cmpb $-0x2, (%r9,%rcx)
jne 0x4c07
movzbl -0x1(%r8), %edi
incq %r8
jmp 0x4aed
movb $0x1, %sil
xorl %ecx, %ecx
leaq 0x9af7(%rip), %rdx      # 0xe610
xorl %eax, %eax
movl %eax, %edi
incq %rbx
movzbl -0x1(%rbx), %eax
movzbl (%rax,%rdx), %r8d
cmpl $0xf0, %r8d
jb 0x4b40
incq %rbx
cmpl $0xfe, %r8d
je 0x4b20
jmp 0x4b6e
movl $0x1, %eax
xorl %esi, %esi
testl %edi, %edi
je 0x4b1b
cmpl $0x1, %edi
je 0x4b5c
cmpl $0x3, %edi
jne 0x4b63
xorl %eax, %eax
movb $0x1, %sil
jmp 0x4b6a
movl $0x2, %eax
jmp 0x4b68
movl $0x3, %eax
xorl %esi, %esi
incl %ecx
jmp 0x4b1b
cmpl $0xfd, %r8d
jne 0x4ba6
cmpb $0x3d, %al
jne 0x4bc0
leaq 0x1(%rbx), %rsi
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl $0x2, %edi
jb 0x4bab
movzbl -0x1(%rbx), %edi
jne 0x4bf0
testl %edi, %edi
je 0x4bab
movl %edi, %r8d
cmpb $-0x2, (%r8,%rdx)
jne 0x4c13
movzbl -0x1(%rsi), %edi
incq %rsi
jmp 0x4b8f
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
popq %rbx
popq %r14
popq %r15
retq
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testb $0x1, %r8b
je 0x4bab
movl %edx, %eax
jmp 0x4bab
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testb $0x1, %sil
je 0x4bab
movl %ecx, %eax
jmp 0x4bab
movq %rbx, %r8
testl %edi, %edi
je 0x4be7
movl %edi, %edi
cmpb $-0x2, (%rdi,%rcx)
jne 0x4bab
movzbl (%r8), %edi
incq %r8
jmp 0x4bd2
cmpb $0x0, (%r14,%rsi)
jne 0x4bab
jmp 0x4bbc
movq %rbx, %rsi
testl %edi, %edi
je 0x4bcb
movl %edi, %edi
cmpb $-0x2, (%rdi,%rdx)
jne 0x4bab
movzbl (%rsi), %edi
incq %rsi
jmp 0x4bf3
cmpl $0x3d, %edi
jne 0x4bab
movzbl -0x1(%r8), %edi
jmp 0x4bd2
cmpl $0x3d, %edi
jne 0x4bab
movzbl -0x1(%rsi), %edi
jmp 0x4bf3
nop