Function at 0x424d92
Capabilities:
Encode data using base64

Disassembly:
push ebp
sub esp, 0x80
lea ebp, [esp - 4]
mov eax, dword [0x45a258]
xor eax, ebp
mov dword [ebp + 0x80], eax
push 0x2c
mov eax, 0x448c30
call fcn.00432fce
xor ebx, ebx
mov esi, ecx
mov dword [ebp - 4], ebx
mov ecx, 0x45dc04
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x34], ebx
call fcn.00405f8a
xor edi, edi
inc edi
mov dword [ebp - 4], ebx
mov dword [ebp - 0x34], edi
cmp dword [ebp + 0x8c], ebx
je 0x42500a
mov eax, dword [ebp + 0x90]
cmp eax, ebx
jle 0x42500a
cdq
push 3
pop ecx
idiv ecx
xor ecx, ecx
mov byte [ebp - 0x18], 0x56
mov byte [ebp - 0x17], 0x1e
mov byte [ebp - 0x16], 0xb3
mov byte [ebp - 0x15], 0x99
cmp edx, ebx
setne cl
add eax, ecx
mov esi, eax
imul eax, eax, 3
shl esi, 2
xor ecx, ecx
mov dword [ebp - 0x10], eax
cmp edx, edi
jne 0x424e25
push 2
pop ecx
jmp 0x424e2c
cmp edx, 2
jne 0x424e2c
mov ecx, edi
mov ebx, 0x45dc80
mov eax, esi
push ebx
push dword [ebp - 0x10]
sub eax, ecx
mov dword [ebp - 0x24], eax
call fcn.00430730
pop ecx
pop ecx
mov dword [ebp - 0x20], eax
test eax, eax
je 0x42500a
cmp dword [ebp - 0x10], 0
jle 0x424e62
push dword [ebp - 0x10]
push 0
push eax
call fcn.0042dec0
add esp, 0xc
xor ecx, ecx
cmp dword [ebp + 0x90], ecx
jle 0x424e9e
mov edi, dword [ebp + 0x8c]
sub edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov edx, ecx
add eax, ecx
and edx, 0x80000003
jns 0x424e89
dec edx
or edx, 0xfffffffc
inc edx
mov dl, byte [ebp + edx - 0x18]
add dl, byte [edi + eax]
inc ecx
cmp ecx, dword [ebp + 0x90]
mov byte [eax], dl
jl 0x424e75
xor edi, edi
inc edi
lea eax, [ebp - 0x30]
push eax
call fcn.00424cdc
pop ecx
mov dword [ebp - 4], edi
mov edx, dword [ebp - 0x30]
mov edi, dword [edx - 0xc]
cmp edi, 0x40
jne 0x424ff6
xor ecx, ecx
lea eax, [ecx + 3]
and eax, 0x3f
jl 0x425030
cmp eax, edi
jg 0x425030
mov ax, word [edx + eax*2]
mov word [ebp + ecx*2], ax
inc ecx
cmp ecx, 0x40
jb 0x424ebc
push ebx
xor ecx, ecx
push 2
pop edx
lea eax, [esi + 1]
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00430730
mov ebx, eax
pop ecx
pop ecx
mov dword [ebp - 0x2c], ebx
test ebx, ebx
je 0x424ff6
test esi, esi
jle 0x424f24
push 0x3d
pop eax
movzx edx, ax
mov eax, edx
shl edx, 0x10
or eax, edx
mov ecx, esi
shr ecx, 1
mov edi, ebx
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
xor eax, eax
mov word [ebx + esi*2], ax
mov eax, dword [ebp - 0x10]
push 3
cdq
pop ecx
idiv ecx
xor esi, esi
test eax, eax
jle 0x424fe6
mov edi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
inc edi
mov dword [ebp - 0x10], ecx
sub dword [ebp - 0x10], edi
sub ecx, edi
add ecx, 2
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x10]
mov al, byte [eax + edi]
mov cl, byte [edi]
mov edx, dword [ebp - 0x38]
mov dl, byte [edx + edi]
mov bl, al
and bl, 0x3f
mov byte [ebp - 0x11], bl
mov bl, cl
shr al, 6
and bl, 0xf
shl bl, 2
or bl, al
mov al, dl
and al, 3
shl al, 4
shr cl, 4
shr dl, 2
or al, cl
cmp esi, dword [ebp - 0x24]
mov byte [ebp - 0x19], dl
jge 0x424fd7
movzx ecx, byte [ebp - 0x11]
mov dx, word [ebp + ecx*2]
mov ecx, dword [ebp - 0x2c]
mov word [ecx + esi*2], dx
inc esi
cmp esi, dword [ebp - 0x24]
jge 0x424fd7
movzx edx, bl
mov dx, word [ebp + edx*2]
mov word [ecx + esi*2], dx
inc esi
cmp esi, dword [ebp - 0x24]
jge 0x424fd7
movzx eax, al
mov ax, word [ebp + eax*2]
mov word [ecx + esi*2], ax
inc esi
cmp esi, dword [ebp - 0x24]
jge 0x424fd7
movzx eax, byte [ebp - 0x19]
mov ax, word [ebp + eax*2]
mov word [ecx + esi*2], ax
inc esi
add edi, 3
dec dword [ebp - 0x18]
jne 0x424f55
mov ebx, dword [ebp - 0x2c]
push ebx
push dword [ebp - 0x28]
call fcn.00403dd2
push ebx
call fcn.0042e1bc
pop ecx
push dword [ebp - 0x20]
call fcn.0042e1bc
mov eax, dword [ebp - 0x30]
pop ecx
add eax, 0xfffffff0
call fcn.00406004
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x80]
xor ecx, ebp
call fcn.0042deb1
add ebp, 0x84
leave
ret
push 0x80070057
call fcn.004060e9
int3