Function at 0x100e8f60
Capabilities:
Encode data using base64

Disassembly:
push 0xffffffffffffffff
push 0x101640ff
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
mov al, byte [esp + 0x44]
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov dword [esp + 0x3c], ebp
mov byte [0x1018cbc3], 0x39
mov byte [esp + 0x2c], al
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov bl, byte [0x1018cbc2]
push 0x3a
push 0xffffffffffffffc0
push 0xd
inc bl
push 0x5c
mov dword [esp + 0x58], 1
push 0x39
mov byte [0x1018cbc2], bl
call fcn.1004a750
mov dl, byte [0x1018cbc4]
mov byte [esp + 0x30], al
inc dl
mov eax, 0x2e0
mov byte [0x1018cbc4], dl
mov ecx, dword [0x1018cbb8]
cdq
idiv dword [0x1018cbbc]
mov dl, byte [edx + ecx]
push edx
push 0xffffffffffffffa5
call fcn.100ea170
add esp, 0x1c
push eax
push 0xffffffffffffffeb
push 0xffffffffffffffc9
push 0xfffffffffffffff6
push 0xffffffffffffffe1
call fcn.100ea140
mov bl, byte [0x1018cbc0]
mov cl, 0x66
add al, bl
add esp, 0x10
imul cl
mov dl, al
mov al, byte [0x1018cbc2]
mov cl, 0x34
mov esi, dword [0x1018cbb8]
imul cl
sub al, dl
mov ecx, dword [0x1018cbbc]
sub al, 0x46
push eax
mov eax, 0x11e
cdq
idiv ecx
mov al, byte [0x1018cbc3]
mov edi, edx
mov dl, 0x30
imul dl
mov dl, byte [edi + esi]
add dl, al
mov eax, 0xf7
push edx
cdq
idiv ecx
mov al, byte [edx + esi]
mov dl, byte [0x1018cbc4]
add al, bl
add al, 0x48
push eax
mov eax, 0x346
push edx
push 0xb
cdq
idiv ecx
mov al, byte [edx + esi]
push eax
mov ecx, dword [esp + 0x38]
push ecx
push 0x3b
push 0xffffffffffffff8e
push 0xffffffffffffff98
push 0x3c
push 0xffffffffffffffac
call fcn.100ea180
mov ecx, dword [0x1018cbbc]
add esp, 0x14
mov esi, dword [0x1018cbb8]
push eax
mov eax, 0x44
cdq
idiv ecx
push 0x39
mov eax, 0x31a
mov dl, byte [edx + esi]
push edx
push 0x72
cdq
idiv ecx
mov cl, 0xa7
mov al, byte [edx + esi]
imul cl
push eax
push 0x43
push 0x49
push 0xffffffffffffff92
push 0xffffffffffffff81
push 0xffffffffffffffd0
call fcn.1004a750
add esp, 0x14
add al, 0x48
push eax
call fcn.100ea180
add esp, 0x14
push eax
call fcn.100ea180
mov ecx, dword [0x1018cbbc]
add esp, 0x14
mov esi, dword [0x1018cbb8]
mov bl, byte [0x1018cbc4]
push eax
mov eax, 0xc3
cdq
idiv ecx
push 0xffffffffffffffba
mov eax, 0xe
mov dl, byte [edx + esi]
push edx
cdq
idiv ecx
mov al, byte [edx + esi]
mov dl, byte [0x1018cbc3]
sub al, bl
push eax
push 0xffffffffffffffe4
mov eax, 0xea
push edx
cdq
idiv ecx
push 0xffffffffffffffb8
mov al, byte [edx + esi]
push eax
call fcn.1004a750
mov cl, byte [0x1018cbc4]
add esp, 0x14
push eax
push 0xffffffffffffff80
push ecx
call fcn.100ea140
add esp, 0x10
push eax
call fcn.100ea180
add esp, 0x14
push eax
call fcn.100ea140
add esp, 0x10
mov byte [0x1018cbc3], 0x8c
mov byte [0x1018cbc0], 0xf0
mov ecx, dword [0x1018cbbc]
mov eax, 0x36a
cdq
idiv ecx
mov esi, dword [0x1018cbb8]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x18], 0x1016a1dc
mov dl, byte [edx + esi]
mov byte [0x1018cbc0], dl
mov eax, dword [edi + 4]
test eax, eax
je 0x100e9189
mov dword [esp + 0x18], eax
mov eax, 0x28c
mov byte [esp + 0x26], 0xd5
cdq
idiv ecx
mov al, byte [edx + esi]
mov byte [esp + 0x54], al
mov edx, dword [esp + 0x54]
mov eax, 0x393
push edx
cdq
idiv ecx
mov al, byte [edx + esi]
push eax
mov eax, 0x29f
cdq
idiv ecx
push 0xd
mov eax, 0x153
mov dl, byte [edx + esi]
push edx
cdq
idiv ecx
mov eax, 0xf5
mov ebx, edx
cdq
idiv ecx
mov al, byte [edx + esi]
mov dl, byte [ebx + esi]
sub al, dl
mov bl, byte [0x1018cbc1]
push eax
mov eax, 0x2fa
cdq
idiv ecx
push 0xfffffffffffffff9
mov cl, byte [edx + esi]
mov dl, byte [0x1018cbc4]
add cl, bl
sub dl, 0x32
push ecx
push edx
push 0xffffffffffffffd5
call fcn.100ea180
add esp, 0x14
push eax
call fcn.100ea180
mov esi, dword [0x1018cbbc]
mov byte [0x1018cbc3], al
mov eax, 0x237
mov ecx, dword [edi + 8]
cdq
idiv esi
mov edi, dword [0x1018cbb8]
add esp, 0x14
mov al, byte [edx + edi]
mov edx, ecx
dec ecx
mov byte [0x1018cbc1], al
test edx, edx
je 0x100e95de
inc ecx
mov dword [esp + 0x1c], ecx
mov cl, byte [0x1018cbc2]
mov eax, dword [esp + 0x18]
mov byte [0x1018cbc0], cl
inc ebp
mov dl, byte [eax]
inc eax
mov byte [esp + ebp + 0xf], dl
mov bl, byte [esp + 0x11]
cmp ebp, 3
mov dword [esp + 0x18], eax
mov byte [0x1018cbc0], 0x5f
jne 0x100e93d9
mov eax, 0x6a
cdq
idiv esi
mov al, byte [edx + edi]
sub al, 0xe
imul cl
mov cl, al
mov eax, 0xe0
cdq
idiv esi
mov al, byte [edx + edi]
mov dl, byte [0x1018cbc3]
sub cl, al
sub cl, 0x23
push ecx
push edx
call fcn.100ea170
mov byte [0x1018cbc3], al
mov al, byte [esp + 0x18]
shr al, 2
push 0xffffffffffffff87
push 0xffffffffffffffe1
mov byte [esp + 0x24], al
call fcn.100ea170
mov cl, byte [esp + 0x20]
mov al, byte [esp + 0x22]
and cl, 3
mov dl, bl
shl cl, 4
shr dl, 4
add cl, dl
mov dl, al
mov byte [esp + 0x25], cl
mov cl, bl
and cl, 0xf
and al, 0x3f
shl cl, 2
shr dl, 6
add cl, dl
add esp, 0x10
mov byte [esp + 0x26], 0x44
mov byte [esp + 0x16], cl
mov byte [esp + 0x17], al
xor edi, edi
mov ecx, dword [0x10193f9c]
test ecx, ecx
jne 0x100e9302
mov eax, 0x1016a1dc
jmp 0x100e930a
xor eax, eax
mov al, byte [esp + edi + 0x14]
add eax, ecx
mov ecx, dword [0x1016a3e8]
mov edx, dword [esp + 0x34]
mov al, byte [eax]
sub ecx, edx
cmp ecx, 1
mov byte [esp + 0x54], al
ja 0x100e9326
call fcn.101307ab
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x2c]
lea esi, [edx + 1]
call fcn.10045e80
cmp eax, esi
jae 0x100e933f
call fcn.101307ab
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x100e9367
mov al, byte [ecx - 1]
test al, al
je 0x100e9367
cmp al, 0xff
je 0x100e9367
test esi, esi
jne 0x100e9381
dec al
push esi
mov byte [ecx - 1], al
lea ecx, [esp + 0x30]
call fcn.1000ba10
jmp 0x100e93aa
test esi, esi
jne 0x100e937b
test ecx, ecx
je 0x100e93aa
push esi
lea ecx, [esp + 0x30]
call fcn.1000be00
jmp 0x100e93aa
cmp dword [esp + 0x38], esi
jae 0x100e938f
push esi
lea ecx, [esp + 0x30]
call fcn.1000c9b0
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
add eax, ecx
movsx ecx, byte [esp + 0x54]
mov byte [eax], cl
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], esi
mov ch, cl
mov byte [eax + esi], 0
inc edi
cmp edi, 4
jl 0x100e92f1
mov esi, dword [0x1018cbbc]
mov eax, 0x2e
cdq
xor ebp, ebp
mov edi, dword [0x1018cbb8]
idiv esi
mov cl, byte [edx + edi]
mov byte [0x1018cbc0], cl
mov cl, byte [0x1018cbc2]
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x1c], eax
jne 0x100e9244
test ebp, ebp
je 0x100e95de
mov eax, 4
cdq
idiv esi
cmp ebp, 3
mov dl, byte [edx + edi]
mov byte [0x1018cbc4], dl
jge 0x100e9436
mov edx, 3
lea edi, [esp + ebp + 0x10]
sub edx, ebp
xor eax, eax
mov ecx, edx
mov esi, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
and ecx, 3
rep stosb byte es:[edi], al
mov al, byte [esp + 0x26]
dec al
dec edx
jne 0x100e9427
mov cl, byte [esp + 0x12]
mov bl, byte [esp + 0x11]
jmp 0x100e943a
mov cl, byte [esp + 0x12]
mov al, byte [esp + 0x10]
xor edi, edi
mov dl, al
and al, 3
shr dl, 2
mov byte [esp + 0x14], dl
mov dl, bl
shl al, 4
shr dl, 4
add al, dl
and bl, 0xf
mov byte [esp + 0x15], al
mov al, cl
shl bl, 2
shr al, 6
add bl, al
lea eax, [ebp + 1]
and cl, 0x3f
mov byte [esp + 0x16], bl
test eax, eax
mov byte [0x1018cbc3], 0x3c
mov byte [esp + 0x17], cl
mov dword [esp + 0x54], eax
jle 0x100e953f
mov ecx, dword [0x10193f9c]
test ecx, ecx
jne 0x100e9498
mov eax, 0x1016a1dc
jmp 0x100e94a0
xor eax, eax
mov al, byte [esp + edi + 0x14]
add eax, ecx
mov ecx, dword [0x1016a3e8]
mov edx, dword [esp + 0x34]
mov bl, byte [eax]
sub ecx, edx
cmp ecx, 1
ja 0x100e94b8
call fcn.101307ab
mov edx, dword [esp + 0x34]
lea esi, [edx + 1]
cmp esi, 0xfffffffd
jbe 0x100e94c9
call fcn.101307ab
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x100e94f1
mov al, byte [ecx - 1]
test al, al
je 0x100e94f1
cmp al, 0xff
je 0x100e94f1
test esi, esi
jne 0x100e950b
dec al
push esi
mov byte [ecx - 1], al
lea ecx, [esp + 0x30]
call fcn.1000ba10
jmp 0x100e9532
test esi, esi
jne 0x100e9505
test ecx, ecx
je 0x100e9532
push esi
lea ecx, [esp + 0x30]
call fcn.1000be00
jmp 0x100e9532
cmp dword [esp + 0x38], esi
jae 0x100e9515
push esi
lea ecx, [esp + 0x30]
call fcn.1000c9b0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
movsx edx, bl
add eax, ecx
mov dh, dl
mov byte [eax], dl
mov edx, dword [esp + 0x30]
mov dword [esp + 0x34], esi
mov byte [edx + esi], 0
mov eax, dword [esp + 0x54]
inc edi
cmp edi, eax
jl 0x100e9487
cmp ebp, 3
jge 0x100e95de
mov edi, 4
sub edi, eax
mov eax, dword [0x1016a3e8]
mov edx, dword [esp + 0x34]
sub eax, edx
cmp eax, 1
ja 0x100e9564
call fcn.101307ab
mov ecx, dword [esp + 0x34]
lea esi, [ecx + 1]
cmp esi, 0xfffffffd
jbe 0x100e9575
call fcn.101307ab
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x100e959d
mov al, byte [ecx - 1]
test al, al
je 0x100e959d
cmp al, 0xff
je 0x100e959d
test esi, esi
jne 0x100e95b4
dec al
push esi
mov byte [ecx - 1], al
lea ecx, [esp + 0x30]
call fcn.1000ba10
jmp 0x100e95d7
test esi, esi
jne 0x100e95ae
test ecx, ecx
je 0x100e95d7
mov dword [esp + 0x34], esi
mov byte [ecx], 0
jmp 0x100e95d7
cmp dword [esp + 0x38], esi
jae 0x100e95be
push esi
lea ecx, [esp + 0x30]
call fcn.1000c9b0
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
add eax, edx
mov byte [eax], 0x3d
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], esi
mov byte [ecx + esi], 0
dec edi
jne 0x100e954f
mov ebp, dword [esp + 0x50]
mov dl, byte [esp + 0x2c]
mov eax, dword [esp + 0x34]
xor edi, edi
mov byte [ebp], dl
mov dword [ebp + 4], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
mov esi, dword [0x1016a3e8]
mov ebx, eax
cmp esi, ebx
jae 0x100e9606
mov ebx, esi
lea ecx, [esp + 0x2c]
cmp ebp, ecx
jne 0x100e966a
cmp ebx, edi
jbe 0x100e9617
call fcn.10130893
mov ecx, ebp
call fcn.1000cad0
mov eax, dword [ebp + 8]
sub eax, ebx
cmp eax, esi
jae 0x100e9629
mov esi, eax
cmp esi, edi
jbe 0x100e965c
mov edx, dword [ebp + 4]
sub eax, esi
add ebx, edx
push eax
lea ecx, [ebx + esi]
push ecx
push ebx
call fcn.1013c490
mov ebx, dword [ebp + 8]
add esp, 0xc
sub ebx, esi
mov ecx, ebp
push edi
push ebx
call fcn.1000be20
test al, al
je 0x100e965c
push ebx
mov ecx, ebp
call fcn.1000be00
push edi
push edi
mov ecx, ebp
call fcn.10051250
jmp 0x100e96f1
cmp ebx, edi
jbe 0x100e96b6
cmp ebx, eax
jne 0x100e96b6
mov eax, dword [esp + 0x30]
cmp eax, edi
jne 0x100e967f
mov eax, 0x1016a1dc
cmp byte [eax - 1], 0xfe
jae 0x100e96b6
push 1
mov ecx, ebp
call fcn.1000ba10
mov eax, dword [esp + 0x30]
cmp eax, edi
jne 0x100e969b
mov eax, 0x1016a1dc
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov dword [ebp + 4], eax
mov dword [ebp + 8], ecx
mov dword [ebp + 0xc], edx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x100e96f1
push 1
push ebx
mov ecx, ebp
call fcn.1000be20
test al, al
je 0x100e96f1
mov esi, dword [esp + 0x30]
cmp esi, edi
jne 0x100e96d1
mov esi, 0x1016a1dc
mov edi, dword [ebp + 4]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
add eax, ebx
xor edi, edi
mov byte [eax], 0
mov dword [esp + 0x3c], 1
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x48], 0
cmp ecx, edi
je 0x100e9722
mov al, byte [ecx - 1]
test al, al
je 0x100e9718
cmp al, 0xff
je 0x100e9718
dec al
mov byte [ecx - 1], al
jmp 0x100e9722
dec ecx
push ecx
call fcn.101307a0
add esp, 4
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x3c
ret