Function at 0x4532c0
Capabilities:
Encode data using base64

Disassembly:
sub esp, 0xc
push ebx
push ebp
xor ebx, ebx
cmp dword [esp + 0x1c], ebx
push esi
push edi
jne 0x4532e3
mov eax, ecx
lea esi, [eax + 1]
mov dl, byte [eax]
add eax, 1
cmp dl, bl
jne 0x4532d4
sub eax, esi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
add eax, 0xfffffffc
cmp eax, ebx
mov dword [esp + 0x10], ebx
mov ebp, ecx
mov dword [esp + 0x18], ebx
jle 0x453566
add eax, 0xffffffff
shr eax, 2
add eax, 1
lea ecx, [eax + eax*2]
lea edx, [eax*4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], edx
mov edx, dword [ebp]
or esi, 0xffffffff
cmp dl, 0x41
jl 0x45333b
cmp dl, 0x5a
jg 0x45333b
movsx esi, dl
sub esi, 0x41
jmp 0x453375
cmp dl, 0x61
jl 0x45334d
cmp dl, 0x7a
jg 0x45334d
movsx esi, dl
sub esi, 0x47
jmp 0x453375
cmp dl, 0x30
jl 0x45335f
cmp dl, 0x39
jg 0x45335f
movsx esi, dl
add esi, 4
jmp 0x453375
cmp dl, 0x2b
jne 0x45336b
mov esi, 0x3e
jmp 0x453375
cmp dl, 0x2f
jne 0x453375
mov esi, 0x3f
mov eax, edx
shr eax, 8
mov bl, al
sub bl, 0x41
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x45338f
movsx ecx, al
sub ecx, 0x41
jmp 0x4533c7
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x4533a1
movsx ecx, al
sub ecx, 0x47
jmp 0x4533c7
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x4533b3
movsx ecx, al
add ecx, 4
jmp 0x4533c7
cmp al, 0x2b
jne 0x4533be
mov ecx, 0x3e
jmp 0x4533c7
cmp al, 0x2f
jne 0x4533c7
mov ecx, 0x3f
lea edi, [ecx*4]
sar edi, 6
lea ecx, [esi*4]
or edi, ecx
mov bl, al
sub bl, 0x41
and edi, 0xff
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x4533f5
movsx ecx, al
sub ecx, 0x41
jmp 0x45342d
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x453407
movsx ecx, al
sub ecx, 0x47
jmp 0x45342d
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x453419
movsx ecx, al
add ecx, 4
jmp 0x45342d
cmp al, 0x2b
jne 0x453424
mov ecx, 0x3e
jmp 0x45342d
cmp al, 0x2f
jne 0x45342d
mov ecx, 0x3f
mov eax, edx
shr eax, 0x10
mov bl, al
sub bl, 0x41
or esi, 0xffffffff
cmp bl, 0x19
ja 0x453447
movsx esi, al
sub esi, 0x41
jmp 0x45347f
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x453459
movsx esi, al
sub esi, 0x47
jmp 0x45347f
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x45346b
movsx esi, al
add esi, 4
jmp 0x45347f
cmp al, 0x2b
jne 0x453476
mov esi, 0x3e
jmp 0x45347f
cmp al, 0x2f
jne 0x45347f
mov esi, 0x3f
add esi, esi
add esi, esi
sar esi, 4
shl ecx, 4
or esi, ecx
mov bl, al
sub bl, 0x41
and esi, 0xff
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x4534a6
movsx ecx, al
sub ecx, 0x41
jmp 0x4534de
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x4534b8
movsx ecx, al
sub ecx, 0x47
jmp 0x4534de
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x4534ca
movsx ecx, al
add ecx, 4
jmp 0x4534de
cmp al, 0x2b
jne 0x4534d5
mov ecx, 0x3e
jmp 0x4534de
cmp al, 0x2f
jne 0x4534de
mov ecx, 0x3f
shr edx, 0x18
mov bl, dl
sub bl, 0x41
or eax, 0xffffffff
cmp bl, 0x19
ja 0x4534f6
movsx eax, dl
sub eax, 0x41
jmp 0x453530
mov bl, dl
sub bl, 0x61
cmp bl, 0x19
ja 0x453508
movsx eax, dl
sub eax, 0x47
jmp 0x453530
mov bl, dl
sub bl, 0x30
cmp bl, 9
ja 0x45351a
movsx eax, dl
add eax, 4
jmp 0x453530
cmp dl, 0x2b
jne 0x453526
mov eax, 0x3e
jmp 0x453530
cmp dl, 0x2f
jne 0x453530
mov eax, 0x3f
shl ecx, 6
lea edx, [eax*4]
mov eax, dword [esp + 0x20]
sar edx, 2
or edx, ecx
xor ecx, ecx
mov ch, dl
add eax, 3
add ebp, 4
mov dword [esp + 0x20], eax
or ecx, esi
shl ecx, 8
or ecx, edi
sub dword [esp + 0x14], 1
mov dword [eax - 3], ecx
jne 0x453323
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jge 0x4537f0
sub ecx, eax
xor eax, eax
test ecx, ecx
mov dword [esp + 0x24], eax
jle 0x453595
push ecx
lea edx, [esp + 0x28]
push ebp
push edx
call fcn.004efdb0
mov eax, dword [esp + 0x30]
add esp, 0xc
or edx, 0xffffffff
cmp al, 0x41
jl 0x4535a8
cmp al, 0x5a
jg 0x4535a8
movsx edx, al
sub edx, 0x41
jmp 0x4535dc
cmp al, 0x61
jl 0x4535b8
cmp al, 0x7a
jg 0x4535b8
movsx edx, al
sub edx, 0x47
jmp 0x4535dc
cmp al, 0x30
jl 0x4535c8
cmp al, 0x39
jg 0x4535c8
movsx edx, al
add edx, 4
jmp 0x4535dc
cmp al, 0x2b
jne 0x4535d3
mov edx, 0x3e
jmp 0x4535dc
cmp al, 0x2f
jne 0x4535dc
mov edx, 0x3f
shr eax, 8
mov bl, al
sub bl, 0x41
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x4535f4
movsx ecx, al
sub ecx, 0x41
jmp 0x45362c
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x453606
movsx ecx, al
sub ecx, 0x47
jmp 0x45362c
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x453618
movsx ecx, al
add ecx, 4
jmp 0x45362c
cmp al, 0x2b
jne 0x453623
mov ecx, 0x3e
jmp 0x45362c
cmp al, 0x2f
jne 0x45362c
mov ecx, 0x3f
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x24]
add ecx, ecx
add ecx, ecx
add dl, dl
sar ecx, 6
add dl, dl
or cl, dl
mov byte [edi], cl
add edi, 1
add ebp, 1
cmp al, 0x3d
je 0x453716
mov edx, esi
shr edx, 0x10
cmp dl, 0x3d
je 0x453716
mov bl, al
sub bl, 0x41
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x453678
movsx ecx, al
sub ecx, 0x41
jmp 0x4536b0
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x45368a
movsx ecx, al
sub ecx, 0x47
jmp 0x4536b0
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x45369c
movsx ecx, al
add ecx, 4
jmp 0x4536b0
cmp al, 0x2b
jne 0x4536a7
mov ecx, 0x3e
jmp 0x4536b0
cmp al, 0x2f
jne 0x4536b0
mov ecx, 0x3f
mov bl, dl
sub bl, 0x41
or eax, 0xffffffff
cmp bl, 0x19
ja 0x4536c5
movsx eax, dl
sub eax, 0x41
jmp 0x4536ff
mov bl, dl
sub bl, 0x61
cmp bl, 0x19
ja 0x4536d7
movsx eax, dl
sub eax, 0x47
jmp 0x4536ff
mov bl, dl
sub bl, 0x30
cmp bl, 9
ja 0x4536e9
movsx eax, dl
add eax, 4
jmp 0x4536ff
cmp dl, 0x2b
jne 0x4536f5
mov eax, 0x3e
jmp 0x4536ff
cmp dl, 0x2f
jne 0x4536ff
mov eax, 0x3f
lea edx, [eax*4]
sar edx, 4
shl cl, 4
or dl, cl
mov byte [edi], dl
add edi, 1
add ebp, 1
mov eax, esi
shr eax, 0x10
cmp al, 0x3d
je 0x4537e1
mov edx, esi
shr edx, 0x18
cmp edx, 0x3d
je 0x4537e1
mov bl, al
sub bl, 0x41
or ecx, 0xffffffff
cmp bl, 0x19
ja 0x453746
movsx ecx, al
sub ecx, 0x41
jmp 0x45377e
mov bl, al
sub bl, 0x61
cmp bl, 0x19
ja 0x453758
movsx ecx, al
sub ecx, 0x47
jmp 0x45377e
mov bl, al
sub bl, 0x30
cmp bl, 9
ja 0x45376a
movsx ecx, al
add ecx, 4
jmp 0x45377e
cmp al, 0x2b
jne 0x453775
mov ecx, 0x3e
jmp 0x45377e
cmp al, 0x2f
jne 0x45377e
mov ecx, 0x3f
mov bl, dl
sub bl, 0x41
or eax, 0xffffffff
cmp bl, 0x19
ja 0x453793
movsx eax, dl
sub eax, 0x41
jmp 0x4537cd
mov bl, dl
sub bl, 0x61
cmp bl, 0x19
ja 0x4537a5
movsx eax, dl
sub eax, 0x47
jmp 0x4537cd
mov bl, dl
sub bl, 0x30
cmp bl, 9
ja 0x4537b7
movsx eax, dl
add eax, 4
jmp 0x4537cd
cmp dl, 0x2b
jne 0x4537c3
mov eax, 0x3e
jmp 0x4537cd
cmp dl, 0x2f
jne 0x4537cd
mov eax, 0x3f
add eax, eax
add eax, eax
sar eax, 2
shl cl, 6
or al, cl
mov byte [edi], al
add edi, 1
add ebp, 1
mov byte [edi], 0
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0xc
ret 8
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov byte [ecx], 0
pop ebx
add esp, 0xc
ret 8