Function at 0x40edc0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
lea eax, [ebp - 8]
add esp, 0xffffff80
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x44], 0x607c20
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x34], esp
mov dword [ebp - 0x40], 0x60e754
mov dword [ebp - 0x38], 0x40f298
mov dword [esp], eax
call fcn.004cf190
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [esp], 0x3c
mov dword [esp + 4], eax
mov ecx, dword [ebp + 8]
call fcn.0056a940
sub esp, 8
cmp eax, 0xffffffff
je 0x40f230
mov esi, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x60]
mov ecx, dword [esi]
mov esi, dword [ebp + 8]
mov dword [ebx], 9
mov edx, dword [esi + 4]
sub eax, ecx
cmp ecx, edx
ja 0x40f2c5
mov esi, dword [ebp + 8]
lea ebx, [ebp - 0x18]
sub edx, ecx
mov dword [ebp - 0x20], ebx
mov ebx, dword [esi]
add ebx, ecx
cmp edx, eax
lea ecx, [ebp - 0x20]
cmova edx, eax
mov dword [esp], ebx
add edx, ebx
mov dword [esp + 4], edx
mov dword [ebp - 0x58], 0xffffffff
call fcn.0040c1e0
sub esp, 8
mov dword [esp], 0xc
mov dword [ebp - 0x58], 1
call fcn.00606ce0
mov ebx, dword [ebp - 0x60]
mov dword [ebp - 0x68], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov edx, dword [ebp - 0x1c]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x20]
lea ebx, [eax + edx]
cmp eax, ebx
mov dword [ebp - 0x60], ebx
jne 0x40eecf
jmp 0x40ef39
cmp edx, 0x2f
je 0x40ef20
cmp edx, 0x40
jg 0x40f080
cmp edx, 0x2f
jg 0x40f270
add eax, 1
cmp dword [ebp - 0x60], eax
je 0x40ef30
movsx edx, byte [eax]
mov ecx, eax
cmp edx, 0x2b
jne 0x40eeb0
mov edx, 0xfffffff8
add ecx, 1
cmp dword [ebp - 0x60], ecx
je 0x40ef30
movsx eax, byte [ecx]
cmp eax, 0x2b
je 0x40ef70
cmp eax, 0x2f
je 0x40f0b0
cmp eax, 0x40
jg 0x40f0e0
cmp eax, 0x2f
jle 0x40eede
cmp eax, 0x39
jg 0x40f0fb
mov dword [ebp - 0x64], ecx
add eax, 4
jmp 0x40f1e6
add ecx, 1
cmp dword [ebp - 0x60], ecx
mov edx, 0xfffffffc
jne 0x40eee6
lea esi, [esi]
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 0xc]
lea esi, [ebp - 0x18]
add dword [eax], edx
mov eax, dword [ebp - 0x60]
cmp eax, esi
je 0x40ef50
mov dword [esp], eax
call fcn.00606c40
mov byte [ebp - 0x60], 1
lea eax, [ebp - 0x5c]
mov dword [esp], eax
call fcn.004cf200
movzx eax, byte [ebp - 0x60]
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret 8
mov dword [ebp - 0x64], ecx
mov eax, 0xffffffe0
mov ecx, 3
mov ebx, dword [ebp - 0x64]
or edx, ecx
add ebx, 1
cmp dword [ebp - 0x60], ebx
je 0x40ef30
movsx ecx, byte [ebx]
cmp ecx, 0x2b
je 0x40efc0
cmp ecx, 0x2f
je 0x40f0c0
cmp ecx, 0x40
jg 0x40f110
cmp ecx, 0x2f
jle 0x40ef82
cmp ecx, 0x39
jg 0x40f12b
mov dword [ebp - 0x64], ebx
add ecx, 4
jmp 0x40f206
mov dword [ebp - 0x64], ebx
mov ecx, 0xffffff80
mov ebx, 0xf
mov esi, dword [ebp - 0x64]
or eax, ebx
mov byte [ebp - 0x69], al
lea ebx, [esi + 1]
cmp dword [ebp - 0x60], ebx
je 0x40ef30
movsx eax, byte [esi + 1]
cmp eax, 0x2b
je 0x40f010
cmp eax, 0x2f
je 0x40f0d0
cmp eax, 0x40
jg 0x40f160
cmp eax, 0x2f
jg 0x40f284
mov esi, ebx
jmp 0x40efd5
mov dword [ebp - 0x64], esi
mov eax, 0x3e
lea ebx, [ebp - 0x24]
or ecx, eax
mov byte [ebp - 0x24], dl
mov byte [ebp - 0x6a], cl
mov dword [esp], ebx
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x58], 1
call fcn.005db3d0
movzx ebx, byte [ebp - 0x69]
lea esi, [ebp - 0x25]
sub esp, 4
mov byte [ebp - 0x25], bl
mov dword [esp], esi
mov ecx, dword [ebp - 0x68]
call fcn.005db3d0
movzx eax, byte [ebp - 0x6a]
sub esp, 4
mov byte [ebp - 0x26], al
lea eax, [ebp - 0x26]
mov dword [esp], eax
mov ecx, dword [ebp - 0x68]
call fcn.005db3d0
mov eax, dword [ebp - 0x64]
sub esp, 4
add eax, 2
cmp dword [ebp - 0x60], eax
jne 0x40eecf
jmp 0x40ef30
cmp edx, 0x5a
jle 0x40f1c0
cmp edx, 0x60
jle 0x40f270
cmp edx, 0x7a
jle 0x40f1d1
cmp edx, 0x3d
je 0x40ef30
jmp 0x40eec7
mov dword [ebp - 0x64], ecx
mov eax, 0xfffffff0
jmp 0x40ef78
mov dword [ebp - 0x64], ebx
mov ecx, 0xffffffc0
jmp 0x40efc8
mov dword [ebp - 0x64], esi
mov eax, 0x3f
jmp 0x40f018
cmp eax, 0x5a
jle 0x40f240
cmp eax, 0x60
jle 0x40ef09
cmp eax, 0x7a
jle 0x40f1e0
cmp eax, 0x3d
je 0x40ef30
jmp 0x40eede
cmp ecx, 0x5a
jle 0x40f250
cmp ecx, 0x60
jle 0x40efa9
cmp ecx, 0x7a
jle 0x40f200
cmp ecx, 0x3d
jne 0x40ef82
lea eax, [ebp - 0x21]
mov byte [ebp - 0x21], dl
mov dword [esp], eax
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x58], 1
call fcn.005db3d0
mov eax, dword [ebp - 0x20]
sub esp, 4
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x60], eax
jmp 0x40ef39
cmp eax, 0x5a
jle 0x40f260
cmp eax, 0x60
jle 0x40f284
cmp eax, 0x7a
jle 0x40f220
cmp eax, 0x3d
jne 0x40f005
lea eax, [ebp - 0x22]
mov byte [ebp - 0x22], dl
mov dword [esp], eax
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x58], 1
call fcn.005db3d0
movzx eax, byte [ebp - 0x69]
sub esp, 4
mov byte [ebp - 0x23], al
lea eax, [ebp - 0x23]
mov dword [esp], eax
mov ecx, dword [ebp - 0x68]
call fcn.005db3d0
jmp 0x40f14c
mov dword [ebp - 0x64], eax
sub edx, 0x41
shl edx, 2
mov ecx, dword [ebp - 0x64]
jmp 0x40eede
mov dword [ebp - 0x64], eax
sub edx, 0x47
jmp 0x40f1c6
mov dword [ebp - 0x64], ecx
sub eax, 0x47
mov ecx, eax
shl eax, 4
and ecx, 0x30
shr ecx, 4
jmp 0x40ef7d
mov dword [ebp - 0x64], ebx
sub ecx, 0x47
mov ebx, ecx
shl ecx, 6
and ebx, 0x3c
shr ebx, 2
jmp 0x40efcd
mov dword [ebp - 0x64], esi
sub eax, 0x47
jmp 0x40f018
mov byte [ebp - 0x60], 0
jmp 0x40ef54
mov dword [ebp - 0x64], ecx
sub eax, 0x41
jmp 0x40f1e6
mov dword [ebp - 0x64], ebx
sub ecx, 0x41
jmp 0x40f206
mov dword [ebp - 0x64], esi
sub eax, 0x41
jmp 0x40f018
cmp edx, 0x39
jg 0x40f09b
mov dword [ebp - 0x64], ecx
add edx, 4
jmp 0x40f1c6
cmp eax, 0x39
jg 0x40f17b
mov dword [ebp - 0x64], esi
add eax, 4
jmp 0x40f018
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp + 4], 0x635913
mov dword [esp], 0x635928
mov dword [ebp - 0x58], 0xffffffff
call fcn.005ff450
nop
lea esi, [esi]