Function at 0x4702d0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x899944]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], ecx
test esi, esi
je 0x470571
test edi, edi
je 0x470571
lea edx, [esi*4 + 8]
mov eax, 0xaaaaaaab
mul edx
push ebx
mov ebx, edx
shr ebx, 1
xor edx, edx
lea eax, [ebx + ebx]
div esi
lea eax, [ebx + eax + 3]
push eax
call fcn.0040a700
test al, al
je 0x47055e
mov eax, 0xaaaaaaab
mul esi
xor ecx, ecx
mov esi, edx
xor ebx, ebx
shr esi, 1
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x124], esi
je 0x47046e
jmp 0x47037c
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x120]
movsx eax, byte [edi + ebx]
movsx esi, byte [edi + ebx + 1]
movsx edi, byte [edi + ebx + 2]
mov edx, dword [ebp - 0x114]
add ebx, 3
and eax, 0xff
mov dword [ebp - 0x118], ebx
mov ebx, eax
shr ebx, 2
and ebx, 0x3f
mov bl, byte [ebx + edx]
mov byte [ebp + ecx - 0x10c], bl
and esi, 0xff
and eax, 3
mov ebx, esi
shl eax, 4
shr ebx, 4
and ebx, 0xf
or ebx, eax
movzx eax, byte [ebx + edx]
mov byte [ebp + ecx - 0x10b], al
and edi, 0xff
and esi, 0xf
mov eax, edi
shr eax, 6
add esi, esi
and eax, 3
add esi, esi
or eax, esi
movzx eax, byte [eax + edx]
and edi, 0x3f
mov dl, byte [edi + edx]
mov byte [ebp + ecx - 0x10a], al
mov byte [ebp + ecx - 0x109], dl
add ecx, 4
cmp ecx, 0x100
jl 0x470428
push ecx
mov ecx, dword [ebp - 0x110]
lea eax, [ebp - 0x10c]
push eax
call fcn.0040aaa0
test al, al
je 0x47055e
xor ecx, ecx
mov eax, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x124]
inc eax
mov dword [ebp - 0x11c], eax
cmp eax, esi
jb 0x470370
test ecx, ecx
je 0x470462
push ecx
lea ecx, [ebp - 0x10c]
push ecx
mov ecx, dword [ebp - 0x110]
call fcn.0040aaa0
test al, al
je 0x47055e
mov ebx, dword [ebp - 0x118]
mov edi, dword [ebp - 0x120]
mov ecx, dword [ebp + 0xc]
lea edx, [esi + esi*2]
sub ecx, edx
dec ecx
mov al, 1
je 0x4704f4
dec ecx
jne 0x47054d
movzx esi, byte [edi + ebx]
mov ecx, dword [ebp - 0x114]
movzx edi, byte [edi + ebx + 1]
mov ebx, dword [ebp - 0x110]
mov eax, esi
sar eax, 2
and eax, 0x3f
movzx edx, byte [eax + ecx]
push edx
mov ecx, ebx
call fcn.0040d2d0
test al, al
je 0x47055e
mov eax, edi
sar eax, 4
and esi, 3
and eax, 0xf
shl esi, 4
or eax, esi
mov esi, dword [ebp - 0x114]
movzx ecx, byte [eax + esi]
push ecx
mov ecx, ebx
call fcn.0040d2d0
test al, al
je 0x47055e
and edi, 0xf
movzx edx, byte [esi + edi*4]
push edx
mov ecx, ebx
call fcn.0040d2d0
test al, al
je 0x47055e
mov ecx, ebx
jmp 0x470540
movzx esi, byte [edi + ebx]
mov ebx, dword [ebp - 0x114]
mov edi, dword [ebp - 0x110]
mov eax, esi
sar eax, 2
and eax, 0x3f
movzx ecx, byte [eax + ebx]
push ecx
mov ecx, edi
call fcn.0040d2d0
test al, al
je 0x47055e
and esi, 3
add esi, esi
movzx edx, byte [ebx + esi*8]
push edx
mov ecx, edi
call fcn.0040d2d0
test al, al
je 0x47055e
push 0x3d
mov ecx, edi
call fcn.0040d2d0
test al, al
je 0x47055e
mov ecx, edi
push 0x3d
call fcn.0040d2d0
test al, al
je 0x47055e
mov al, 1
pop ebx
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0070bb4c
mov esp, ebp
pop ebp
ret
pop ebx
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0070bb4c
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
mov al, 1
pop esi
call fcn.0070bb4c
mov esp, ebp
pop ebp
ret