Function at 0x424db0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x160
mov dword [esp + 0x10], 0x9b5b9975
mov dword [esp + 0x14], 0x87168514
mov dword [esp + 0x18], 0x8323814c
mov dword [esp + 0x1c], 0x8f2f8d10
mov dword [esp + 0x20], 0x8b8a8965
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
mov dword [esp + 0x8c], 0
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x17
ja 0x424e64
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x8c]
movzx edx, byte [esp + edx + 0x10]
lea esi, [ecx + 0x25906dec]
add ecx, 0xec
and ecx, edx
or esi, edx
sub esi, ecx
mov dword [esp + 0xc8], esi
mov ecx, dword [esp + 0xc8]
add cl, 0x8c
mov edx, dword [esp + 0x8c]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x18
jb 0x424e10
lea esi, [esp + 0x132]
lea edx, [esp + 0x10]
mov ecx, 5
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x146]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x88]
push edi
push 0
push 0
push 9
push esi
push 0
call dword [0x44862c]
mov ebx, dword [esp + 0x88]
test ebx, ebx
jns 0x424eb3
mov eax, 0xffffffff
jmp 0x424eb6
lea eax, [ebx + ebx]
push eax
call fcn.00409230
add esp, 4
push edi
push ebx
mov dword [esp + 0x7c], eax
push eax
push 9
push esi
push 0
call dword [0x44862c]
mov dword [esp + 0x10], 0x836b8144
mov dword [esp + 0x14], 0x87658577
mov dword [esp + 0x18], 0x8b788967
mov dword [esp + 0x1c], 0x8f8e8d68
lea edx, [esp + 0x20]
mov word [esp + 0x20], 0
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0x8c]
cmp eax, 0x11
ja 0x424f84
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
movzx ecx, byte [esp + ecx + 0x10]
lea esi, [eax - 0x505255c0]
mov edi, esi
and edi, ecx
not ecx
or ecx, esi
add ecx, edi
neg ecx
add eax, ecx
add eax, 0xafadaa3f
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc8]
mov ecx, eax
or ecx, 0x3f
and eax, 0x3f
add eax, ecx
inc al
mov ecx, dword [esp + 0x8c]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0x8c]
mov eax, dword [esp + 0x8c]
cmp eax, 0x12
jb 0x424f20
lea edi, [esp + 0x122]
lea esi, [esp + 0x10]
mov ecx, 4
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0x132]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x10], 0x33ab3174
mov dword [esp + 0x14], 0x379535a7
mov dword [esp + 0x18], 0x2bb829b7
mov dword [esp + 0x1c], 0x2f6d2d88
mov dword [esp + 0x20], 0x23bc2181
mov dword [esp + 0x24], 0x27b42585
mov dword [esp + 0x28], 0x1b1a1991
lea esi, [esp + 0x2c]
mov dword [esp + 0x2c], 0
mov byte [esp + 0x30], 0
mov dword [esp + 0x8c], 0
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x20
ja 0x425063
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x8c]
movzx edx, byte [esp + edx + 0x10]
lea edi, [ecx + 8]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add ecx, 0xda4f1608
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0xc8]
add cl, 0xc8
mov edx, dword [esp + 0x8c]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
cmp ecx, 0x21
jb 0x425010
lea edi, [esp + 0x8c]
lea ebx, [esp + 0x10]
mov ecx, 7
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea edi, [esp + 0xa8]
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 0x10], 0x9be399c4
mov dword [esp + 0x14], 0x97f595e7
mov dword [esp + 0x18], 0x93e091e7
mov dword [esp + 0x1c], 0xaffeadd0
mov dword [esp + 0x20], 0xabe8a9c4
lea ebx, [esp + 0x24]
mov word [esp + 0x24], 0xa5a4
mov dword [esp + 0x26], 0
mov dword [esp + 0x2a], 0
mov word [esp + 0x2e], 0
mov dword [esp + 0xf8], 0
mov ecx, dword [esp + 0xf8]
cmp ecx, 0x1f
ja 0x425160
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf8]
movzx edi, byte [esp + ecx + 0x10]
lea eax, [esi + 0x7d58bd94]
lea ecx, [esi + edi]
add ecx, 0x7d58bd94
and eax, edi
mov edx, 0x82a7426b
sub edx, esi
or edx, edi
add edx, esi
add eax, edx
add eax, 0x7d58bd95
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0xc8]
add al, 0xf4
mov ecx, dword [esp + 0xf8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 0xf8]
mov eax, dword [esp + 0xf8]
cmp eax, 0x20
jb 0x4250f0
lea esi, [esp + 0x146]
lea eax, [esp + 0x10]
mov ecx, 5
mov edi, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x15a]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea eax, [esp + 0x122]
mov dword [esp + 0x114], eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], esi
mov eax, dword [esp + 0x74]
add eax, 2
mov dword [esp + 0xb0], eax
xor ecx, ecx
xor eax, eax
cmp ecx, 3
setne al
mov dword [esp + 0x7c], 0
jmp dword [eax*4 + 0x444c0c]