Function at 0x40266c
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x438278]
sub esp, 0x18
not eax
or eax, 0x8493888
cmp eax, 0xe06df2a5
jge 0x4026a3
inc word [0x440a64]
mov ax, word [0x440a64]
cwde
or eax, 0x461de184
xor eax, dword [0x437360]
mov dword [0x437360], eax
inc word [0x4402fa]
mov ax, word [0x4402fa]
cwde
cmp eax, 0x4375d6c5
jl 0x4026c2
add dword [0x434050], 0x4a560e9
imul eax, dword [0x433c48], 0xb4ea9749
push ebx
push esi
push edi
xor edi, edi
and eax, 0x8bac05d5
xor dword [0x43b9ac], eax
mov eax, dword [0x434ff4]
imul eax, eax, 0x153b4deb
add dword [0x439318], eax
inc dword [0x434ff4]
mov eax, dword [0x43bee0]
and eax, 0x4ffa2346
cmp eax, 0xdffc0544
jge 0x40270e
add dword [0x43934c], 0xe64e2415
mov eax, dword [0x43c45c]
xor eax, 0x7b194b38
sar eax, 2
cmp eax, 0x7f1e54a5
jle 0x402737
inc dword [0x43a2d8]
mov eax, dword [0x43a2d8]
or eax, 0x2d515387
mov dword [0x434c88], eax
push 0x41
push 0x11a4
call fcn.004167c2
and dword [0x434bf8], 0xe8b963b
push 4
push 0x2e16
mov dword [ebp - 0xc], eax
call fcn.004167c2
movzx ecx, word [0x43dae2]
mov esi, eax
imul ecx, ecx, 0xd5febaae
lea eax, [ebp - 0x10]
push esi
push eax
mov word [0x43dae2], cx
call fcn.004122b2
imul ecx, dword [0x437860], 0x4b10c2da
mov eax, 0x68908d2b
push 4
push 0x850
sub eax, ecx
add dword [0x435884], eax
call fcn.004167c2
add dword [0x433458], 0x15e5726
mov ebx, eax
push esi
push 4
call fcn.00410aa9
mov ecx, dword [0x43536c]
add esp, 0x28
not ecx
add ecx, 0x3b157e8
or ecx, 0xf8140403
cmp ecx, 0x69091c69
jne 0x4027dc
or dword [0x43545c], 0x56ad8e26
lea eax, [ebp - 0x14]
push ebx
push eax
call fcn.004122b2
inc dword [0x434124]
mov eax, dword [0x434124]
xor eax, 0xffb7efff
or eax, 0x9537a792
pop ecx
pop ecx
cmp eax, 0x6fd4325
jg 0x402816
movzx eax, word [0x43c652]
or eax, 0x24b3fd42
mov word [0x43c652], ax
push 4
push 0x3bf3
call fcn.004167c2
mov ecx, dword [0x4359c8]
mov esi, eax
add ecx, 0x402ed94b
push ebx
mov dword [0x436174], ecx
push 4
call fcn.00410aa9
mov ecx, dword [0x437b30]
lea eax, [ebp - 0x18]
and ecx, dword [0x435244]
push esi
mov dword [0x435244], ecx
dec dword [0x437b30]
push eax
call fcn.004122b2
imul eax, dword [0x4375a4], 0x37d044d4
add esp, 0x18
add eax, 0xf514a0c
inc dword [0x4375a4]
cmp eax, 0x90d36329
jg 0x4028ac
mov ecx, dword [0x4354b8]
mov eax, dword [0x435e8c]
or ecx, 0x5880d990
inc dword [0x4354b8]
cmp ecx, eax
jge 0x4028ac
movzx eax, word [0x440002]
sub eax, 0x3bbdab1b
mov word [0x440002], ax
push esi
push 4
call fcn.00410aa9
pop ecx
pop ecx
mov ecx, dword [ebp + 0xc]
mov eax, 0xf85
mov word [0x43f8a6], ax
push 3
pop ebx
test ecx, ecx
je 0x402c26
mov edx, dword [ebp + 8]
add dword [0x43b944], 0xdd5300f5
dec ecx
or dword [0x433a94], 0x2d12888
mov al, byte [edx]
mov byte [ebp + edi - 4], al
mov eax, dword [0x436270]
and eax, 0xaa095d5d
mov dword [ebp + 0xc], ecx
cmp eax, 0x45c3ee7e
jge 0x40290d
and dword [0x43b5e4], 0x6fef5c1a
jmp 0x40291c
mov eax, dword [0x438dec]
sub eax, 0x5a4224e8
mov dword [0x439b2c], eax
mov eax, dword [0x439c74]
inc edi
not eax
or eax, 0x47ad6ee4
cmp eax, 0xbe6e9800
jge 0x40293a
add dword [0x43372c], 0x3b06fc98
movzx eax, word [0x43d7d2]
inc edx
sub eax, 0x5be6177d
mov dword [ebp + 8], edx
mov word [0x43d7d2], ax
cmp edi, ebx
jne 0x402bfb
movsx ecx, word [0x43c738]
movzx eax, word [0x43c688]
or ecx, 0xf77b7fbd
sub eax, ecx
mov word [0x43c688], ax
mov al, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
mov ax, word [0x43ed66]
cwde
sub dword [0x438764], eax
mov cl, byte [ebp - 4]
mov al, byte [ebp - 3]
and cl, 3
shr al, 4
shl cl, 4
mov byte [ebp - 7], cl
add cl, al
mov dword [0x435454], 0xff0cc6a
mov byte [ebp - 7], cl
and dword [0x43c03c], 0x2fda30ef
mov al, byte [ebp - 3]
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
movsx eax, word [0x43c754]
not eax
and eax, 0xaf0c6ee
or dword [0x438be8], eax
mov al, byte [ebp - 2]
shr al, 6
add byte [ebp - 6], al
mov eax, dword [0x43c140]
not eax
imul eax, eax, 0x56b39458
xor dword [0x4377e4], eax
mov al, byte [ebp - 2]
mov ecx, dword [0x439d84]
and al, 0x3f
mov byte [ebp - 5], al
and ecx, 0x814875af
mov eax, dword [0x43a194]
or eax, 0x5621d264
cmp eax, ecx
je 0x402a1c
or dword [0x434dc8], 0xc1270f77
movzx eax, word [0x43f4a8]
xor esi, esi
mov bl, byte [ebp + 0x10]
or eax, 0x7be406a2
mov word [0x43f4a8], ax
and dword [0x43a040], 0x1a0bc040
test bl, bl
je 0x402b67
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x402b67
xor dword [0x439370], 0xfff777db
cmp al, 0x3e
jne 0x402af0
mov ecx, dword [0x43981c]
movsx eax, word [0x43e0da]
shl ecx, 0xa
xor eax, ecx
dec word [0x43e0da]
cmp eax, 0x63df294f
jge 0x402abb
mov ecx, dword [0x437a68]
movsx eax, word [0x43e50a]
sar ecx, 8
add ecx, 0xe1fb13ca
cmp ecx, eax
jl 0x402aa9
mov dword [0x4344c8], 0x117db850
jmp 0x402abb
movzx eax, word [0x43cee0]
or eax, 0x128253e9
mov word [0x43cee0], ax
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x10]
push eax
call fcn.00404749
dec dword [0x439308]
mov eax, dword [0x439308]
and eax, 0x448a53b3
cmp eax, 0xf6d55ae3
jge 0x402b53
mov eax, dword [0x43bb34]
or eax, dword [0x43719c]
mov dword [0x43719c], eax
jmp 0x402b53
cmp dword [0x43a200], 0x2c15aa2b
jne 0x402b08
mov dword [0x4397e4], 0x43a1a05e
jmp 0x402b20
mov eax, dword [0x439c90]
not eax
or eax, 0xf72deef9
cmp eax, 0xb3de8a75
jg 0x402b20
mov eax, dword [0x43b4f8]
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x14]
push eax
call fcn.00404749
mov eax, dword [0x436f14]
mov ecx, dword [0x43bbf8]
not eax
imul ecx, eax
movsx eax, word [0x43efb8]
not eax
xor eax, ecx
add dword [0x43b9d4], eax
dec dword [0x43bbf8]
movzx eax, word [0x43f31c]
or eax, 0xacf1f9ff
mov word [0x43f31c], ax
jmp 0x402ba4
movzx eax, word [0x43f494]
mov ecx, dword [ebp - 0xc]
add eax, 0x7eac9261
mov word [0x43f494], ax
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + ecx]
mov ecx, dword [ebp + 0x14]
push eax
call fcn.0042c758
mov eax, dword [0x43b9f8]
and eax, 0x685898cd
sub dword [0x43bd6c], eax
inc dword [0x43b9f8]
dec dword [0x43ab18]
mov eax, dword [0x43ab18]
mov ecx, dword [0x43aa24]
imul ecx, eax
inc esi
mov eax, 0xffffd815
mov dword [0x43aa24], ecx
mov word [0x43c66a], ax
cmp esi, 4
jne 0x402a33
xor dword [0x4336d0], 0x13808410
xor edi, edi
mov eax, dword [0x4399b4]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
shl eax, 4
xor eax, 0x126efa0f
or dword [0x43bbdc], eax
push 3
pop ebx
mov eax, dword [0x43c374]
sar eax, 5
and eax, 0xa2d0ab47
cmp eax, 0xcffb0973
jge 0x402c1e
imul eax, dword [0x435598], 0x1e0d26e6
mov dword [0x435598], eax
test ecx, ecx
jne 0x4028d2
add dword [0x436090], 0xda04bf0c
test edi, edi
je 0x4030db
xor dword [0x43422c], 0xfeefbf7f
mov ax, word [0x43e8ce]
mov ecx, dword [0x43b4e0]
cwde
or ecx, eax
or ecx, 0x82f64f23
mov dword [0x43b4e0], ecx
cmp edi, ebx
jge 0x402ce0
mov esi, ebx
lea eax, [ebp - 4]
sub esi, edi
add eax, edi
push esi
push 0
push eax
call fcn.0042b4f1
add esp, 0xc
inc dword [0x43b9c8]
mov eax, dword [0x43b9c8]
imul eax, eax, 0xd7627ef3
cmp eax, 0x128a888a
je 0x402cbe
movsx edx, word [0x43cab0]
mov ecx, 0xf3d27732
mov eax, dword [0x43aa98]
xor edx, 0x4a414a3a
sub ecx, eax
dec dword [0x43aa98]
cmp ecx, edx
jle 0x402cbe
dec word [0x4402fc]
mov ax, word [0x43e530]
mov eax, dword [0x436440]
add eax, 0x3f9e328e
and eax, 0x77e89d38
xor dword [0x433768], eax
or dword [0x43413c], 0xe228f13e
dec esi
jne 0x402c76
xor dword [0x434f68], 0x8098a20f
xor esi, esi
mov al, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
movsx eax, word [0x43f044]
and eax, 0x6caf744e
xor eax, 0x160cb6b
and dword [0x4353f0], eax
inc word [0x43f044]
mov al, byte [ebp - 4]
and al, 3
shl al, 4
mov byte [ebp - 7], al
xor dword [0x43b61c], 0xb38a92cd
movsx ecx, word [0x4404e8]
mov al, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
mov eax, dword [0x4343ac]
shl ecx, 9
or ecx, 0x40c202a
imul eax, ecx
mov dword [0x4343ac], eax
mov al, byte [ebp - 3]
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
add dword [0x435c2c], 0x2cce425f
mov al, byte [ebp - 2]
shr al, 6
add byte [ebp - 6], al
or dword [0x4361cc], 0xac22339c
mov al, byte [ebp - 2]
and al, 0x3f
mov byte [ebp - 5], al
add dword [0x43b97c], 0x32cc7d5b
add dword [0x43b16c], 0xab7f3df7
imul eax, dword [0x43a65c], 0x712b4e7
or eax, 0xf10e62c3
sub dword [0x436be4], eax
test edi, edi
js 0x402f9c
mov bl, byte [ebp + 0x10]
or dword [0x4396dc], 0x3c484400
test bl, bl
je 0x402ee1
mov dl, byte [ebp + esi - 8]
cmp dl, 0x3d
jbe 0x402ee1
imul ecx, dword [0x4365b4], 0x5df325bf
mov eax, dword [0x4350a0]
or ecx, 0x4865ebb5
dec dword [0x4365b4]
cmp eax, ecx
jle 0x402dfc
add dword [0x43541c], 0x24100106
jmp 0x402e17
mov ecx, dword [0x43ba18]
movzx eax, word [0x43f9c0]
xor ecx, 0xd7dc66ca
and eax, ecx
mov word [0x43f9c0], ax
cmp dl, 0x3e
jne 0x402e81
movsx eax, word [0x4405d4]
or eax, 0xb5a3924b
cmp eax, 0xbf7b81e8
jne 0x402e3b
or dword [0x438aa8], 0x89071aa0
jmp 0x402e4d
movsx eax, word [0x440a70]
xor eax, 0x86310440
sub dword [0x43a6d8], eax
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x10]
push eax
call fcn.00404749
mov eax, dword [0x43971c]
mov ecx, 0x820f0a7f
sub ecx, eax
movzx eax, word [0x43ec4e]
or eax, ecx
or eax, 0x6af80dd8
mov word [0x43ec4e], ax
dec dword [0x43971c]
jmp 0x402ec0
mov eax, dword [0x435264]
mov ecx, dword [ebp + 0x14]
mov dword [0x43aeac], eax
lea eax, [ebp - 0x14]
push eax
call fcn.00404749
movsx eax, word [0x43e1bc]
add eax, 0x623de18e
cmp eax, 0x22820028
jge 0x402ec0
mov eax, dword [0x43c45c]
or eax, 0xa834140
xor dword [0x439358], eax
dec dword [0x43c45c]
movsx eax, word [0x43fbb0]
not eax
sub eax, 0x4d8c2a04
cmp eax, 0xa450f6fa
je 0x402f12
add dword [0x436324], 0xb5bc0dec
jmp 0x402f12
add dword [0x437eac], 0x45ec2942
mov ecx, dword [ebp - 0xc]
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + ecx]
mov ecx, dword [ebp + 0x14]
push eax
call fcn.0042c758
movzx eax, word [0x43da00]
sub eax, 0x79a36748
mov word [0x43da00], ax
or dword [0x433978], 0xc78af94e
inc esi
cmp dword [0x4354e8], 0x7cebcffd
jge 0x402f7c
mov eax, dword [0x43a03c]
mov ecx, dword [0x4365a8]
imul eax, eax, 0xeaf41852
xor ecx, eax
mov eax, dword [0x43b840]
add eax, 0x3ebf389b
xor eax, 0x40704792
cmp eax, ecx
jle 0x402f72
mov eax, dword [0x43b148]
mov ecx, dword [0x4363b0]
and eax, 0xdb6ab59
not ecx
xor ecx, eax
mov eax, dword [0x433ac4]
imul eax, ecx
mov dword [0x433ac4], eax
jmp 0x402f7c
add dword [0x435188], 0x75d82c98
imul eax, dword [0x43a65c], 0x712b4e7
or eax, 0xf10e62c3
sub dword [0x436be4], eax
cmp esi, edi
jle 0x402db2
push 3
pop ebx
xor dword [0x433e7c], 0x69107930
cmp edi, ebx
jge 0x403098
sub ebx, edi
dec dword [0x43c3b8]
mov eax, dword [0x43c3b8]
mov ecx, dword [0x43b774]
shl ecx, 6
imul ecx, eax
mov eax, dword [0x438514]
sub eax, ecx
cmp eax, 0xdd32f110
jl 0x402fdf
add dword [0x4373f8], 0x159de772
movsx eax, word [0x43fc16]
imul eax, eax, 0x865b9459
xor dword [0x434f48], eax
cmp byte [ebp + 0x10], 0
je 0x403039
add dword [0x43809c], 0x20008811
lea eax, [ebp - 0x18]
mov ecx, dword [ebp + 0x14]
push eax
call fcn.00404749
cmp dword [0x4360f8], 0xbe32950c
jg 0x403076
movsx eax, word [0x43f280]
movzx ecx, word [0x43c8fa]
imul eax, eax, 0x428d1c78
sub ecx, eax
mov word [0x43c8fa], cx
jmp 0x403076
mov eax, dword [0x435a14]
mov ecx, dword [0x4334ac]
add eax, 0x8b83c920
xor ecx, eax
mov dword [0x43985c], ecx
mov ecx, dword [ebp + 0x14]
push 0x3d
call fcn.0042c758
inc dword [0x439aa0]
mov eax, dword [0x439aa0]
movzx ecx, word [0x440a14]
add ecx, eax
mov word [0x440a14], cx
mov eax, dword [0x43a088]
sub eax, 0x23578a6
or eax, 0x4139b337
add dword [0x43a390], eax
inc dword [0x43a088]
dec ebx
jne 0x402fb0
mov eax, dword [0x43bba0]
xor eax, 0x406c0425
cmp eax, 0xe92be8d
je 0x4030ca
mov eax, dword [0x434590]
mov ecx, dword [0x435158]
add eax, 0xc9b81b68
imul ecx, eax
mov dword [0x435158], ecx
inc dword [0x434590]
jmp 0x4030db
inc dword [0x436a04]
mov eax, dword [0x436a04]
add dword [0x434a48], eax
movzx eax, word [0x43f6be]
push dword [ebp - 0xc]
or eax, 0x420004
mov word [0x43f6be], ax
push 0x41
call fcn.00410aa9
mov eax, dword [0x435c80]
shl eax, 8
xor eax, 0xc0655325
pop ecx
pop ecx
cmp eax, 0xf88789bc
jne 0x40311d
movsx eax, word [0x43e2be]
sar eax, 9
xor dword [0x439be8], eax
push 4
xor ebx, ebx
lea eax, [ebp - 0x10]
push ebx
push eax
call fcn.0042b4f1
imul eax, dword [0x437c88], 0xe9f787ba
push 4
push ebx
xor eax, 0xacfcd2dc
mov dword [0x4357d0], eax
lea eax, [ebp - 0x14]
inc dword [0x437c88]
push eax
call fcn.0042b4f1
push 4
lea eax, [ebp - 0x18]
mov dword [0x435d7c], 0x40056800
push ebx
push eax
call fcn.0042b4f1
movsx eax, word [0x44054a]
add esp, 0x24
imul ecx, eax, 0x4119875e
imul eax, dword [0x434b58], 0xc6dea86c
pop edi
pop esi
pop ebx
cmp ecx, eax
jg 0x4031af
mov eax, dword [0x434224]
mov ecx, dword [0x43b490]
shl eax, 0xa
xor ecx, eax
mov eax, dword [0x43b5e8]
or eax, ecx
or eax, 0x65d69e1
mov dword [0x43b5e8], eax
inc dword [0x43b490]
mov esp, ebp
pop ebp
ret