Function at 0x4554a0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x68683c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], ecx
test esi, esi
je 0x455741
test edi, edi
je 0x455741
lea edx, [esi*4 + 8]
mov eax, 0xaaaaaaab
mul edx
push ebx
mov ebx, edx
shr ebx, 1
xor edx, edx
lea eax, [ebx + ebx]
div esi
lea eax, [ebx + eax + 3]
push eax
call fcn.0044f270
test al, al
je 0x45572e
mov eax, 0xaaaaaaab
mul esi
xor ecx, ecx
mov esi, edx
xor ebx, ebx
shr esi, 1
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x124], esi
je 0x45563e
jmp 0x45554c
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x120]
movsx eax, byte [edi + ebx]
movsx esi, byte [edi + ebx + 1]
movsx edi, byte [edi + ebx + 2]
mov edx, dword [ebp - 0x114]
add ebx, 3
and eax, 0xff
mov dword [ebp - 0x118], ebx
mov ebx, eax
shr ebx, 2
and ebx, 0x3f
mov bl, byte [ebx + edx]
mov byte [ebp + ecx - 0x10c], bl
and esi, 0xff
and eax, 3
mov ebx, esi
shl eax, 4
shr ebx, 4
and ebx, 0xf
or ebx, eax
movzx eax, byte [ebx + edx]
mov byte [ebp + ecx - 0x10b], al
and edi, 0xff
and esi, 0xf
mov eax, edi
shr eax, 6
add esi, esi
and eax, 3
add esi, esi
or eax, esi
movzx eax, byte [eax + edx]
and edi, 0x3f
mov dl, byte [edi + edx]
mov byte [ebp + ecx - 0x10a], al
mov byte [ebp + ecx - 0x109], dl
add ecx, 4
cmp ecx, 0x100
jl 0x4555f8
push ecx
mov ecx, dword [ebp - 0x110]
lea eax, [ebp - 0x10c]
push eax
call fcn.0044f710
test al, al
je 0x45572e
xor ecx, ecx
mov eax, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x124]
inc eax
mov dword [ebp - 0x11c], eax
cmp eax, esi
jb 0x455540
test ecx, ecx
je 0x455632
push ecx
lea ecx, [ebp - 0x10c]
push ecx
mov ecx, dword [ebp - 0x110]
call fcn.0044f710
test al, al
je 0x45572e
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x120]
mov ecx, dword [ebp + 0xc]
lea edx, [esi + esi*2]
sub ecx, edx
dec ecx
mov al, 1
je 0x4556c4
dec ecx
jne 0x45571d
movzx esi, byte [edi + ebx]
mov ecx, dword [ebp - 0x114]
movzx edi, byte [edi + ebx + 1]
mov ebx, dword [ebp - 0x110]
mov eax, esi
sar eax, 2
and eax, 0x3f
movzx edx, byte [eax + ecx]
push edx
mov ecx, ebx
call fcn.004523c0
test al, al
je 0x45572e
mov eax, edi
sar eax, 4
and esi, 3
and eax, 0xf
shl esi, 4
or eax, esi
mov esi, dword [ebp - 0x114]
movzx ecx, byte [eax + esi]
push ecx
mov ecx, ebx
call fcn.004523c0
test al, al
je 0x45572e
and edi, 0xf
movzx edx, byte [esi + edi*4]
push edx
mov ecx, ebx
call fcn.004523c0
test al, al
je 0x45572e
mov ecx, ebx
jmp 0x455710
movzx esi, byte [edi + ebx]
mov ebx, dword [ebp - 0x114]
mov edi, dword [ebp - 0x110]
mov eax, esi
sar eax, 2
and eax, 0x3f
movzx ecx, byte [eax + ebx]
push ecx
mov ecx, edi
call fcn.004523c0
test al, al
je 0x45572e
and esi, 3
add esi, esi
movzx edx, byte [ebx + esi*8]
push edx
mov ecx, edi
call fcn.004523c0
test al, al
je 0x45572e
push 0x3d
mov ecx, edi
call fcn.004523c0
test al, al
je 0x45572e
mov ecx, edi
push 0x3d
call fcn.004523c0
test al, al
je 0x45572e
mov al, 1
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005a6cf8
mov esp, ebp
pop ebp
ret
pop ebx
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005a6cf8
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
mov al, 1
pop esi
call fcn.005a6cf8
mov esp, ebp
pop ebp
ret