// File: /workspace/github_c_makefile_star2_O1/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, 0x9c4f(%rip)      # 0xe600
jne 0x4a17
movb $-0x3, 0x9c56(%rip)     # 0xe610
callq 0x4470
movq (%rax), %rcx
movl $0x1, %edx
leaq 0x9c42(%rip), %rax      # 0xe610
testb $0x20, 0x1(%rcx,%rdx,2)
jne 0x49e1
cmpq $0x3d, %rdx
jne 0x49e7
movb $-0x3, (%rdx,%rax)
jmp 0x49eb
movb $-0x2, (%rdx,%rax)
jmp 0x49eb
movb $-0x1, (%rdx,%rax)
incq %rdx
cmpq $0x100, %rdx            # imm = 0x100
jne 0x49ce
xorl %ecx, %ecx
leaq 0x4610(%rip), %rdx      # 0x9010
movzbl (%rcx,%rdx), %esi
movb %cl, (%rsi,%rax)
incq %rcx
cmpq $0x40, %rcx
jne 0x4a00
movb $0x1, 0x9be9(%rip)      # 0xe600
testq %r14, %r14
je 0x4b3a
movb $0x1, %r8b
xorl %edx, %edx
leaq 0x9be4(%rip), %rcx      # 0xe610
xorl %edi, %edi
movslq %edx, %rsi
incq %rbx
movzbl -0x1(%rbx), %r9d
movzbl (%r9,%rcx), %eax
cmpl $0xf0, %eax
jb 0x4a54
incq %rbx
cmpl $0xfe, %eax
je 0x4a34
jmp 0x4ae9
testl %edi, %edi
jne 0x4a72
cmpq %r15, %rsi
jae 0x4bd3
shlb $0x2, %al
movb %al, (%r14,%rsi)
movl $0x1, %edi
xorl %r8d, %r8d
jmp 0x4a31
cmpl $0x1, %edi
je 0x4aa2
cmpl $0x2, %edi
jne 0x4ace
leaq 0x1(%rsi), %rdx
cmpq %r15, %rdx
jae 0x4bd3
movl %eax, %edi
shrb $0x2, %dil
orb %dil, (%r14,%rsi)
shlb $0x6, %al
movb %al, 0x1(%r14,%rsi)
movl $0x3, %edi
jmp 0x4ac6
leaq 0x1(%rsi), %rdx
cmpq %r15, %rdx
jae 0x4bd3
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 0x4a2e
cmpq %r15, %rsi
jae 0x4bd3
orb %al, (%r14,%rsi)
incl %esi
movl %esi, %edx
movb $0x1, %r8b
xorl %edi, %edi
jmp 0x4a2e
cmpl $0xfd, %eax
jne 0x4bd3
cmpb $0x3d, %r9b
jne 0x4bde
leaq 0x1(%rbx), %r8
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl $0x2, %edi
jb 0x4bd8
movzbl -0x1(%rbx), %edi
jne 0x4bfc
testl %edi, %edi
je 0x4bd8
movl %edi, %r9d
cmpb $-0x2, (%r9,%rcx)
jne 0x4c34
movzbl -0x1(%r8), %edi
incq %r8
jmp 0x4b1a
movb $0x1, %sil
xorl %ecx, %ecx
leaq 0x9aca(%rip), %rdx      # 0xe610
xorl %eax, %eax
movl %eax, %edi
incq %rbx
movzbl -0x1(%rbx), %eax
movzbl (%rax,%rdx), %r8d
cmpl $0xf0, %r8d
jb 0x4b6d
incq %rbx
cmpl $0xfe, %r8d
je 0x4b4d
jmp 0x4b9b
movl $0x1, %eax
xorl %esi, %esi
testl %edi, %edi
je 0x4b48
cmpl $0x1, %edi
je 0x4b89
cmpl $0x3, %edi
jne 0x4b90
xorl %eax, %eax
movb $0x1, %sil
jmp 0x4b97
movl $0x2, %eax
jmp 0x4b95
movl $0x3, %eax
xorl %esi, %esi
incl %ecx
jmp 0x4b48
cmpl $0xfd, %r8d
jne 0x4bd3
cmpb $0x3d, %al
jne 0x4bed
leaq 0x1(%rbx), %rsi
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl $0x2, %edi
jb 0x4bd8
movzbl -0x1(%rbx), %edi
jne 0x4c1d
testl %edi, %edi
je 0x4bd8
movl %edi, %r8d
cmpb $-0x2, (%r8,%rdx)
jne 0x4c40
movzbl -0x1(%rsi), %edi
incq %rsi
jmp 0x4bbc
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
popq %rbx
popq %r14
popq %r15
retq
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testb $0x1, %r8b
je 0x4bd8
movl %edx, %eax
jmp 0x4bd8
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testb $0x1, %sil
je 0x4bd8
movl %ecx, %eax
jmp 0x4bd8
movq %rbx, %r8
testl %edi, %edi
je 0x4c14
movl %edi, %edi
cmpb $-0x2, (%rdi,%rcx)
jne 0x4bd8
movzbl (%r8), %edi
incq %r8
jmp 0x4bff
cmpb $0x0, (%r14,%rsi)
jne 0x4bd8
jmp 0x4be9
movq %rbx, %rsi
testl %edi, %edi
je 0x4bf8
movl %edi, %edi
cmpb $-0x2, (%rdi,%rdx)
jne 0x4bd8
movzbl (%rsi), %edi
incq %rsi
jmp 0x4c20
cmpl $0x3d, %edi
jne 0x4bd8
movzbl -0x1(%r8), %edi
jmp 0x4bff
cmpl $0x3d, %edi
jne 0x4bd8
movzbl -0x1(%rsi), %edi
jmp 0x4c20
nop