Function at 0x4168be
Capabilities:
Encode data using base64

Disassembly:
mov ax, word [0x487df4]
imul eax, eax, 0x425a
mov word [0x487df4], ax
mov ax, word [0x48a442]
mov ax, word [0x48a7f2]
add eax, 0x7cab
mov word [0x48a7f2], ax
xor dword [0x48cfc0], 0xea087784
mov eax, dword [0x48dec4]
dec eax
mov dword [0x48dec4], eax
add dword [0x4900d0], eax
mov eax, dword [0x48bc80]
dec eax
mov dword [0x48bc80], eax
imul eax, eax, 0x1c24b69a
mov cx, word [0x48a5d8]
movsx ecx, cx
and ecx, eax
mov eax, dword [0x48fd90]
mov dx, word [0x489ac2]
movsx edx, dx
or edx, eax
cmp ecx, edx
jle 0x41693d
mov word [0x489718], 0xfbbf
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov eax, dword [0x48bfb0]
not eax
imul eax, eax, 0x1b8986a4
and eax, 0x4346f54
or dword [0x48ace8], eax
push 0x41
push 0x1806
call fcn.00407b14
add esp, 8
mov esi, eax
mov ax, word [0x4888f0]
cwde
and eax, 0x93b1491b
mov cx, word [0x488d84]
lea edx, [ecx - 1]
mov word [0x488d84], dx
movsx ecx, cx
cmp eax, ecx
jg 0x4169dc
mov eax, dword [0x48eb7c]
imul eax, eax, 0x39aa2500
mov ecx, dword [0x48c61c]
dec ecx
mov dword [0x48c61c], ecx
cmp eax, ecx
jge 0x4169dc
mov eax, dword [0x48fb60]
shl eax, 9
mov ecx, dword [0x4911bc]
lea edx, [ecx - 1]
mov dword [0x4911bc], edx
imul ecx, ecx, 0x8814beb9
mov dx, word [0x488d36]
or edx, eax
or edx, ecx
mov word [0x488d36], dx
mov ebp, 4
push ebp
push 0x3182
call fcn.00407b14
add esp, 8
mov ebx, eax
mov ax, word [0x48940a]
add eax, 0x3510
mov word [0x48940a], ax
lea eax, [esp + 0xd]
push ebx
push eax
call fcn.0043cd90
add esp, 8
or dword [0x48e428], 0x6cf6ec35
push ebp
push 0x3fce
call fcn.00407b14
add esp, 8
mov edi, eax
mov ax, word [0x48a7e4]
and eax, 0x96b7
mov word [0x48a7e4], ax
push ebx
push ebp
call fcn.00409272
add esp, 8
mov dword [0x48ffd0], 0x116ff3ea
lea eax, [esp + 9]
push edi
push eax
call fcn.0043cd90
add esp, 8
mov dword [0x4916c8], 0xa0097003
push ebp
push 0xd0f
call fcn.00407b14
add esp, 8
mov ebx, eax
mov eax, dword [0x48fd78]
imul eax, eax, 0xf078dea6
add eax, 0x89e6970d
xor dword [0x48f1f0], eax
push edi
push ebp
call fcn.00409272
add esp, 8
mov eax, dword [0x48efbc]
dec eax
mov dword [0x48efbc], eax
and eax, 0x8601000
or eax, 0xb615aa7b
add dword [0x48eb48], eax
lea eax, [esp + 5]
push ebx
push eax
call fcn.0043cd90
add esp, 8
inc dword [0x48dc60]
push ebx
push ebp
call fcn.00409272
add esp, 8
and dword [0x48e3d0], 0xf4434ff3
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x41723e
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x2c]
xor ebp, ebp
mov ax, word [0x4892e0]
add eax, 0xfffff526
mov word [0x4892e0], ax
add dword [0x48f3f0], 0xd4f9958b
mov al, byte [ebx]
mov byte [esp + ebp + 0x15], al
mov ax, word [0x48795c]
dec eax
mov word [0x48795c], ax
cwde
imul eax, eax, 0xe3b5b864
add dword [0x48bf48], eax
inc ebp
mov eax, dword [0x48ccbc]
imul eax, eax, 0xa194958a
cmp eax, 0xb493f908
jg 0x416b84
mov eax, dword [0x48aee4]
sar eax, 7
mov dword [esp], ebx
mov ebx, esi
mov esi, ebp
mov ebp, edi
mov edi, ecx
mov cx, word [0x48a68c]
lea edx, [ecx + 1]
mov word [0x48a68c], dx
movsx ecx, cx
add ecx, eax
and ecx, 0xf57e40a2
mov eax, dword [0x48f828]
sub eax, ecx
mov ecx, edi
mov edi, ebp
mov ebp, esi
mov esi, ebx
mov ebx, dword [esp]
mov dword [0x48f828], eax
mov eax, dword [0x48bf60]
dec eax
mov dword [0x48bf60], eax
and dword [0x48cc10], eax
cmp ebp, 3
jne 0x416e30
mov dword [esp], ecx
mov eax, dword [0x48ae60]
mov ecx, dword [0x48b550]
lea eax, [eax + ecx + 0x5e978990]
mov dword [0x48b550], eax
mov al, byte [esp + 0x15]
shr al, 2
mov byte [esp + 0x11], al
mov eax, dword [0x48d828]
imul eax, eax, 0x4f1d8f8f
or eax, 0x6d7e7aa6
add dword [0x48e978], eax
mov al, byte [esp + 0x15]
shl al, 4
and al, 0x30
mov byte [esp + 0x12], al
mov eax, dword [0x491398]
lea ecx, [eax + 1]
mov dword [0x491398], ecx
add eax, 0x9813
xor eax, 0xb362
mov cx, word [0x488b34]
add ecx, eax
mov word [0x488b34], cx
mov al, byte [esp + 0x16]
shr al, 4
add byte [esp + 0x12], al
mov eax, dword [0x48cc0c]
imul eax, eax, 0x938000
mov dword [0x48cc0c], eax
mov al, byte [esp + 0x16]
shl al, 2
and al, 0x3c
mov byte [esp + 0x13], al
add dword [0x490ac0], 0x9e9a2084
mov al, byte [esp + 0x17]
shr al, 6
add byte [esp + 0x13], al
and dword [0x48dbe8], 0xe966181f
mov al, byte [esp + 0x17]
and al, 0x3f
mov byte [esp + 0x14], al
mov eax, dword [0x48f4c4]
lea ecx, [eax - 1]
mov dword [0x48f4c4], ecx
mov ecx, dword [0x48efc4]
add ecx, 0xbd0005ab
xor ecx, eax
cmp ecx, 0xe8ca9b0c
jg 0x416c9c
mov ax, word [0x48a02a]
cwde
lea eax, [eax*8 + 0x1816072f]
and eax, 0x76b14f31
or dword [0x48aca0], eax
mov dword [0x48c6b4], 0x53ce36a0
xor ebp, ebp
and dword [0x48e330], 0x8889911d
cmp byte [esp + 0x34], 0
je 0x416d20
movzx eax, byte [esp + ebp + 0x11]
cmp eax, 0x3e
jb 0x416d20
add dword [0x48d0e4], 0x7787743f
movzx eax, byte [esp + ebp + 0x11]
cmp eax, 0x3e
jne 0x416d4c
mov eax, dword [0x490d2c]
lea ecx, [eax + 1]
mov dword [0x490d2c], ecx
add eax, 0x55c43ca9
xor eax, 0xddcfba45
cmp eax, 0xc2986be0
jl 0x416d7f
mov ax, word [0x488fac]
dec eax
mov word [0x488fac], ax
cwde
add eax, 0x1e5d162e
cmp eax, 0x1f90d59c
jg 0x416d75
add dword [0x48eb94], 0x15814fdb
jmp 0x416d7f
add dword [0x48ceec], 0xcbc043a0
movzx eax, byte [esp + ebp + 0x11]
movsx eax, byte [esi + eax]
mov ecx, edi
push eax
call fcn.00411a08
mov eax, dword [0x490160]
xor eax, 0xa9979e3
mov dword [0x48b57c], eax
jmp 0x416db4
mov ax, word [0x487568]
xor eax, 0x981f
mov word [0x487568], ax
mov ecx, edi
lea eax, [esp + 9]
push eax
call fcn.00410114
xor dword [0x48ab10], 0xbedb7bef
jmp 0x416d94
mov dword [0x48f7fc], 0x3c2bfcf3
mov ecx, edi
lea eax, [esp + 0xd]
push eax
call fcn.00410114
mov word [0x487446], 0x9831
mov eax, dword [0x48ca38]
add eax, 0x1ad4
mov cx, word [0x487f04]
and ecx, eax
and ecx, 0x2978
mov word [0x487f04], cx
mov eax, dword [0x48ffe0]
lea ecx, [eax - 1]
mov dword [0x48ffe0], ecx
mov ecx, 0xe1895549
sub ecx, eax
xor ecx, 0xe222
mov ax, word [0x48820a]
or eax, ecx
mov word [0x48820a], ax
inc ebp
mov dword [0x48b300], 0x651ad4bc
cmp ebp, 4
jne 0x416ca8
or dword [0x48aa0c], 0x537b3c99
mov eax, dword [0x48cf3c]
or eax, 0xac3b0d1e
mov ecx, dword [0x4901a0]
dec ecx
mov dword [0x4901a0], ecx
imul ecx, ecx, 0x1273c2c1
and ecx, 0xb809cb66
xor ebp, ebp
cmp eax, ecx
jge 0x416e2d
mov word [0x48a682], 0xf31e
mov ecx, dword [esp]
dec ecx
mov eax, dword [0x48d738]
cmp eax, 0xd94c35c8
jg 0x416e5f
mov eax, dword [0x48da44]
sar eax, 7
imul eax, eax, 0xca29f319
mov edx, ecx
mov ecx, dword [0x48eb7c]
add ecx, eax
or dword [0x49084c], ecx
mov ecx, edx
jmp 0x416e64
mov eax, dword [0x48e134]
inc ebx
test ecx, ecx
jne 0x416af0
mov dword [0x48e15c], 0x6d02de1e
test ebp, ebp
je 0x417248
mov eax, dword [0x48e228]
imul eax, eax, 0x18187dad
mov dword [0x48e228], eax
mov ax, word [0x488f5c]
add eax, 0xffffa773
mov word [0x488f5c], ax
cmp ebp, 2
jg 0x416edc
mov eax, ebp
mov ecx, dword [0x48d0b4]
add dword [0x490058], ecx
mov byte [esp + eax + 0x15], 0
mov cx, word [0x489010]
add ecx, 0x1dba
mov word [0x489010], cx
inc eax
add dword [0x48e0f4], 0x68050532
cmp eax, 3
jne 0x416ea7
mov dword [0x48cc7c], 0xb6e23f4d
mov al, byte [esp + 0x15]
shr al, 2
mov byte [esp + 0x11], al
and dword [0x48c480], 0xc43820c6
mov al, byte [esp + 0x15]
shl al, 4
and al, 0x30
mov byte [esp + 0x12], al
mov eax, dword [0x48ac3c]
shl eax, 8
add eax, 0x3d2e
or eax, 0xd424
mov cx, word [0x488dd8]
xor ecx, eax
mov word [0x488dd8], cx
mov al, byte [esp + 0x16]
shr al, 4
add byte [esp + 0x12], al
mov ax, word [0x487e50]
add eax, 0xffffffe0
mov word [0x487e50], ax
mov al, byte [esp + 0x16]
shl al, 2
and al, 0x3c
mov byte [esp + 0x13], al
mov word [0x487e70], 0xfffb
mov al, byte [esp + 0x17]
shr al, 6
add byte [esp + 0x13], al
mov eax, dword [0x491634]
and eax, 0x53679cb8
mov ecx, dword [0x48fa98]
cmp eax, ecx
je 0x416f89
mov eax, dword [0x48fda4]
imul eax, eax, 0xc48e8328
mov dword [0x48fda4], eax
mov al, byte [esp + 0x17]
and al, 0x3f
mov byte [esp + 0x14], al
add dword [0x48b5dc], 0x1745bd1f
mov eax, dword [0x48fec8]
xor ebx, ebx
jmp 0x416fbd
mov ax, word [0x488590]
and eax, 0xd000
mov word [0x488590], ax
inc ebx
mov eax, dword [0x48db1c]
mov ax, word [0x4894aa]
cwde
add eax, 0xd3c35e50
cmp eax, 0x5fe720d3
jg 0x416fe0
mov eax, dword [0x48fcb8]
imul eax, eax, 0x33530957
mov dword [0x48fcb8], eax
cmp ebx, ebp
jg 0x417162
mov eax, dword [0x48ac3c]
imul eax, eax, 0xff3fecff
mov dword [0x48ac3c], eax
cmp byte [esp + 0x34], 0
je 0x417094
movzx eax, byte [esp + ebx + 0x11]
cmp eax, 0x3e
jb 0x417094
mov eax, dword [0x4912c8]
shl eax, 5
mov ecx, dword [0x48aea8]
sar ecx, 9
cmp eax, ecx
jl 0x417048
mov eax, dword [0x48e7c4]
lea ecx, [eax - 1]
mov dword [0x48e7c4], ecx
or eax, 0x5d3f6e3c
mov ecx, dword [0x48af28]
imul ecx, eax
mov dword [0x48af28], ecx
movzx eax, byte [esp + ebx + 0x11]
cmp eax, 0x3e
jne 0x4170d8
or dword [0x491588], 0x6a113dd6
mov ecx, edi
lea eax, [esp + 0xd]
push eax
call fcn.00410114
mov eax, dword [0x48afe0]
mov ecx, dword [0x48b664]
sar ecx, 2
add ecx, eax
cmp ecx, 0xcb7c6b4c
jl 0x417113
xor dword [0x48be0c], 0x6153208a
jmp 0x417113
mov ax, word [0x489b46]
or eax, 0xffffa6be
mov cx, word [0x48a138]
xor ecx, eax
xor ecx, 0x5941
mov word [0x48a138], cx
movzx eax, byte [esp + ebx + 0x11]
movsx eax, byte [esi + eax]
mov ecx, edi
push eax
call fcn.00411a08
mov ax, word [0x4892b6]
dec eax
mov word [0x4892b6], ax
jmp 0x416fa6
mov dword [0x48f300], 0xde719312
mov ecx, edi
lea eax, [esp + 9]
push eax
call fcn.00410114
mov ax, word [0x487b82]
cwde
mov ecx, 0xf9c06242
sub ecx, eax
mov ax, word [0x48a692]
cwde
not eax
cmp ecx, eax
je 0x417113
and dword [0x48fa7c], 0x2ba0b099
mov eax, dword [0x4907e0]
xor eax, 0x4eeb6962
mov ecx, dword [0x48d31c]
dec ecx
mov dword [0x48d31c], ecx
cmp eax, ecx
jne 0x416fa6
mov eax, dword [0x48c8a8]
lea ecx, [eax - 1]
mov dword [0x48c8a8], ecx
mov ecx, 0x80950dce
sub ecx, eax
cmp ecx, 0x53ad7df5
jl 0x416fa6
mov dword [0x48b3b0], 0xd209bea9
jmp 0x416fa6
mov dword [0x48cbd8], 0x16154e31
cmp ebp, 2
jg 0x417232
mov ebx, 3
sub ebx, ebp
mov eax, dword [0x48acac]
cmp eax, 0xaf095ba
je 0x417192
xor dword [0x48d1a0], 0xd199bf0c
add dword [0x48dc14], 0x7d77dede
cmp byte [esp + 0x34], 0
je 0x4171ec
mov eax, dword [0x48f338]
cmp eax, 0xb4796edb
jl 0x4171bf
mov eax, dword [0x48fc34]
imul eax, eax, 0x56df3d33
mov dword [0x48fc34], eax
mov ecx, edi
lea eax, [esp + 5]
push eax
call fcn.00410114
mov eax, dword [0x48cdd8]
lea ecx, [eax + 1]
mov dword [0x48cdd8], ecx
cmp eax, 0x11c9b4db
jl 0x417218
or dword [0x490768], 0x294180ac
jmp 0x417218
mov eax, dword [0x48b43c]
mov ecx, dword [0x49128c]
imul eax, eax, 0xe245da28
lea eax, [eax + ecx + 0x2c4e5acd]
mov dword [0x49128c], eax
mov ecx, edi
push 0x3d
call fcn.00411a08
dec dword [0x48bd48]
mov eax, dword [0x48d5d0]
shl eax, 0xa
or eax, 0xb837
mov word [0x488dd2], ax
dec ebx
jne 0x41717c
xor dword [0x48cc50], 0xac050f68
jmp 0x417248
mov dword [0x48e15c], 0x6d02de1e
mov eax, dword [0x48ff18]
cmp eax, 0x75913575
jne 0x417284
mov eax, dword [0x490a74]
cmp eax, 0x6e1cc64e
je 0x417284
mov eax, dword [0x48b864]
lea ecx, [eax - 1]
mov dword [0x48b864], ecx
mov ecx, 0x711e8aca
sub ecx, eax
mov ax, word [0x488cb6]
imul eax, ecx
mov word [0x488cb6], ax
push esi
push 0x41
call fcn.00409272
add esp, 8
mov ax, word [0x488720]
cwde
xor eax, 0xe403a08e
or dword [0x48d7cc], eax
mov esi, 4
push esi
lea eax, [esp + 0x11]
push eax
call fcn.0040be43
add esp, 8
mov eax, dword [0x48e054]
add eax, 0xde1f8f40
mov ecx, dword [0x4902dc]
xor ecx, eax
xor ecx, 0x52c802d0
mov dword [0x4902dc], ecx
push esi
lea eax, [esp + 0xd]
push eax
call fcn.0040be43
add esp, 8
and dword [0x48b164], 0x2b568ef8
push esi
lea eax, [esp + 9]
push eax
call fcn.0040be43
add esp, 8
mov eax, dword [0x48b274]
cmp eax, 0x4d77f226
lea esp, [esp + 0x18]
pop esi
pop edi
pop ebx
pop ebp
jl 0x41731c
mov eax, dword [0x48e25c]
or eax, 0x9d6364c2
and dword [0x48ab14], eax
ret