// File: /workspace/github_c_makefile_star2_O2/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 %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
cmpb $0x0, 0x9ca9(%rip)      # 0xe600
jne 0x49c2
movb $-0x3, 0x9cb0(%rip)     # 0xe610
callq 0x4470
movq (%rax), %rcx
pushq $0x1
popq %rdx
leaq 0x9c9e(%rip), %rax      # 0xe610
cmpq $0x100, %rdx            # imm = 0x100
je 0x49a0
testb $0x20, 0x1(%rcx,%rdx,2)
jne 0x4991
cmpq $0x3d, %rdx
jne 0x4997
movb $-0x3, 0x9cbe(%rip)     # 0xe64d
jmp 0x499b
movb $-0x2, (%rdx,%rax)
jmp 0x499b
movb $-0x1, (%rdx,%rax)
incq %rdx
jmp 0x4972
xorl %ecx, %ecx
leaq 0x4687(%rip), %rdx      # 0x9030
cmpq $0x40, %rcx
je 0x49bb
movzbl (%rcx,%rdx), %esi
movb %cl, (%rsi,%rax)
incq %rcx
jmp 0x49a9
movb $0x1, 0x9c3e(%rip)      # 0xe600
pushq $-0x1
popq %rax
testq %r14, %r14
je 0x4af7
pushq $0x1
popq %rdi
pushq $0x2
popq %r8
pushq $0x3
popq %r9
movb $0x1, %r11b
xorl %edx, %edx
leaq 0x9c2b(%rip), %rcx      # 0xe610
leaq 0x4618(%rip), %r10      # 0x9004
xorl %r12d, %r12d
movslq %edx, %rsi
incq %rbx
movzbl -0x1(%rbx), %r13d
movzbl (%r13,%rcx), %ebp
cmpl $0xf0, %ebp
jb 0x4a18
incq %rbx
cmpl $0xfe, %ebp
je 0x49f5
jmp 0x4aaf
movl %r12d, %r11d
movslq (%r10,%r11,4), %r11
addq %r10, %r11
jmpq *%r11
cmpq %r15, %rsi
jae 0x4be9
shlb $0x2, %bpl
movb %bpl, (%r14,%rsi)
xorl %r11d, %r11d
movl %edi, %r12d
jmp 0x49f2
leaq 0x1(%rsi), %rdx
cmpq %r15, %rdx
jae 0x4be9
movl %ebp, %r11d
shrb $0x2, %r11b
orb %r11b, (%r14,%rsi)
shlb $0x6, %bpl
movb %bpl, 0x1(%r14,%rsi)
xorl %r11d, %r11d
movl %r9d, %r12d
jmp 0x49ef
cmpq %r15, %rsi
jae 0x4be9
orb %bpl, (%r14,%rsi)
incl %esi
movl %esi, %edx
movb $0x1, %r11b
xorl %r12d, %r12d
jmp 0x49ef
leaq 0x1(%rsi), %rdx
cmpq %r15, %rdx
jae 0x4be9
movl %ebp, %r11d
shrb $0x4, %r11b
orb %r11b, (%r14,%rsi)
shlb $0x4, %bpl
movb %bpl, 0x1(%r14,%rsi)
xorl %r11d, %r11d
movl %r8d, %r12d
jmp 0x49ef
cmpl $0xfd, %ebp
jne 0x4be9
cmpb $0x3d, %r13b
jne 0x4b96
cmpl $0x2, %r12d
jb 0x4be9
movzbl -0x1(%rbx), %edi
jne 0x4bbc
testl %edi, %edi
je 0x4be9
movl %edi, %r8d
cmpb $-0x2, (%r8,%rcx)
jne 0x4ba8
movzbl (%rbx), %edi
incq %rbx
jmp 0x4ad9
movb $0x1, %r8b
xorl %ecx, %ecx
leaq 0x9b0d(%rip), %rdx      # 0xe610
pushq $0x1
popq %rsi
leaq 0x4507(%rip), %rdi      # 0x9014
pushq $0x2
popq %r9
pushq $0x3
popq %r10
xorl %r11d, %r11d
incq %rbx
movzbl -0x1(%rbx), %r14d
movzbl (%r14,%rdx), %ebp
cmpl $0xf0, %ebp
jb 0x4b3a
incq %rbx
cmpl $0xfe, %ebp
je 0x4b1b
jmp 0x4b68
xorl %r8d, %r8d
movl %r11d, %r11d
movslq (%rdi,%r11,4), %r14
addq %rdi, %r14
movl %esi, %r11d
jmpq *%r14
xorl %ebp, %ebp
movl %r9d, %r8d
jmp 0x4b5e
movb $0x1, %bpl
jmp 0x4b5e
xorl %ebp, %ebp
movl %r10d, %r8d
movl %r8d, %r11d
incl %ecx
movl %ebp, %r8d
jmp 0x4b18
cmpl $0xfd, %ebp
jne 0x4be9
cmpb $0x3d, %r14b
jne 0x4ba0
cmpl $0x2, %r11d
jb 0x4be9
movzbl -0x1(%rbx), %esi
jne 0x4bd9
testl %esi, %esi
je 0x4be9
movl %esi, %edi
cmpb $-0x2, (%rdi,%rdx)
jne 0x4baf
movzbl (%rbx), %esi
incq %rbx
jmp 0x4b82
testb $0x1, %r11b
je 0x4be9
movl %edx, %eax
jmp 0x4be9
testb $0x1, %r8b
jne 0x4be7
jmp 0x4be9
cmpl $0x3d, %edi
je 0x4bb6
jmp 0x4be9
cmpl $0x3d, %esi
je 0x4bd3
jmp 0x4be9
movzbl (%rbx), %edi
incq %rbx
testl %edi, %edi
je 0x4bca
movl %edi, %edi
cmpb $-0x2, (%rdi,%rcx)
je 0x4bb6
jmp 0x4be9
cmpb $0x0, (%r14,%rsi)
jne 0x4be9
jmp 0x4b9c
movzbl (%rbx), %esi
incq %rbx
testl %esi, %esi
je 0x4be7
movl %esi, %esi
cmpb $-0x2, (%rsi,%rdx)
je 0x4bd3
jmp 0x4be9
movl %ecx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq