Function at 0x421840
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x459248]
sub esp, 0x18
inc dword [0x459248]
add eax, 0x6dd220a3
or eax, 0x1a49a942
cmp eax, 0x923f5519
jge 0x42186c
or dword [0x4644e8], 0xcd6d6b5f
movzx eax, word [0x46b062]
and eax, 0x340a088b
mov word [0x46b062], ax
movzx eax, word [0x46a750]
xor eax, 0x25aefe1f
mov word [0x46a750], ax
movzx eax, word [0x46da8c]
push ebx
push esi
movsx ecx, ax
xor esi, esi
mov eax, dword [0x462bd4]
sub ecx, eax
push edi
mov word [0x46da8c], cx
add dword [0x45ed14], 0xdd33cc58
and dword [0x4631a8], 0x69352ceb
push 0x41
push 0x858
call fcn.0041d3e0
mov ecx, dword [0x45e57c]
not ecx
mov dword [ebp - 0xc], eax
xor ecx, 0x7f7b297a
add dword [0x45d408], ecx
push 4
push 0x1111
call fcn.0041d3e0
or dword [0x45ab3c], 0x885a43af
mov ebx, eax
lea eax, [ebp - 0x10]
push ebx
push eax
call fcn.0042d350
mov ecx, dword [0x45b214]
add esp, 0x18
and ecx, 0xffffff80
cmp ecx, 0x20a04500
jge 0x421931
mov ax, word [0x46a07c]
movsx ecx, ax
mov eax, dword [0x45fd3c]
sub ecx, eax
mov word [0x46a07c], cx
push 4
push 0x2494
call fcn.0041d3e0
push ebx
mov dword [0x45c33c], 0x9f7f6fb7
mov edi, eax
push 4
call fcn.0040b0b0
movzx ecx, word [0x46d0dc]
lea eax, [ebp - 0x14]
sub ecx, 0x185b0fa2
push edi
mov word [0x46d0dc], cx
push eax
call fcn.0042d350
mov eax, dword [0x4603b0]
add esp, 0x18
or eax, 0x88f76633
cmp eax, 0xc4a564be
jge 0x421994
mov eax, dword [0x45c950]
imul eax, eax, 0x562cdd0c
xor dword [0x45aca0], eax
push 4
push 0x3f3
call fcn.0041d3e0
xor dword [0x45e874], 0xedd69444
mov ebx, eax
push edi
push 4
call fcn.0040b0b0
movsx ecx, word [0x46e910]
add esp, 0x10
sar ecx, 5
xor ecx, 0xf375d73
cmp ecx, 0xe87702a
je 0x4219d9
or dword [0x461670], 0x76560851
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.0042d350
mov ax, word [0x46aea2]
add esp, 8
movsx ecx, ax
movsx eax, word [0x46e404]
add eax, ecx
mov ecx, dword [0x45d8f4]
inc word [0x46e404]
xor ecx, eax
cmp ecx, 0xfb253db6
jge 0x421a30
mov ax, word [0x46aa6e]
movsx ecx, ax
mov eax, dword [0x463994]
add eax, 0x5b5ea533
add eax, ecx
mov word [0x46aa6e], ax
inc dword [0x463994]
push ebx
push 4
call fcn.0040b0b0
dec dword [0x458514]
add esp, 8
mov ecx, dword [0x458514]
movzx eax, word [0x46e670]
add ecx, 0x9f5f4770
mov edi, dword [ebp + 0xc]
or ecx, eax
mov ebx, dword [ebp + 0x14]
mov word [0x46e670], cx
test edi, edi
je 0x421df9
mov edx, 0xffff8875
mov ecx, dword [0x45dc84]
mov eax, dword [0x45f70c]
shl ecx, 5
or eax, ecx
cmp eax, 0xc601000
je 0x421a90
mov word [0x46a2e2], dx
jmp 0x421a9a
xor dword [0x4595b4], 0xac74e1ab
mov eax, dword [0x463698]
dec edi
mov ecx, dword [ebp + 8]
sar eax, 7
xor dword [0x46266c], eax
cmp dword [0x45953c], 0xdbfefdfb
mov al, byte [ecx]
mov dword [ebp + 0xc], edi
mov byte [ebp + esi - 4], al
jge 0x421ad0
imul eax, dword [0x458050], 0x29a0cd7c
mov dword [0x458050], eax
imul eax, dword [0x45ca54], 0xd9f4e79c
inc ecx
inc esi
mov dword [ebp + 8], ecx
mov dword [0x45ca54], eax
movsx eax, word [0x46abe8]
and eax, 0x2a1e7d
shl eax, 7
xor eax, 0x5e1431d1
cmp eax, 0xe2054351
jl 0x421b1a
mov ecx, dword [0x4584f8]
movzx eax, word [0x468f80]
and ecx, 0xb08287b5
or eax, ecx
mov word [0x468f80], ax
cmp esi, 3
jne 0x421ddf
movsx ecx, word [0x46e50c]
movzx eax, word [0x46def2]
sub ecx, 0x73fd77ab
or ecx, 0x15b93fb9
imul eax, ecx
mov word [0x46def2], ax
dec word [0x46e50c]
movzx eax, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
add dword [0x458c60], 0x4203c1
movzx eax, byte [ebp - 4]
and al, 3
shl al, 4
mov byte [ebp - 7], al
add dword [0x4596a4], 0xfe7ff778
movzx eax, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
add dword [0x459ab8], 0xc20289
movzx eax, byte [ebp - 3]
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
movsx eax, word [0x4677c0]
not eax
sub eax, 0xe085365
cmp eax, 0xfb48defb
jge 0x421be5
mov eax, dword [0x45fe4c]
dec dword [0x45fe4c]
cmp eax, 0xbcf4233b
je 0x421bd2
movzx eax, word [0x46857a]
or eax, 0x3c426661
mov word [0x46857a], ax
jmp 0x421be5
mov eax, dword [0x45f3b4]
shl eax, 7
or eax, 0x8a315135
mov word [0x46e12c], ax
movzx eax, byte [ebp - 2]
xor esi, esi
mov edi, dword [ebp - 0xc]
shr al, 6
add byte [ebp - 6], al
movzx eax, word [0x46c4a0]
and eax, 0xd1609eb5
mov word [0x46c4a0], ax
movzx eax, byte [ebp - 2]
and al, 0x3f
mov byte [ebp - 5], al
add dword [0x465f9c], 0xd1a43d1d
and dword [0x461d1c], 0x47151a11
jmp 0x421c30
xor dword [0x458c54], 0xcf445a45
cmp byte [ebp + 0x10], 0
je 0x421d3e
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x421d3e
or dword [0x461974], 0xa4647fcf
cmp al, 0x3e
jne 0x421cbe
mov eax, dword [0x45b080]
add eax, 0xe3f205c
and eax, 0x698f526f
cmp eax, 0x5b4ae4fb
jne 0x421c8f
inc dword [0x45a15c]
mov eax, dword [0x45a15c]
or eax, 0x57708b1a
xor eax, dword [0x46161c]
mov dword [0x46161c], eax
lea eax, [ebp - 0x10]
mov ecx, ebx
push eax
call fcn.0041a3b0
cmp dword [0x45a520], 0xffbc3f93
jne 0x421cb2
or dword [0x464a18], 0x8cc416f7
jmp 0x421d26
mov dword [0x45b178], 0x2457726a
jmp 0x421d26
movsx eax, word [0x46c66a]
lea eax, [eax*8 - 0x1f3432bf]
cmp eax, 0x4800820
jle 0x421d11
mov ecx, dword [0x45f030]
mov eax, dword [0x462510]
add ecx, 0x39542817
inc dword [0x45f030]
or ecx, 0xbc271e1c
inc dword [0x462510]
and eax, 0x1701ad76
cmp eax, ecx
jge 0x421d11
movzx eax, word [0x46a934]
and eax, 0x55bf483f
mov word [0x46a934], ax
lea eax, [ebp - 0x14]
mov ecx, ebx
push eax
call fcn.0041a3b0
add dword [0x46297c], 0xec4fa238
cmp dword [0x45f39c], 0x912d4109
jg 0x421d78
xor dword [0x464858], 0x53894b5c
jmp 0x421d78
movzx eax, word [0x46e610]
mov ecx, ebx
or eax, 0x52e01701
mov word [0x46e610], ax
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + edi]
push eax
call fcn.00412fb0
movsx eax, word [0x46d98a]
sub eax, 0x390e479
or eax, 0x4f07fb92
sub dword [0x4599bc], eax
movzx eax, word [0x46ca2a]
inc esi
xor eax, 0x4076c67d
mov word [0x46ca2a], ax
movzx eax, word [0x46a6e6]
or eax, 0xdf77eda6
mov word [0x46a6e6], ax
cmp esi, 4
jne 0x421c30
movzx eax, word [0x467f36]
xor esi, esi
mov edi, dword [ebp + 0xc]
sub eax, 0x7c13a9a2
mov word [0x467f36], ax
mov edx, 0xffff8875
mov ecx, dword [0x45d018]
movzx eax, word [0x468920]
not ecx
or ecx, 0x40bbe5b5
sub eax, ecx
mov word [0x468920], ax
mov eax, dword [0x4672b8]
mov ecx, 0x43f4abbe
sub ecx, eax
add dword [0x463e2c], ecx
test edi, edi
jne 0x421a70
or dword [0x460fb4], 0x42005c37
test esi, esi
je 0x42221d
dec dword [0x464434]
mov ecx, dword [0x464434]
imul eax, dword [0x457e08], 0xf41b3c2d
or ecx, 0x8400062
or eax, 0x6a7abb3d
cmp ecx, eax
jge 0x421e65
movsx ecx, word [0x46db52]
movsx eax, word [0x468afe]
sar ecx, 1
xor eax, ecx
cmp eax, 0x6fd20695
jl 0x421e5d
movzx eax, word [0x46d5ac]
or eax, 0xf9ddf374
mov word [0x46d5ac], ax
jmp 0x421e83
mov ax, word [0x46e090]
jmp 0x421e83
dec word [0x469044]
mov ax, word [0x469044]
cwde
or eax, 0x3f721cb5
xor eax, dword [0x45d80c]
mov dword [0x45d80c], eax
mov eax, 0xfffffff7
mov word [0x46ee4c], ax
cmp esi, 3
jge 0x421ee0
mov ebx, 3
lea edi, [ebp - 4]
sub ebx, esi
add edi, esi
mov ecx, ebx
xor eax, eax
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
and dword [0x45dbec], 0xfaff3cff
imul eax, dword [0x457a94], 0xf6664fdd
mov dword [0x457a94], eax
mov eax, dword [0x45bf00]
and eax, 0x2599fc87
or dword [0x461cfc], eax
dec ebx
jne 0x421eb1
mov ebx, dword [ebp + 0x14]
mov eax, dword [0x45f190]
and eax, dword [0x459eec]
mov dword [0x459eec], eax
movzx eax, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
add dword [0x4644c0], 0x1a02dbef
movzx eax, byte [ebp - 4]
and al, 3
shl al, 4
mov byte [ebp - 7], al
add dword [0x4579a4], 0xd7bceb4f
movzx eax, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
movsx eax, word [0x469cb6]
cmp eax, 0xed443d11
jl 0x421f42
inc dword [0x4590d0]
mov eax, dword [0x4590d0]
mov dword [0x466d0c], eax
mov ecx, dword [0x45fcbc]
movzx eax, byte [ebp - 3]
or ecx, 0x51de52c5
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
movzx eax, word [0x467b76]
and eax, ecx
mov word [0x467b76], ax
movzx eax, byte [ebp - 2]
shr al, 6
add byte [ebp - 6], al
add dword [0x460458], 0x117202
movzx eax, byte [ebp - 2]
movsx ecx, word [0x46c966]
and al, 0x3f
mov byte [ebp - 5], al
or ecx, 0x1b42610e
mov eax, dword [0x467248]
sar ecx, 1
xor eax, 0xbbba3e9b
cmp eax, ecx
jle 0x421fad
xor dword [0x459ca8], 0x8640802
movzx eax, word [0x46b35c]
xor edi, edi
add eax, 0x5a1203ad
mov word [0x46b35c], ax
xor dword [0x45e2b8], 0xf66d7284
test esi, esi
js 0x4220ee
jmp 0x421fe0
xor dword [0x4663c4], 0xe001788d
cmp byte [ebp + 0x10], 0
je 0x422098
mov dl, byte [ebp + edi - 8]
cmp dl, 0x3d
jbe 0x422098
inc dword [0x45a2f0]
mov eax, dword [0x45a2f0]
movsx ecx, word [0x46b8d8]
xor ecx, eax
xor ecx, 0xb29ed2a6
or dword [0x459d18], ecx
cmp dl, 0x3e
jne 0x422057
mov eax, dword [0x459698]
mov ecx, ebx
xor eax, 0xbda7f8fd
add dword [0x464cd0], eax
lea eax, [ebp - 0x10]
push eax
call fcn.0041a3b0
add dword [0x458718], 0xcf4d1cd2
and dword [0x461640], 0x568e997b
jmp 0x4220c0
mov ecx, dword [0x461c54]
movzx eax, word [0x468a18]
sar ecx, 0xa
add eax, ecx
mov ecx, ebx
mov word [0x468a18], ax
lea eax, [ebp - 0x14]
push eax
call fcn.0041a3b0
movzx eax, word [0x469ed4]
xor eax, 0x744a03f3
mov word [0x469ed4], ax
and dword [0x461640], 0x568e997b
jmp 0x4220c0
add dword [0x462fcc], 0x77be53f0
mov ecx, dword [ebp - 0xc]
movzx eax, byte [ebp + edi - 8]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.00412fb0
add dword [0x45d9a8], 0x730c567f
mov eax, dword [0x45bde4]
inc edi
imul eax, eax, 0x68a979df
add dword [0x460ae0], eax
or dword [0x45d664], 0x5dfdceda
xor dword [0x45e2b8], 0xf66d7284
cmp edi, esi
jle 0x421fe0
imul eax, dword [0x4666c0], 0xc31615e1
or eax, 0x3d6d917c
sub dword [0x45b9f8], eax
dec dword [0x4666c0]
cmp esi, 3
jge 0x42220a
mov edi, 3
sub edi, esi
lea esp, [esp]
imul eax, dword [0x45ac38], 0x52765800
mov ecx, 0x182e4efe
sub ecx, eax
movzx eax, word [0x46e8ce]
or eax, ecx
mov word [0x46e8ce], ax
add dword [0x4637f0], 0x8c668540
cmp byte [ebp + 0x10], 0
je 0x422194
dec dword [0x4604f0]
mov eax, dword [0x4604f0]
cmp eax, 0xdbef2058
jge 0x42217d
mov eax, dword [0x461c9c]
add eax, 0x1e4c3f7c
cmp eax, 0x5d23543a
jge 0x42217d
mov dword [0x463220], 0xffd7febd
lea eax, [ebp - 0x18]
mov ecx, ebx
push eax
call fcn.0041a3b0
or dword [0x465f4c], 0xee725fb7
jmp 0x4221ec
dec word [0x46806c]
mov ax, word [0x46806c]
movsx ecx, ax
mov eax, dword [0x459038]
and ecx, 0x1f83ac6f
sar eax, 2
or ecx, eax
cmp ecx, 0x9685f1b7
jne 0x4221d9
mov eax, dword [0x460ea4]
inc dword [0x460ea4]
sub eax, 0x183ef273
cmp eax, 0x8f97ba22
je 0x4221d9
mov ax, word [0x4688a8]
push 0x3d
mov ecx, ebx
call fcn.00412fb0
mov eax, dword [0x457f94]
mov dword [0x45cdcc], eax
imul eax, dword [0x45b5c0], 0x629d329b
mov ecx, 0xa66f97d6
sub ecx, eax
add dword [0x463e68], ecx
dec edi
jne 0x422120
movzx eax, word [0x46b812]
imul eax, eax, 0xba15736
mov word [0x46b812], ax
mov eax, dword [0x463b04]
push dword [ebp - 0xc]
add eax, 0x22363c64
xor dword [0x45c5a0], eax
push 0x41
call fcn.0040b0b0
movzx eax, word [0x46af14]
imul eax, eax, 0x1010e0aa
push 4
push 0
mov word [0x46af14], ax
lea eax, [ebp - 0x10]
push eax
call fcn.0042d2c0
inc word [0x46b11e]
movzx eax, word [0x46b11e]
cwde
xor eax, 0xc88d3dd7
imul eax, dword [0x45dd8c]
push 4
push 0
mov dword [0x45dd8c], eax
lea eax, [ebp - 0x14]
push eax
call fcn.0042d2c0
movsx eax, word [0x468a6c]
add esp, 0x20
inc word [0x468a6c]
mov ecx, 0x1856419
sub ecx, eax
or ecx, 0x5f3bd7ad
pop edi
pop esi
pop ebx
cmp ecx, 0x4cc3ba16
jge 0x4222b7
add dword [0x4622f0], 0xc8674b0b
push 4
lea eax, [ebp - 0x18]
push 0
push eax
call fcn.0042d2c0
movsx eax, word [0x469b72]
add esp, 0xc
xor eax, 0x3593d828
cmp eax, 0x6fbfd6f5
jl 0x4222ec
movzx eax, word [0x469092]
add eax, 0x7fa39289
mov word [0x469092], ax
mov esp, ebp
pop ebp
ret