Function at 0x471730
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, edx
mov ebx, ecx
push edi
mov ecx, esi
call fcn.004716d0
mov dword [ebp - 8], eax
test ebx, ebx
je 0x47182b
mov edi, dword [ebp + 8]
test edi, edi
je 0x47182b
cmp eax, dword [ebp + 0xc]
ja 0x47182b
xor eax, eax
test esi, esi
je 0x4717f3
cmp eax, esi
jae 0x471778
movzx edx, byte [eax + ebx]
inc eax
jmp 0x47177a
xor edx, edx
cmp eax, esi
jae 0x471788
movzx ecx, byte [eax + ebx]
inc eax
mov dword [ebp - 4], ecx
jmp 0x47178f
mov dword [ebp - 4], 0
cmp eax, esi
jae 0x47179a
movzx ecx, byte [eax + ebx]
inc eax
jmp 0x47179c
xor ecx, ecx
shl edx, 8
add edx, dword [ebp - 4]
shl edx, 8
add edx, ecx
mov ecx, edx
shr ecx, 0x12
and ecx, 0x3f
movzx ecx, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUNDQUtDQWdFQTBoSWd1MjBhbndaZE56bHBXMHZjZnZBeThsQzUwNjlTN2xBaU5yWkpHUnVCOTcvSHk0OFYKMUNsRUJabUZDUUF1dk5hdlFEenpFVEJEWWwwUllKMU9nQWRBU3ZqSDNJb01CdDRwQ1dsV0Q4M2V6MjFoc3JnSgpiS3Qwc04vaEdsOUR0WmNOcERERW1lY3o0cmREWXNIcWhuL0JuQjFOaUthRjJmVTYrYXlNbmlPVnVJZVBsZG1uCjM4bHhQZlJxeXJKQjN3cmJac2VldXJwa2dLWGFMNWZXcHdNa0U2cDN3WHp4YkxQdVpkMnNSZGgxM1JUcWNNTkQKc2JpR0doRHF2a3hrcDhOejduRm9rTDdaSVU5dkxPdkZ3VkRNVTNta0ZhVXNjUVowN05lcHJyRDhLQTJZY1lYcAp3MUlieVdjQW1BZVdTZ0tBTSs5VEdPWlhUZnRJRmxXNHF0Tk9iM3VZQXBFM1pFQlFKN3lNSGhXaVNnUU1qMklCClRYNnVkSlVIZi9ZemY3R051cjNXeHd1dmRSRVZxK0RhVU1RY1RNb2xweWlORlliN25GK1dUSzlqUS8yUUpOcE0KMmRaSWowRUtLWjFDR3dVVThuT2l5VUIxTkZ5cjNsK1JESVpsTFE1bmM5TVZhbkpRTGpQT0FSemxTb3JZdUZOMgpneFlSY2lQRjF6SEhxTTRCamJHQjBBdFZJREtlcFNlNkFOdFg1enRxSUE3UWp4MjNSMVFCVlBqc3VkU0N0dE1JCjdzb2xLSTFSbVo0elpaS3dZSE9FL2FFQ240Q1o2UC9iL2d6UVVtaC9zZ1hJSFdnL2xNdUNtT0lXRWJGVTcxS0cKSHdobjUrSjQxZXo0eTRnYkVqZVllSTNtQTFUaVN1L2d3c3J3UUlqYjNVUkRtcTBVRTRaY1hMOENBUU09Ci0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K]
mov byte [edi], cl
mov ecx, edx
shr ecx, 0xc
and ecx, 0x3f
movzx ecx, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUNDQUtDQWdFQTBoSWd1MjBhbndaZE56bHBXMHZjZnZBeThsQzUwNjlTN2xBaU5yWkpHUnVCOTcvSHk0OFYKMUNsRUJabUZDUUF1dk5hdlFEenpFVEJEWWwwUllKMU9nQWRBU3ZqSDNJb01CdDRwQ1dsV0Q4M2V6MjFoc3JnSgpiS3Qwc04vaEdsOUR0WmNOcERERW1lY3o0cmREWXNIcWhuL0JuQjFOaUthRjJmVTYrYXlNbmlPVnVJZVBsZG1uCjM4bHhQZlJxeXJKQjN3cmJac2VldXJwa2dLWGFMNWZXcHdNa0U2cDN3WHp4YkxQdVpkMnNSZGgxM1JUcWNNTkQKc2JpR0doRHF2a3hrcDhOejduRm9rTDdaSVU5dkxPdkZ3VkRNVTNta0ZhVXNjUVowN05lcHJyRDhLQTJZY1lYcAp3MUlieVdjQW1BZVdTZ0tBTSs5VEdPWlhUZnRJRmxXNHF0Tk9iM3VZQXBFM1pFQlFKN3lNSGhXaVNnUU1qMklCClRYNnVkSlVIZi9ZemY3R051cjNXeHd1dmRSRVZxK0RhVU1RY1RNb2xweWlORlliN25GK1dUSzlqUS8yUUpOcE0KMmRaSWowRUtLWjFDR3dVVThuT2l5VUIxTkZ5cjNsK1JESVpsTFE1bmM5TVZhbkpRTGpQT0FSemxTb3JZdUZOMgpneFlSY2lQRjF6SEhxTTRCamJHQjBBdFZJREtlcFNlNkFOdFg1enRxSUE3UWp4MjNSMVFCVlBqc3VkU0N0dE1JCjdzb2xLSTFSbVo0elpaS3dZSE9FL2FFQ240Q1o2UC9iL2d6UVVtaC9zZ1hJSFdnL2xNdUNtT0lXRWJGVTcxS0cKSHdobjUrSjQxZXo0eTRnYkVqZVllSTNtQTFUaVN1L2d3c3J3UUlqYjNVUkRtcTBVRTRaY1hMOENBUU09Ci0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K]
mov byte [edi + 1], cl
mov ecx, edx
shr ecx, 6
and edx, 0x3f
and ecx, 0x3f
movzx ecx, byte [ecx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUNDQUtDQWdFQTBoSWd1MjBhbndaZE56bHBXMHZjZnZBeThsQzUwNjlTN2xBaU5yWkpHUnVCOTcvSHk0OFYKMUNsRUJabUZDUUF1dk5hdlFEenpFVEJEWWwwUllKMU9nQWRBU3ZqSDNJb01CdDRwQ1dsV0Q4M2V6MjFoc3JnSgpiS3Qwc04vaEdsOUR0WmNOcERERW1lY3o0cmREWXNIcWhuL0JuQjFOaUthRjJmVTYrYXlNbmlPVnVJZVBsZG1uCjM4bHhQZlJxeXJKQjN3cmJac2VldXJwa2dLWGFMNWZXcHdNa0U2cDN3WHp4YkxQdVpkMnNSZGgxM1JUcWNNTkQKc2JpR0doRHF2a3hrcDhOejduRm9rTDdaSVU5dkxPdkZ3VkRNVTNta0ZhVXNjUVowN05lcHJyRDhLQTJZY1lYcAp3MUlieVdjQW1BZVdTZ0tBTSs5VEdPWlhUZnRJRmxXNHF0Tk9iM3VZQXBFM1pFQlFKN3lNSGhXaVNnUU1qMklCClRYNnVkSlVIZi9ZemY3R051cjNXeHd1dmRSRVZxK0RhVU1RY1RNb2xweWlORlliN25GK1dUSzlqUS8yUUpOcE0KMmRaSWowRUtLWjFDR3dVVThuT2l5VUIxTkZ5cjNsK1JESVpsTFE1bmM5TVZhbkpRTGpQT0FSemxTb3JZdUZOMgpneFlSY2lQRjF6SEhxTTRCamJHQjBBdFZJREtlcFNlNkFOdFg1enRxSUE3UWp4MjNSMVFCVlBqc3VkU0N0dE1JCjdzb2xLSTFSbVo0elpaS3dZSE9FL2FFQ240Q1o2UC9iL2d6UVVtaC9zZ1hJSFdnL2xNdUNtT0lXRWJGVTcxS0cKSHdobjUrSjQxZXo0eTRnYkVqZVllSTNtQTFUaVN1L2d3c3J3UUlqYjNVUkRtcTBVRTRaY1hMOENBUU09Ci0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K]
mov byte [edi + 2], cl
movzx ecx, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_LS0tLS1CRUdJTiBSU0EgUFVCTElDIEtFWS0tLS0tCk1JSUNDQUtDQWdFQTBoSWd1MjBhbndaZE56bHBXMHZjZnZBeThsQzUwNjlTN2xBaU5yWkpHUnVCOTcvSHk0OFYKMUNsRUJabUZDUUF1dk5hdlFEenpFVEJEWWwwUllKMU9nQWRBU3ZqSDNJb01CdDRwQ1dsV0Q4M2V6MjFoc3JnSgpiS3Qwc04vaEdsOUR0WmNOcERERW1lY3o0cmREWXNIcWhuL0JuQjFOaUthRjJmVTYrYXlNbmlPVnVJZVBsZG1uCjM4bHhQZlJxeXJKQjN3cmJac2VldXJwa2dLWGFMNWZXcHdNa0U2cDN3WHp4YkxQdVpkMnNSZGgxM1JUcWNNTkQKc2JpR0doRHF2a3hrcDhOejduRm9rTDdaSVU5dkxPdkZ3VkRNVTNta0ZhVXNjUVowN05lcHJyRDhLQTJZY1lYcAp3MUlieVdjQW1BZVdTZ0tBTSs5VEdPWlhUZnRJRmxXNHF0Tk9iM3VZQXBFM1pFQlFKN3lNSGhXaVNnUU1qMklCClRYNnVkSlVIZi9ZemY3R051cjNXeHd1dmRSRVZxK0RhVU1RY1RNb2xweWlORlliN25GK1dUSzlqUS8yUUpOcE0KMmRaSWowRUtLWjFDR3dVVThuT2l5VUIxTkZ5cjNsK1JESVpsTFE1bmM5TVZhbkpRTGpQT0FSemxTb3JZdUZOMgpneFlSY2lQRjF6SEhxTTRCamJHQjBBdFZJREtlcFNlNkFOdFg1enRxSUE3UWp4MjNSMVFCVlBqc3VkU0N0dE1JCjdzb2xLSTFSbVo0elpaS3dZSE9FL2FFQ240Q1o2UC9iL2d6UVVtaC9zZ1hJSFdnL2xNdUNtT0lXRWJGVTcxS0cKSHdobjUrSjQxZXo0eTRnYkVqZVllSTNtQTFUaVN1L2d3c3J3UUlqYjNVUkRtcTBVRTRaY1hMOENBUU09Ci0tLS0tRU5EIFJTQSBQVUJMSUMgS0VZLS0tLS0K]
mov byte [edi + 3], cl
add edi, 4
cmp eax, esi
jb 0x471771
mov edi, dword [ebp + 8]
mov eax, 0xaaaaaaab
mul esi
shr edx, 1
lea eax, [edx + edx*2]
mov edx, dword [ebp - 8]
sub esi, eax
mov ecx, dword [esi*4 + 0x54c4f4]
test ecx, ecx
jle 0x47181d
lea eax, [edx - 1]
add eax, edi
mov byte [eax], 0x3d
lea eax, [eax - 1]
dec ecx
jne 0x471814
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret