Function at 0x2102c3
Capabilities:
Encode data using base64

Disassembly:
sub esp, 0x2a4
mov dword [esp + 0x60], 0x66ae1
xor edx, edx
mov dword [esp + 0x64], 0xbd1a2
mov dword [esp + 0x68], 0x272c23
push ebx
push ebp
push esi
push edi
push 0x33
pop ecx
xor ebx, ebx
mov esi, 0x3b419076
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x34], 0x1372
mov eax, dword [esp + 0x34]
div ecx
push 0x75
mov dword [esp + 0x38], eax
xor edx, edx
or dword [esp + 0x38], 0x4a3401ed
xor dword [esp + 0x38], 0x4a34016d
mov dword [esp + 0x24], 0x5e98
shr dword [esp + 0x24], 0xe
or dword [esp + 0x24], 0x7267fa90
mov eax, dword [esp + 0x24]
pop ecx
div ecx
push 0x18
mov dword [esp + 0x24], eax
xor edx, edx
xor dword [esp + 0x24], 0xfa5318
mov dword [esp + 0x2c], 0x5e75
shl dword [esp + 0x2c], 0x10
add dword [esp + 0x2c], 0x48dc
mov eax, dword [esp + 0x2c]
pop ecx
div ecx
push 0x3f
mov dword [esp + 0x2c], eax
xor edx, edx
xor dword [esp + 0x2c], 0x3efb4d1
mov dword [esp + 0x58], 0xe223
mov eax, dword [esp + 0x58]
pop ecx
div ecx
push 0x3a
mov dword [esp + 0x58], eax
xor edx, edx
xor dword [esp + 0x58], 0x70cc
mov dword [esp + 0x28], 0xb48f
shr dword [esp + 0x28], 6
mov eax, dword [esp + 0x28]
pop ecx
div ecx
push 0x34
mov dword [esp + 0x28], eax
xor edx, edx
add dword [esp + 0x28], 0xde3a
xor dword [esp + 0x28], 0xcbaf
mov dword [esp + 0x54], 0x15cc
xor dword [esp + 0x54], 0x9ca6d169
xor dword [esp + 0x54], 0x9ca6af9c
mov dword [esp + 0x1c], 0xa8de
shl dword [esp + 0x1c], 5
add dword [esp + 0x1c], 0xffff49ed
mov eax, dword [esp + 0x1c]
pop ecx
div ecx
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0x193
mov dword [esp + 0x60], 0xe25b
shr dword [esp + 0x60], 4
xor dword [esp + 0x60], 0x30c3
mov dword [esp + 0x38], 0xc7ea
shl dword [esp + 0x38], 0xa
or dword [esp + 0x38], 0x82c54243
xor dword [esp + 0x38], 0x83dfaf9b
mov dword [esp + 0x48], 0x2a3e
add dword [esp + 0x48], 0xffff612f
xor dword [esp + 0x48], 0xffffe842
mov dword [esp + 0x30], 0x52e
imul eax, dword [esp + 0x30], 0x2b
xor edx, edx
push 0x44
pop ecx
push 0xd
mov ebp, 0x47bbe06
mov dword [esp + 0x34], eax
add dword [esp + 0x34], 0x1b45
xor dword [esp + 0x34], 0xa38b
mov dword [esp + 0x20], 0x7c05
mov eax, dword [esp + 0x20]
div ecx
xor edx, edx
mov dword [esp + 0x20], eax
add dword [esp + 0x20], 0xfffff3de
imul eax, dword [esp + 0x20], 0x41
pop ecx
push 0x3d
mov dword [esp + 0x20], eax
xor dword [esp + 0x20], 0xfffd1fed
mov dword [esp + 0x18], 0x7153
imul eax, dword [esp + 0x18], 0x55
mov dword [esp + 0x18], eax
add dword [esp + 0x18], 0xffff3073
or dword [esp + 0x18], 0x19b2f735
xor dword [esp + 0x18], 0x19b69e67
mov dword [esp + 0x48], 0x6a46
shl dword [esp + 0x48], 6
xor dword [esp + 0x48], 0x1a8e62
mov dword [esp + 0x14], 0x6586
or dword [esp + 0x14], 0x5a6bf539
mov eax, dword [esp + 0x14]
div ecx
xor edx, edx
mov dword [esp + 0x14], eax
shl dword [esp + 0x14], 0xf
xor dword [esp + 0x14], 0x4e5fab63
mov dword [esp + 0x40], 0x1a9f
add dword [esp + 0x40], 0x62a3
xor dword [esp + 0x40], 0x2a8
mov dword [esp + 0x50], 0x8464
or dword [esp + 0x50], 0x13bf265e
xor dword [esp + 0x50], 0x13bfdd6d
mov dword [esp + 0x68], 0xbadb
imul eax, dword [esp + 0x68], 0x69
pop ecx
push 0x19
mov edi, dword [esp + 0x40]
mov dword [esp + 0x68], eax
xor dword [esp + 0x68], 0x4cce95
mov dword [esp + 0x5c], 0xca90
shr dword [esp + 0x5c], 0xc
xor dword [esp + 0x5c], 0x7684
mov dword [esp + 0x30], 0x358b
shl dword [esp + 0x30], 1
shl dword [esp + 0x30], 9
mov eax, dword [esp + 0x30]
div ecx
xor edx, edx
mov dword [esp + 0x30], eax
xor dword [esp + 0x30], 0x3f328
mov dword [esp + 0x60], 0xe7dd
xor dword [esp + 0x60], 0xaf509c9e
xor dword [esp + 0x60], 0xaf5010b9
mov dword [esp + 0x44], 0xd224
mov eax, dword [esp + 0x44]
pop ecx
div ecx
mov dword [esp + 0x40], eax
xor dword [esp + 0x40], 0x864
cmp esi, ebp
je 0x2106a4
cmp esi, 0xa25cde4
je 0x2106f4
cmp esi, 0x13363d5d
je 0x21067d
cmp esi, 0x1fdc46de
je 0x210631
cmp esi, 0x350fffd6
je 0x21060c
cmp esi, 0x3b419076
jne 0x2106e6
mov esi, 0x350fffd6
jmp 0x2105c9
push dword [esp + 0x54]
lea edx, [esp + 0xac]
push dword [esp + 0x2c]
call fcn.00213e3f
pop ecx
pop ecx
test eax, eax
je 0x21071c
mov esi, 0x1fdc46de
jmp 0x2105c9
lea eax, [esp + 0xa8]
push eax
push dword [esp + 0x44]
push dword [esp + 0x38]
push dword [esp + 0x54]
push ebx
push dword [esp + 0x4c]
push dword [esp + 0x78]
push ecx
push dword [esp + 0x38]
push dword [esp + 0x58]
push dword [esp + 0x78]
push dword [esp + 0x50]
mov edx, dword [esp + 0x50]
call fcn.0020b566
mov edi, eax
add esp, 0x30
cmp edi, 0xffffffff
je 0x21071c
mov esi, ebp
jmp 0x2105c9
push dword [esp + 0x5c]
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0x34]
mov edx, dword [esp + 0x64]
mov ecx, dword [esp + 0x70]
call fcn.0021aaae
add esp, 0xc
mov esi, 0xa25cde4
jmp 0x2105c9
push ecx
push dword [esp + 0x14]
push ecx
push edi
push dword [esp + 0x54]
lea ecx, [esp + 0x94]
push dword [esp + 0x28]
mov edx, dword [esp + 0x34]
call fcn.00207f83
mov edx, dword [esp + 0x64]
mov esi, eax
mov ecx, dword [esp + 0x54]
neg esi
push edi
sbb esi, esi
and esi, 0xe3709c53
add esi, 0x2fc5a10a
call fcn.00214f7d
add esp, 0x1c
cmp esi, 0x2fc5a10a
jne 0x2105c9
jmp 0x21071c
call fcn.0020f46d
mov esi, dword [esp + 0x68]
sub esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x6c]
sbb ecx, dword [esp + 0x94]
cmp ecx, edx
jl 0x21071c
jg 0x210719
cmp esi, eax
jb 0x21071c
xor ebx, ebx
inc ebx
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0x2a4
ret