Function at 0x7959af
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x24
mov eax, dword [0xd26e]
or eax, 1
push eax
call fcn.00794970
mov dword [ebp - 0x30], eax
mov eax, dword [0x30da65]
pop ecx
test byte [eax + 4], 3
je 0x795a84
mov esi, dword [0x359c10]
cmp dword [0x359c18], 0x640
jbe 0x7959f5
mov dword [0x359c18], 0x640
push dword [0x359c14]
push 0x34991c
push 0
call fcn.00794ffc
add esp, 0xc
jmp 0x795a46
cmp ebx, 0x1b
je 0x796113
lea eax, [ebx - 0x20]
cmp eax, 0x5e
ja 0x795a46
mov eax, dword [0x30da65]
test byte [eax + 4], 1
jne 0x795a36
push 0xff
push ebx
call dword [0x30d8e5]
pop eax
pop edx
cmp ebx, 0x20
jne 0x795a43
cmp esi, dword [0x359c10]
je 0x795a46
mov byte [esi], bl
inc esi
call fcn.0079493c
movzx ebx, al
cmp ebx, 0xa
je 0x795a58
cmp ebx, 0xd
jne 0x795a0c
mov byte [esi], 0
mov eax, dword [0x30da65]
test byte [eax + 4], 1
jne 0x795a75
push 0xff
push 0xa
call dword [0x30d8e5]
pop esi
pop edi
push dword [ebp - 0x30]
call fcn.00794970
xor ebx, ebx
jmp 0x79612c
mov edx, dword [0x359c14]
xor eax, eax
mov dword [0x34d780], 0x3e9200
jmp 0x795a99
inc eax
cmp byte [eax + edx], 0
jne 0x795a98
mov dword [0x34d788], eax
mov edx, dword [0x359c10]
xor eax, eax
jmp 0x795aaf
inc eax
cmp byte [eax + edx], 0
jne 0x795aae
mov dword [0x34d784], eax
cmp dword [0x359c18], 0x640
jbe 0x795aed
mov dword [0x359c18], 0x640
cmp eax, 0x63f
jle 0x795aed
mov eax, dword [0x359c10]
mov dword [0x34d784], 0x63f
mov byte [eax + 0x640], 0
push dword [0x359c10]
mov eax, dword [0x34d784]
push 0x3e9200
mov dword [0x34d790], eax
call fcn.00795911
pop ecx
pop ebx
cmp dword [0x30da81], 0
je 0x795b21
push 0xff
push 0xa
call dword [0x30d8e5]
pop eax
pop edx
xor edx, edx
mov eax, 1
call fcn.00795405
mov eax, dword [0x359c20]
cmp eax, 1
jbe 0x795b72
mov edi, eax
shr edi, 8
call fcn.0047a1a5
mov ebx, eax
cmp eax, 0xff
je 0x795b3c
xor esi, esi
jmp 0x795b69
call fcn.00794932
inc eax
jne 0x795b72
call fcn.0047a1a5
cmp eax, ebx
je 0x795b4e
cmp eax, 0xff
je 0x795b4e
inc esi
mov ebx, eax
cmp esi, edi
jne 0x795b4e
jmp 0x79610c
and dword [0x359c20], 1
mov dword [ebp - 0x24], 0xffffffff
jmp 0x796082
mov byte [esi], 0x20
jmp 0x795c20
cmp dword [0x359c20], 0
je 0x796016
cmp byte [ebp - 0x29], 9
jne 0x795d4d
mov eax, dword [0x34d780]
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x14], eax
jmp 0x795bb8
inc dword [ebp - 0x20]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
cmp byte [edx + eax], 0x20
je 0x795bb5
mov ebx, eax
add ebx, edx
jmp 0x795bcd
inc dword [ebp - 0x20]
mov cl, byte [ebx]
test cl, cl
setne dl
cmp cl, 0x3d
setne al
test al, dl
je 0x795be4
inc ebx
cmp cl, 0x20
jne 0x795bca
xor eax, eax
mov edi, dword [0x34d790]
mov ebx, dword [ebp - 0x14]
cmp edi, dword [ebp - 0x20]
setg al
add ebx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], eax
jmp 0x795c06
inc ebx
cmp cl, 0x3d
je 0x795b85
inc dword [ebp - 0x20]
mov cl, byte [ebx]
mov esi, ebx
test cl, cl
setne dl
cmp cl, 0x20
setne al
test al, dl
jne 0x795bfd
mov dword [ebp - 0x20], 0xffffffff
mov edx, dword [ebp - 0x14]
mov ebx, edi
lea esi, [edx + edi - 2]
jmp 0x795c59
mov al, byte [esi + 1]
cmp al, 0x20
sete dl
cmp al, 0x3d
sete al
or dl, al
je 0x795c57
lea edx, [ebx - 2]
mov ecx, esi
jmp 0x795c4b
mov al, byte [ecx]
dec ecx
cmp al, 0x5c
jne 0x795c4f
dec edx
test edx, edx
jns 0x795c43
mov eax, ebx
sub eax, edx
test al, 1
je 0x795c5d
dec ebx
dec esi
test ebx, ebx
jg 0x795c2b
mov eax, dword [ebp - 0x14]
sub edi, ebx
add eax, ebx
push edi
mov dword [0x8348], 0xffffffff
push eax
push 0x3e9840
call fcn.00794e4f
mov eax, dword [0x34d790]
sub eax, ebx
mov byte [eax + 0x3e9840], 0
push 1
push dword [ebp - 0x1c]
call fcn.0079c21d
add esp, 0x14
mov esi, eax
cmp dword [ebp - 0x1c], 0
sete dl
shr eax, 0x1f
test al, dl
je 0x795cb9
push 1
push 1
call fcn.0079c21d
pop edi
mov esi, eax
mov dword [ebp - 0x1c], 1
pop eax
mov dword [0x8314], 0
test esi, esi
js 0x795d0a
mov eax, dword [0x34d790]
add eax, 0x3e9840
sub eax, ebx
call fcn.0079587c
test esi, esi
jle 0x795d0a
cmp dword [0x30da81], 0
je 0x795cf4
push 0xff
push 0xa
call dword [0x30d8e5]
pop ecx
pop ebx
push 0
push dword [ebp - 0x1c]
call fcn.0079c21d
pop eax
mov dword [0x8314], 0
pop edx
cmp dword [ebp - 0x20], 0
js 0x795d1c
mov eax, dword [0x34d780]
mov edx, dword [ebp - 0x20]
mov byte [eax + edx], 0x3d
test esi, esi
je 0x796020
cmp dword [0x30da81], 0
je 0x795d3c
push 0xff
push 0xa
call dword [0x30d8e5]
pop edi
pop eax
xor edx, edx
mov eax, 1
call fcn.00795405
jmp 0x796020
cmp dword [ebp - 0x28], 0x4700
jne 0x795d65
mov dword [0x34d790], 0
jmp 0x79600a
cmp dword [ebp - 0x28], 0x4f00
jne 0x795d78
mov eax, dword [0x34d784]
jmp 0x796005
cmp dword [ebp - 0x28], 0x4d00
jne 0x795ed1
mov esi, dword [0x34d790]
mov edi, dword [0x34d784]
cmp esi, edi
jge 0x796016
mov eax, dword [0x34d780]
mov dl, byte [eax + esi]
test dl, dl
jns 0x795e14
cmp dword [0x30da75], 0
je 0x795e14
movzx edx, dl
test dl, 0x40
je 0x795e14
test dl, 0x20
jne 0x795dd9
mov cl, byte [eax + esi + 1]
mov al, cl
shr al, 6
cmp al, 2
jne 0x795e14
shl edx, 6
mov eax, ecx
and eax, 0x3f
mov ecx, 2
or edx, eax
jmp 0x795e1b
test dl, 0x10
jne 0x795e14
lea ecx, [eax + esi]
mov bl, byte [ecx + 1]
mov al, bl
shr al, 6
cmp al, 2
jne 0x795e14
mov cl, byte [ecx + 2]
mov al, cl
shr al, 6
cmp al, 2
jne 0x795e14
shl edx, 6
mov eax, ebx
and eax, 0x3f
or edx, eax
mov eax, ecx
shl edx, 6
and eax, 0x3f
or edx, eax
mov ecx, 3
jmp 0x795e1b
mov ecx, 1
xor edx, edx
lea eax, [esi + ecx]
cmp eax, edi
jle 0x795e27
mov ecx, 1
mov eax, dword [0x34d794]
lea edi, [esi + ecx]
mov ebx, dword [0x30da65]
mov dword [0x34d790], edi
mov dword [ebp - 0x18], eax
mov esi, eax
movzx eax, word [ebx + 8]
add esi, ecx
sub eax, 2
cmp esi, eax
jge 0x79600a
test byte [ebx + 4], 4
je 0x795e9a
mov ebx, edi
mov dword [0x34d794], esi
sub ebx, ecx
jmp 0x795e8d
mov eax, dword [0x359c1c]
mov edx, dword [0x30d8e5]
test eax, eax
jne 0x795e82
mov eax, dword [0x34d780]
push 0xff
movzx eax, byte [eax + ebx]
jmp 0x795e87
push 0xff
push eax
inc ebx
call edx
pop ecx
pop esi
cmp ebx, dword [0x34d790]
jl 0x795e63
jmp 0x796016
cmp ecx, 1
jle 0x795eb4
shl edx, 5
xor ecx, ecx
mov eax, dword [edx + 0x1800000]
cmp eax, dword [0x1800820]
setne cl
inc ecx
push dword [0x30da85]
mov eax, dword [ebp - 0x18]
add eax, ecx
mov dword [0x34d794], eax
push eax
call fcn.00794928
pop eax
pop edx
jmp 0x796016
cmp dword [ebp - 0x28], 0x4b00
jne 0x795ef6
cmp dword [0x34d790], 0
jle 0x796016
mov eax, 1
call fcn.0079568f
jmp 0x796016
cmp dword [ebp - 0x28], 0x4800
jne 0x795f96
cmp dword [ebp - 0x24], 0
jns 0x795f1e
push dword [0x34d780]
push dword [0x359c10]
call fcn.00795911
pop edi
pop eax
jmp 0x795f46
mov eax, dword [ebp - 0x24]
mov ebx, dword [0x34d780]
call fcn.007948ef
push ebx
push eax
call fcn.00794946
pop ebx
test eax, eax
pop esi
je 0x795f46
mov edx, dword [ebp - 0x24]
mov eax, dword [0x34d780]
call fcn.00795938
mov ebx, dword [ebp - 0x24]
inc ebx
mov eax, ebx
call fcn.007948ef
test eax, eax
je 0x796016
push eax
push dword [0x34d780]
call fcn.00795911
pop edi
mov edx, dword [0x34d780]
xor eax, eax
pop ecx
jmp 0x795f72
inc eax
cmp byte [eax + edx], 0
jne 0x795f71
mov dword [0x34d784], eax
mov dword [0x34d790], eax
xor edx, edx
mov eax, 1
call fcn.00795405
mov dword [ebp - 0x24], ebx
jmp 0x796016
cmp dword [ebp - 0x28], 0x5000
jne 0x796016
cmp dword [ebp - 0x24], 0
js 0x796016
mov eax, dword [ebp - 0x24]
mov ebx, dword [0x34d780]
call fcn.007948ef
push ebx
push eax
call fcn.00794946
pop ebx
test eax, eax
pop esi
je 0x795fcd
mov edx, dword [ebp - 0x24]
mov eax, dword [0x34d780]
call fcn.00795938
dec dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
call fcn.007948ef
test eax, eax
jne 0x795fe1
mov eax, dword [0x359c10]
push eax
push dword [0x34d780]
call fcn.00795911
pop edi
mov edx, dword [0x34d780]
xor eax, eax
pop ecx
jmp 0x795ffa
inc eax
cmp byte [eax + edx], 0
jne 0x795ff9
mov dword [0x34d784], eax
mov dword [0x34d790], eax
xor edx, edx
mov eax, 1
call fcn.00795405
cmp byte [ebp - 0x29], 0x1b
je 0x79610c
cmp dword [ebp - 0x28], 0x5300
jne 0x796038
mov eax, dword [0x34d784]
cmp dword [0x34d790], eax
je 0x796082
jmp 0x79605a
cmp dword [ebp - 0x28], 0xe08
je 0x796047
cmp byte [ebp - 0x29], 8
jne 0x796066
cmp dword [0x34d790], 0
jle 0x796082
mov eax, 1
call fcn.0079568f
mov eax, 1
call fcn.007957c4
jmp 0x796082
mov al, byte [ebp - 0x29]
sub eax, 0x20
cmp al, 0x5e
ja 0x796082
mov dl, byte [ebp - 0x29]
lea eax, [ebp - 0xe]
mov byte [ebp - 0xe], dl
mov byte [ebp - 0xd], 0
call fcn.0079587c
call fcn.0079493c
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x29], al
cmp al, 0xa
je 0x796099
cmp al, 0xd
jne 0x795b8d
mov dword [0x34d790], 0
cmp dword [0x359c1c], 0
jne 0x7960c4
mov edx, dword [0x34d780]
xor ecx, ecx
jmp 0x7960b7
inc ecx
mov al, byte [edx]
inc edx
cmp al, 0x20
je 0x7960b6
mov dword [0x34d790], ecx
mov edx, dword [0x34d790]
mov eax, dword [0x34d784]
sub eax, edx
add edx, dword [0x34d780]
inc eax
push eax
push edx
push dword [0x359c10]
call fcn.00794e4f
add esp, 0xc
cmp dword [0x359c20], 0
je 0x796122
mov eax, dword [0x34d784]
cmp dword [0x34d790], eax
jge 0x796122
xor edx, edx
mov eax, dword [0x359c10]
call fcn.00795938
jmp 0x796122
mov ebx, 1
jmp 0x796124
push dword [ebp - 0x30]
call fcn.00794970
mov ebx, 1
jmp 0x79612c
xor ebx, ebx
push dword [ebp - 0x30]
call fcn.00794970
pop esi
mov eax, ebx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret