Function at 0x1005b970
Capabilities:
Encode data using base64

Disassembly:
sub esp, 0x120
mov eax, dword [0x1026d48c]
xor eax, esp
mov dword [esp + 0x11c], eax
push ebx
mov ebx, dword [esp + 0x130]
push ebp
mov ebp, dword [esp + 0x12c]
push esi
mov esi, dword [ecx + 4]
push edi
mov edi, dword [esp + 0x138]
mov dword [esp + 0x20], ecx
lea ecx, [edi*4 + 8]
mov eax, 0xaaaaaaab
mul ecx
mov ecx, edx
shr ecx, 1
test esi, esi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebx
je 0x1005b9cf
lea eax, [ecx + ecx]
xor edx, edx
div esi
lea ecx, [ecx + eax + 3]
jmp 0x1005b9d2
add ecx, 3
push ecx
mov ecx, ebx
call fcn.10010960
test al, al
jne 0x1005b9e5
xor al, al
jmp 0x1005bc81
test edi, edi
je 0x1005bc7f
test ebp, ebp
je 0x1005bc7f
mov eax, 0xaaaaaaab
mul edi
xor ecx, ecx
xor esi, esi
xor ebx, ebx
shr edx, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
je 0x1005bb1f
jmp 0x1005ba24
mov ebp, dword [esp + 0x14]
movzx eax, byte [esi + ebp]
movzx edi, byte [esi + ebp + 1]
mov edx, eax
sar edx, 2
and edx, 0x3f
movzx edx, byte [edx + 0x101e86a0]
mov byte [esp + ecx + 0x24], dl
add esi, 1
movzx ebp, byte [esi + ebp + 1]
mov edx, edi
sar edx, 4
and edx, 0xf
and eax, 3
shl eax, 4
or edx, eax
movzx eax, byte [edx + 0x101e86a0]
add esi, 1
and edi, 0xf
mov edx, ebp
sar edx, 6
add ecx, 1
mov byte [esp + ecx + 0x24], al
add edi, edi
and edx, 3
add edi, edi
or edx, edi
movzx eax, byte [edx + 0x101e86a0]
add ecx, 1
and ebp, 0x3f
movzx edx, byte [ebp + 0x101e86a0]
mov byte [esp + ecx + 0x24], al
mov eax, dword [esp + 0x20]
add ecx, 1
mov byte [esp + ecx + 0x24], dl
add ebx, 4
add esi, 1
add ecx, 1
cmp ebx, dword [eax + 4]
jb 0x1005babd
mov byte [esp + ecx + 0x24], 0xd
add ecx, 1
mov byte [esp + ecx + 0x24], 0xa
add ecx, 1
xor ebx, ebx
cmp ecx, 0x100
jl 0x1005bade
push ecx
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.10010df0
test al, al
je 0x1005b9de
xor ecx, ecx
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
add eax, 1
cmp eax, edx
mov dword [esp + 0x1c], eax
jb 0x1005ba20
test ecx, ecx
je 0x1005bb14
push ecx
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x28]
push edx
call fcn.10010df0
test al, al
je 0x1005b9de
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
mov edi, dword [esp + 0x138]
lea eax, [edx + edx*2]
sub edi, eax
sub edi, 0
mov bl, 1
je 0x1005bbbc
sub edi, 1
je 0x1005bbfe
sub edi, 1
jne 0x1005bbda
movzx edi, byte [esi + ebp]
movzx esi, byte [esi + ebp + 1]
mov ecx, edi
sar ecx, 2
and ecx, 0x3f
movzx edx, byte [ecx + 0x101e86a0]
mov ecx, dword [esp + 0x10]
push edx
call fcn.100139f0
mov bl, al
test bl, bl
je 0x1005bbda
mov eax, esi
sar eax, 4
and edi, 3
and eax, 0xf
shl edi, 4
or eax, edi
movzx ecx, byte [eax + 0x101e86a0]
push ecx
mov ecx, dword [esp + 0x14]
call fcn.100139f0
mov bl, al
test bl, bl
je 0x1005bbda
mov ecx, dword [esp + 0x10]
and esi, 0xf
movzx edx, byte [esi*4 + 0x101e86a0]
push edx
call fcn.100139f0
mov bl, al
test bl, bl
je 0x1005bbda
mov ecx, dword [esp + 0x10]
push 0x3d
call fcn.100139f0
mov bl, al
test bl, bl
je 0x1005bbda
mov ecx, dword [esp + 0x10]
push 0xd
call fcn.100139f0
mov bl, al
test bl, bl
je 0x1005bbda
mov ecx, dword [esp + 0x10]
push 0xa
call fcn.100139f0
mov bl, al
mov edi, dword [esp + 0x10]
push 0x1023d994
mov ecx, edi
call fcn.10010c10
test al, al
je 0x1005bbf7
push 2
mov ecx, edi
call fcn.10012ec0
mov al, bl
jmp 0x1005bc81
movzx esi, byte [esi + ebp]
mov edi, dword [esp + 0x10]
mov eax, esi
sar eax, 2
and eax, 0x3f
movzx ecx, byte [eax + 0x101e86a0]
push ecx
mov ecx, edi
call fcn.100139f0
mov bl, al
test bl, bl
je 0x1005bbde
and esi, 3
shl esi, 4
movzx edx, byte [esi + 0x101e86a0]
push edx
mov ecx, edi
call fcn.100139f0
mov bl, al
test bl, bl
je 0x1005bbde
push 0x3d
mov ecx, edi
call fcn.100139f0
mov bl, al
test bl, bl
je 0x1005bbde
push 0x3d
mov ecx, edi
call fcn.100139f0
mov bl, al
test bl, bl
je 0x1005bbde
push 0xd
mov ecx, edi
call fcn.100139f0
mov bl, al
test bl, bl
je 0x1005bbde
push 0xa
mov ecx, edi
call fcn.100139f0
mov bl, al
jmp 0x1005bbde
mov al, 1
mov ecx, dword [esp + 0x12c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1018f87e
add esp, 0x120
ret 0xc