Function at 0x4194d0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
call fcn.004775f0
movzx eax, al
test eax, eax
je 0x4194f6
pop edx
pop ebx
pop edx
push edx
pop edi
push ecx
pop edx
pop ebp
push edx
push esi
pop ecx
pop eax
pop edx
pop edi
pop edi
push edx
pop ebp
call fcn.00477bf0
movzx ecx, al
test ecx, ecx
je 0x419521
push edx
pop ebp
pop ecx
push edi
push esi
pop esp
push esp
push ebx
pop ebx
pop esi
pop esp
pop eax
push esi
push eax
pop esp
pop edi
pop ecx
push ecx
pop edx
pop esp
pop esp
push esi
pop ebp
pop ebx
push ebp
push edx
pop edx
push edx
push esp
pop edi
push ecx
call fcn.004778f0
movzx edx, al
test edx, edx
je 0x419543
push ecx
push edi
push ebx
push ebp
push esi
push esp
pop eax
push edx
pop edx
pop ebx
push eax
pop esi
pop esi
push edx
pop eax
pop esp
pop edx
push edi
push esp
push eax
pop ecx
push esp
mov dword [ebp - 8], 0
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
jmp 0x419561
mov edx, dword [ebp - 4]
add edx, 1
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
cmp eax, dword [ebp + 0xc]
jge 0x419636
mov ecx, dword [ebp + 0xc]
sub ecx, dword [ebp - 4]
cmp ecx, 2
jl 0x41959c
mov edx, dword [ebp + 8]
add edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x2f72
jne 0x41959c
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 4]
movzx edx, byte [ecx + 1]
cmp edx, 0x2f6e
jne 0x41959c
jmp 0x419558
mov eax, dword [ebp + 8]
add eax, dword [ebp - 4]
movzx ecx, byte [eax]
cmp ecx, 0x2f6e
jne 0x4195af
jmp 0x419558
mov edx, dword [ebp + 8]
add edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x3d
jne 0x4195d6
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 2
jle 0x4195d6
mov eax, 0xffffffee
jmp 0x419798
mov edx, dword [ebp + 8]
add edx, dword [ebp - 4]
movzx eax, byte [edx]
cmp eax, 0x7f
jg 0x4195f9
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 4]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x5edde8]
cmp eax, 0x7f
jne 0x419603
mov eax, 0xffffffee
jmp 0x419798
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 4]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x5edde8]
cmp eax, 0x40
jge 0x419628
cmp dword [ebp - 0xc], 0
je 0x419628
mov eax, 0xffffffee
jmp 0x419798
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
jmp 0x419558
cmp dword [ebp - 8], 0
jne 0x419643
xor eax, eax
jmp 0x419798
imul edx, dword [ebp - 8], 6
add edx, 7
sar edx, 3
mov dword [ebp - 8], edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 8]
jge 0x41966c
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp - 8]
mov dword [edx], eax
mov eax, 0xfffffff0
jmp 0x419798
call fcn.00477590
movzx ecx, al
test ecx, ecx
je 0x41968a
pop eax
pop esi
pop edx
push esp
push edi
pop edi
pop ebx
push eax
pop eax
push edx
push ebp
push esi
pop ebx
push edx
push ebx
pop ecx
push ecx
push ebp
mov dword [ebp - 0xc], 3
mov dword [ebp - 0x14], 0
mov edx, dword [ebp - 0x14]
mov dword [ebp - 8], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x10], eax
jmp 0x4196b8
mov ecx, dword [ebp - 4]
sub ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp + 8]
add edx, 1
mov dword [ebp + 8], edx
cmp dword [ebp - 4], 0
jle 0x41978b
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
cmp ecx, 0x2f72
je 0x4196dd
mov edx, dword [ebp + 8]
movzx eax, byte [edx]
cmp eax, 0x2f6e
jne 0x4196df
jmp 0x4196a6
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
movzx eax, byte [edx + 0x5edde8]
cmp eax, 0x40
jne 0x4196fa
mov dword [ebp - 0x18], 1
jmp 0x419701
mov dword [ebp - 0x18], 0
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 0x18]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x14]
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
movzx eax, byte [ecx + 0x5edde8]
and eax, 0x3f
or edx, eax
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
cmp dword [ebp - 8], 4
jne 0x419786
mov dword [ebp - 8], 0
cmp dword [ebp - 0xc], 0
jle 0x419755
mov edx, dword [ebp - 0x14]
shr edx, 0x10
mov eax, dword [ebp - 0x10]
mov byte [eax], dl
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0xc], 1
jle 0x41976f
mov edx, dword [ebp - 0x14]
shr edx, 8
mov eax, dword [ebp - 0x10]
mov byte [eax], dl
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0xc], 2
jle 0x419786
mov edx, dword [ebp - 0x10]
mov al, byte [ebp - 0x14]
mov byte [edx], al
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
jmp 0x4196a6
mov edx, dword [ebp - 0x10]
sub edx, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret