Function at 0x4927a0
Capabilities:
Encode data using base64

Disassembly:
mov eax, dword [0x4788f0]
mov ecx, dword [eax + 0x22c]
sub esp, 0x10
push ebx
push ebp
xor ebp, ebp
cmp ecx, ebp
push edi
je 0x4927c2
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10
ret 8
push esi
inc dword [eax + 0x1c]
mov eax, dword [0x4788f0]
mov ecx, dword [eax + 0x1c]
cmp ecx, 0x18
jge 0x4927f2
mov dword [eax + ecx*4 + 0x20], 0x4b
mov eax, dword [0x4788f0]
cmp dword [eax + 0x240], ebp
je 0x4927f2
call fcn.00490490
mov eax, dword [0x4788f0]
mov ecx, dword [eax + 4]
cmp ecx, ebp
je 0x492d0c
cmp ecx, 0x100
ja 0x492d0c
cmp dword [eax + 0x8c], ebp
jne 0x492818
push 0x12
jmp 0x492d0e
mov edi, dword [esp + 0x24]
xor esi, esi
push edi
mov dword [esp + 0x18], esi
call fcn.00490bd0
push edi
push 1
mov dword [esp + 0x24], eax
call fcn.00490bf0
mov ebx, dword [edi]
cmp ebx, ebp
mov eax, dword [0x4788f0]
mov ecx, 0x3c
jne 0x49289e
cmp dword [eax + 4], ecx
ja 0x49289e
cmp dword [eax + 0x84], ebp
jne 0x49285e
mov eax, dword [esp + 0x28]
mov byte [eax], 0x30
mov byte [eax + 1], 0
jmp 0x492883
mov eax, dword [eax + 0x94]
mov esi, dword [fcn.0040d00c]
push eax
push 0x30
call esi
mov ecx, dword [0x4788f0]
mov edx, dword [ecx + 0x94]
push edx
push 0xa
call esi
add esp, 0x10
mov eax, dword [0x4788f0]
mov ecx, dword [eax + 0x1c]
pop esi
pop edi
dec ecx
pop ebp
mov dword [eax + 0x1c], ecx
mov eax, 1
pop ebx
add esp, 0x10
ret 8
cmp dword [esp + 0x1c], 0xffffffff
mov dword [esp + 0x10], ebp
jne 0x4928df
cmp dword [eax + 4], ecx
ja 0x4928df
cmp dword [eax + 0x84], ebp
jne 0x4928bf
mov eax, dword [esp + 0x28]
mov byte [eax], 0x2d
jmp 0x4928d1
mov ecx, dword [eax + 0x94]
push ecx
push 0x2d
call dword [fcn.0040d00c]
add esp, 8
mov eax, dword [0x4788f0]
mov esi, 1
mov dword [esp + 0x14], esi
mov edx, dword [eax + 0x1ec]
push edx
push edi
mov dword [esp + 0x20], ebp
call fcn.004917f0
mov eax, dword [0x4788f0]
cmp dword [eax + 0x23c], ebp
je 0x492a29
mov eax, dword [eax + 0x1e8]
push eax
push edi
call fcn.00491900
mov ecx, dword [0x4788f0]
mov edx, dword [ecx + 0x1e8]
push edx
call fcn.004911f0
cmp eax, 1
jle 0x492a24
mov edi, ebx
and edi, 0xffff
shr ebx, 0x10
cmp edi, ebp
jne 0x49293d
mov edi, 1
cmp ebx, edi
mov eax, dword [0x4788f0]
mov dword [eax + 0x80], ebp
jge 0x492966
mov ecx, dword [0x4788f0]
mov eax, dword [ecx + 0x1e8]
push eax
mov edx, edi
sub edx, ebx
push edx
push eax
call fcn.00490f60
cmp ebx, edi
jle 0x49297f
mov eax, dword [0x4788f0]
mov eax, dword [eax + 0x1ec]
push eax
mov ecx, ebx
sub ecx, edi
push ecx
push eax
call fcn.00490f60
mov eax, dword [0x4788f0]
mov edx, dword [eax + 0x1e8]
mov esi, dword [eax + 0x18]
mov eax, dword [eax + 0x1ec]
push edx
push eax
call fcn.00491240
test eax, eax
jl 0x49299f
dec esi
mov eax, dword [0x4788f0]
mov ecx, dword [eax + 0x1d4]
mov edx, dword [eax + 0x1ec]
push ecx
push edx
call fcn.00490e60
mov eax, dword [0x4788f0]
mov ecx, dword [eax + 0x1d4]
mov edx, dword [ecx]
mov eax, dword [eax + 0x18]
shl eax, 1
lea ebp, [edx + esi]
cmp ebp, eax
jle 0x4929d4
sub eax, edx
mov esi, eax
push ecx
push esi
push ecx
call fcn.00490f60
mov eax, dword [0x4788f0]
mov ecx, dword [eax + 0x1ec]
mov edx, dword [eax + 0x1e8]
mov eax, dword [eax + 0x1d4]
push ecx
push edx
push eax
call fcn.00494130
mov ecx, dword [0x4788f0]
sub esi, edi
mov dword [ecx + 0x80], 1
mov eax, dword [0x4788f0]
add esi, ebx
imul esi, dword [eax + 8]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x14]
xor ebp, ebp
jmp 0x492a29
mov eax, dword [0x4788f0]
mov edx, dword [eax + 0x1ec]
mov edi, dword [esp + 0x10]
push edx
call fcn.00490cb0
cmp edi, eax
mov dword [esp + 0x14], eax
jle 0x492a43
mov eax, edi
cmp eax, ebp
mov edi, eax
jle 0x492bad
lea ecx, [ecx]
mov eax, dword [0x4788f0]
mov ecx, dword [eax + 0x84]
cmp ecx, ebp
jne 0x492a7c
mov edx, dword [esp + 0x28]
cmp edx, dword [eax + 0x220]
jne 0x492a7c
mov edx, dword [eax + 0x224]
sub edx, 5
cmp esi, edx
jge 0x492c44
cmp edi, dword [esp + 0x10]
jne 0x492aae
cmp dword [eax + 4], 0x3c
ja 0x492aae
cmp ecx, ebp
jne 0x492a96
mov eax, dword [esp + 0x28]
mov byte [esi + eax], 0x2e
jmp 0x492aa8
mov ecx, dword [eax + 0x94]
push ecx
push 0x2e
call dword [fcn.0040d00c]
add esp, 8
mov eax, dword [0x4788f0]
inc esi
cmp edi, dword [esp + 0x14]
jle 0x492abe
mov ebx, 0x30
jmp 0x492b58
mov edx, dword [eax + 0x1ec]
push edi
push edx
call fcn.00490c60
mov ebx, eax
mov eax, dword [0x4788f0]
mov dword [eax + 0x80], ebp
mov ecx, dword [0x4788f0]
mov edx, dword [ecx + 0x1ec]
push edi
push edx
push ebp
call fcn.00490d30
mov eax, dword [0x4788f0]
mov dword [eax + 0x80], 1
mov eax, dword [0x4788f0]
mov ecx, dword [eax + 4]
cmp ecx, 0x3c
ja 0x492b1b
add ebx, 0x30
cmp ebx, 0x3a
jl 0x492b13
add ebx, 7
cmp ebx, 0x5b
jl 0x492b1b
add ebx, 6
cmp ecx, 0x40
jne 0x492b58
cmp ebx, 0x1a
jge 0x492b2d
add ebx, 0x41
cmp ebx, 0x1a
jl 0x492b35
cmp ebx, 0x34
jge 0x492b3a
add ebx, 0x47
cmp ebx, 0x34
jl 0x492b42
cmp ebx, 0x3e
jge 0x492b45
sub ebx, 4
cmp ebx, 0x3e
jne 0x492b4e
mov ebx, 0x2b
jmp 0x492b58
cmp ebx, 0x3f
jne 0x492b58
mov ebx, 0x2f
cmp edi, dword [esp + 0x10]
jge 0x492b7e
cmp dword [eax + 4], 0x3c
ja 0x492b7e
cmp ebx, 0x30
jne 0x492b7e
mov ecx, dword [eax + 0x1ec]
push ecx
call fcn.004911f0
test eax, eax
je 0x492bad
mov eax, dword [0x4788f0]
cmp dword [eax + 0x84], ebp
jne 0x492b8f
mov edx, dword [esp + 0x28]
mov byte [esi + edx], bl
jmp 0x492ba3
mov eax, dword [eax + 0x94]
movzx ecx, bl
push eax
push ecx
call dword [fcn.0040d00c]
add esp, 8
inc esi
dec edi
cmp edi, ebp
jg 0x492a50
cmp dword [esp + 0x18], ebp
jne 0x492c5f
mov ecx, dword [0x4788f0]
cmp dword [ecx + 0x23c], ebp
jne 0x492c65
mov edx, dword [ecx + 0x1ec]
mov eax, dword [esp + 0x24]
push edx
push eax
call fcn.00491900
mov ecx, dword [0x4788f0]
mov edx, dword [ecx + 0x1ec]
push edx
call fcn.004911f0
cmp eax, 1
je 0x492c5f
mov eax, dword [0x4788f0]
cmp dword [eax + 4], 0x3c
ja 0x492c37
cmp dword [eax + 0x84], ebp
jne 0x492c1f
mov eax, dword [esp + 0x28]
mov byte [esi + eax], 0x2f
mov eax, dword [0x4788f0]
inc esi
mov dword [esp + 0x18], 1
jmp 0x492a29
mov ecx, dword [eax + 0x94]
push ecx
push 0x2f
call dword [fcn.0040d00c]
mov eax, dword [0x4788f0]
add esp, 8
inc esi
mov dword [esp + 0x18], 1
jmp 0x492a29
push 0x11
call fcn.00490200
mov eax, dword [0x4788f0]
dec dword [eax + 0x1c]
mov eax, esi
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x10
ret 8
mov ecx, dword [0x4788f0]
cmp dword [ecx + 4], 0x40
jne 0x492cb6
mov eax, esi
cdq
mov edi, 3
idiv edi
test edx, edx
je 0x492cb6
mov edi, dword [esp + 0x28]
mov ebx, dword [fcn.0040d00c]
mov eax, dword [ecx + 0x84]
test eax, eax
jne 0x492c93
mov byte [esi + edi], 0x3d
jmp 0x492ca1
mov edx, dword [ecx + 0x94]
push edx
push 0x3d
call ebx
add esp, 8
inc esi
mov eax, esi
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [0x4788f0]
test edx, edx
jne 0x492c83
mov eax, dword [ecx + 0x84]
test eax, eax
jne 0x492cca
mov edx, dword [esp + 0x28]
mov byte [esi + edx], 0
jmp 0x492ce9
mov eax, dword [ecx + 4]
cmp eax, 0x3c
jbe 0x492cd7
cmp eax, 0x40
jne 0x492ce9
mov eax, dword [ecx + 0x94]
push eax
push 0xa
call dword [fcn.0040d00c]
add esp, 8
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
push ecx
push edx
call fcn.00490bf0
mov eax, dword [0x4788f0]
dec dword [eax + 0x1c]
mov eax, esi
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x10
ret 8
push 1
call fcn.00490200
mov eax, dword [0x4788f0]
mov ecx, dword [eax + 0x1c]
pop esi
pop edi
dec ecx
pop ebp
mov dword [eax + 0x1c], ecx
xor eax, eax
pop ebx
add esp, 0x10
ret 8