Function at 0x428ba0
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
movzx eax, word [0x44b1be]
mov ecx, dword [0x445908]
cwde
push ebx
sub eax, ecx
push esi
add eax, 0x3cc7d4c7
mov word [0x44b1be], ax
push edi
mov edi, 1
add dword [0x445908], edi
mov edx, dword [0x437d10]
add edx, dword [0x43a50c]
push 0x41
mov dword [0x437d10], edx
add dword [0x437268], 0xfb218c68
add dword [0x43d06c], 0xb6b1de9f
mov eax, dword [0x43d358]
mov ecx, dword [0x43a4e0]
mov edx, dword [0x4440d4]
sub eax, ecx
add edx, eax
mov dword [0x43d358], edx
dec dword [0x43a4e0]
xor dword [0x43e1dc], 0x2effa670
push 0x2ef8
xor ebx, ebx
call fcn.00405730
mov dword [ebp - 0xc], eax
mov eax, 0x5418
push 4
mov word [0x4476b4], ax
push 0x289d
call fcn.00405730
movzx ecx, word [0x449eb2]
mov esi, eax
lea edx, [ebp - 0x10]
and ecx, 0x658d2642
push esi
mov word [0x449eb2], cx
push edx
call fcn.0042f8f0
mov ecx, dword [0x4402c8]
mov edx, dword [0x444a54]
imul ecx, edx
mov eax, 0x867f933a
sub eax, ecx
movzx ecx, word [0x44c15a]
xor ecx, eax
push 4
mov word [0x44c15a], cx
add dword [0x4402c8], edi
push 0x2df4
call fcn.00405730
mov edi, eax
mov eax, dword [0x43da48]
mov edx, dword [0x43ab1c]
add eax, 0x8cbeaf62
add edx, eax
push esi
mov dword [0x43da48], edx
push 4
call fcn.00423840
movzx eax, word [0x448cd8]
movsx ecx, ax
imul ecx, ecx, 0x31f8f193
lea edx, [ebp - 0x14]
or ecx, 0x14f7479e
push edi
mov dword [0x440a64], ecx
push edx
call fcn.0042f8f0
or dword [0x438b24], 0xe88747bb
push 4
push 0x21a0
call fcn.00405730
add esp, 0x38
inc word [0x447fda]
mov esi, eax
movzx eax, word [0x447fda]
movsx ecx, ax
cmp ecx, 0xcfd3b67b
je 0x428d30
mov edx, dword [0x445e94]
imul edx, edx, 0x726adeab
mov dword [0x445e94], edx
jmp 0x428d77
mov ecx, dword [0x43fce8]
mov edx, dword [0x4372ac]
imul ecx, ecx, 0x6ea85f5a
or edx, 0x3819edfc
mov eax, 0x108c6ad2
sub eax, ecx
sar edx, 2
cmp edx, eax
jge 0x428d63
mov eax, dword [0x439d1c]
mov ecx, dword [0x4381a4]
jmp 0x428d77
movzx edx, word [0x449c2a]
imul edx, edx, 0xa7cbd68c
mov word [0x449c2a], dx
push edi
push 4
call fcn.00423840
mov eax, dword [0x4431bc]
add eax, dword [0x4392d4]
add esp, 8
cmp eax, 0xc100e500
jl 0x428d9e
xor dword [0x43c214], 0xc7bcfdff
lea ecx, [ebp - 0x18]
push esi
push ecx
call fcn.0042f8f0
xor dword [0x43c280], 0x364558b2
push esi
push 4
call fcn.00423840
mov dx, word [0x446f62]
add esp, 0x10
mov word [0x447b34], dx
cmp dword [ebp + 0xc], ebx
je 0x4291cb
jmp 0x428de0
mov eax, dword [0x43b298]
mov ecx, dword [ebp + 8]
xor eax, 0x9a051240
add dword [0x441f2c], eax
mov edx, 0xffffffff
add dword [0x43b298], edx
mov eax, dword [0x438198]
imul eax, eax, 0xbc5a7990
mov dword [0x438198], eax
mov al, byte [ecx]
mov edi, 1
sub dword [ebp + 0xc], edi
mov byte [ebp + ebx - 4], al
add dword [0x43f650], edi
mov ecx, dword [0x43f650]
or ecx, 0x6cec7541
cmp ecx, 0x16a5e8ac
je 0x428e57
mov ax, word [0x446b56]
movsx ecx, ax
cmp ecx, 0x2fb78ded
jge 0x428e57
mov eax, dword [0x44321c]
imul eax, eax, 0xdf9ebeb3
mov dword [0x44321c], eax
movzx ecx, word [0x448f54]
add dword [ebp + 8], edi
and ecx, 0xfdc54bd3
add ebx, edi
mov word [0x448f54], cx
and dword [0x4455a4], 0x7baa1b00
cmp ebx, 3
jne 0x4291b5
add dword [0x441ef0], edi
mov eax, dword [0x441ef0]
movzx ecx, word [0x447afc]
sub eax, 0x27c2cd3a
xor eax, 0x809682a2
sub ecx, eax
movzx eax, byte [ebp - 4]
mov word [0x447afc], cx
movzx ecx, word [0x44dc22]
shr al, 2
mov byte [ebp - 8], al
movzx eax, byte [ebp - 4]
add ecx, 0x738c6f63
mov word [0x44dc22], cx
movzx ecx, word [0x447e30]
and al, bl
shl al, 4
mov byte [ebp - 7], al
movsx eax, cx
mov ecx, dword [0x438230]
sar eax, 0xa
sub ecx, eax
mov eax, dword [0x442734]
sub ecx, eax
and dword [0x43e248], ecx
mov cl, byte [ebp - 3]
shr cl, 4
add byte [ebp - 7], cl
add dword [0x43f4a0], edx
mov eax, dword [0x43f4a0]
movzx ecx, word [0x44d206]
movsx ecx, cx
add eax, 0xa098c7e7
cmp ecx, eax
jl 0x428f27
mov dword [0x43ec68], 0x1efa87d6
jmp 0x428f37
mov eax, dword [0x4398c8]
imul eax, eax, 0x4188586f
mov dword [0x4398c8], eax
mov cl, byte [ebp - 3]
and cl, 0xf
add cl, cl
add cl, cl
mov byte [ebp - 6], cl
add dword [0x437d80], edx
mov eax, dword [0x437d80]
movzx edx, word [0x44c704]
imul eax, eax, 0xbc993185
or eax, 0xa782152
xor edx, eax
mov al, byte [ebp - 2]
mov word [0x44c704], dx
mov cx, word [0x44c55c]
movsx edx, cx
shr al, 6
add byte [ebp - 6], al
sar edx, 0xa
cmp edx, 0x752ca83a
jl 0x428fb2
mov eax, dword [0x445e34]
sub eax, 0x3d223cb0
xor eax, 0x46a5a1ce
cmp eax, 0x7f4f37d6
je 0x428fb2
movzx ecx, word [0x447aa8]
or ecx, 0x18a3bff1
mov word [0x447aa8], cx
mov eax, dword [0x443b90]
mov dl, byte [ebp - 2]
imul eax, eax, 0x8cfd258e
and dl, 0x3f
mov byte [ebp - 5], dl
mov dword [0x443b90], eax
mov cx, word [0x44cc90]
movsx eax, cx
imul eax, eax, 0x1e88e805
xor esi, esi
or dword [0x43d338], eax
movzx edx, word [0x44ab9a]
sub edx, 0x5840c040
cmp byte [ebp + 0x10], 0
mov word [0x44ab9a], dx
je 0x4290cb
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x4290cb
mov ecx, dword [0x436fd4]
sar ecx, 5
and ecx, 0x50d3c9a4
mov dword [0x43c3d0], ecx
cmp al, 0x3e
jne 0x429089
add dword [0x438918], edi
mov dx, word [0x446d04]
mov ecx, dword [0x438918]
movsx eax, dx
xor ecx, eax
xor ecx, 0xa1d7395
mov word [0x446d04], cx
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x10]
push edx
call fcn.004238a0
mov eax, dword [0x43fcbc]
mov ecx, 0xa71d6663
sub ecx, eax
and ecx, 0x8c1e7c8b
cmp ecx, 0xfe4f6fd0
je 0x4290b5
mov edx, dword [0x437cf8]
sar edx, 9
xor edx, 0x3c073257
mov word [0x44962e], dx
jmp 0x4290b5
mov eax, dword [0x43b8f4]
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp + 0x14]
mov dword [0x43ea2c], eax
call fcn.004238a0
add dword [0x437710], edi
mov eax, dword [0x437710]
or eax, 0x27ae98bf
sub dword [0x44269c], eax
movzx edx, word [0x4490a0]
add edx, 0x460d1bf1
mov word [0x4490a0], dx
jmp 0x42911c
mov ax, word [0x44cb14]
mov ecx, dword [0x43b394]
cwde
sar eax, 9
not ecx
imul ecx, eax
lea eax, [ecx - 0x6cd9599a]
or dword [0x4419d8], eax
movzx edx, byte [ebp + esi - 8]
mov eax, dword [ebp - 0xc]
movzx ecx, byte [edx + eax]
push ecx
mov ecx, dword [ebp + 0x14]
call fcn.00405f40
dec word [0x44e1da]
movzx edx, word [0x44e1da]
sub edx, 0x37ecff0b
mov word [0x447fa2], dx
dec dword [0x4461a0]
mov eax, dword [0x4461a0]
mov ecx, dword [0x43737c]
imul eax, eax, 0x3e0f427b
add ecx, eax
neg ecx
cmp ecx, 0x7321d4df
jl 0x429161
mov eax, dword [0x43f998]
movzx edx, word [0x448aa4]
not eax
imul eax, eax, 0xd1712d3c
and eax, 0x57aa25e3
xor edx, eax
mov word [0x448aa4], dx
mov ax, word [0x449a52]
cwde
lea ecx, [eax*8]
mov eax, dword [0x442ee4]
xor eax, ecx
movzx ecx, word [0x449266]
or eax, 0x853fd02
xor ecx, eax
add esi, edi
mov word [0x449266], cx
add dword [0x442ee4], edi
cmp esi, 4
jne 0x428fe3
or dword [0x43d3c8], 0x7eaa5eb9
and dword [0x446100], 0x50080
xor ebx, ebx
or edx, 0xffffffff
cmp dword [ebp + 0xc], 0
mov dword [0x437984], 0x2e020140
jne 0x428de0
jmp 0x4291d3
mov edi, 1
or edx, 0xffffffff
mov eax, dword [0x445300]
imul eax, eax, 0xd8e85017
xor eax, 0xe6cc0cd6
and dword [0x440378], eax
test ebx, ebx
je 0x4296b5
add dword [0x43ae00], 0xda1a208c
add word [0x44dc7c], dx
mov dx, word [0x44dc7c]
movsx eax, dx
sub eax, 0x7cae5065
cmp eax, 0x825131b3
jge 0x42922e
movzx ecx, word [0x447a60]
and ecx, 0xd25f3fba
mov word [0x447a60], cx
jmp 0x429252
add dword [0x4418fc], edi
mov edx, dword [0x4418fc]
imul edx, edx, 0xf3db5e5c
cmp edx, 0x56b00400
je 0x429252
and dword [0x439d44], 0xe624f4bc
cmp ebx, 3
jge 0x4292c7
mov esi, 3
sub esi, ebx
push esi
lea eax, [ebp + ebx - 4]
push 0
push eax
call fcn.00429e60
add esp, 0xc
mov ecx, 0x4e027680
dec dword [0x43dd00]
mov eax, dword [0x43dd00]
mov edx, dword [0x43c414]
add eax, edx
mov dx, word [0x448874]
movsx edx, dx
xor edx, eax
cmp edx, 0xd8c7521
jl 0x4292aa
mov eax, dword [0x43a2d8]
imul eax, eax, 0x57f142a0
mov dword [0x43a2d8], eax
mov dx, word [0x44d4ba]
movsx eax, dx
sar eax, 0xa
and dword [0x4453b0], eax
add dword [0x437e58], ecx
sub esi, edi
jne 0x429273
add dword [0x44494c], edi
mov eax, dword [0x44494c]
mov cx, word [0x44a722]
imul eax, eax, 0xcf1d2ea4
movsx edx, cx
cmp eax, edx
jl 0x4292f8
movzx eax, word [0x446ff8]
or eax, 0x83509cc1
mov word [0x446ff8], ax
mov cl, byte [ebp - 4]
shr cl, 2
mov byte [ebp - 8], cl
add dword [0x43baf0], edi
mov eax, dword [0x43c334]
mov ecx, dword [0x446400]
imul eax, eax, 0xaac45168
mov edx, dword [0x43baf0]
and ecx, eax
movzx eax, byte [ebp - 4]
and edx, ecx
mov dword [0x446400], edx
movzx ecx, word [0x44937a]
mov dl, byte [ebp - 3]
and al, 3
shl al, 4
mov byte [ebp - 7], al
and ecx, 0xaafdb57b
mov word [0x44937a], cx
shr dl, 4
add byte [ebp - 7], dl
or dword [0x43f494], 0x247485dd
movzx eax, byte [ebp - 3]
and al, 0xf
add al, al
add al, al
mov byte [ebp - 6], al
and dword [0x43bd2c], 0x623c4e38
mov al, byte [ebp - 2]
mov cl, al
shr cl, 6
add byte [ebp - 6], cl
and al, 0x3f
mov edx, 0xffffd73b
mov word [0x44e0e8], dx
mov byte [ebp - 5], al
mov ecx, 0xffffffff
add word [0x449e9c], cx
mov ax, word [0x449e9c]
movsx edx, ax
sub edx, 0x62fa2df2
cmp edx, 0x1e00c89
jne 0x4293cd
mov ax, word [0x449f5c]
mov edx, dword [0x43f004]
cwde
xor edx, eax
mov word [0x449f5c], dx
inc dword [0x43f004]
mov eax, dword [0x43b1d8]
add dword [0x43b1d8], ecx
xor esi, esi
cmp eax, 0xe74699b
je 0x4293eb
mov dword [0x4442c0], 0x7b1ff7fe
movzx ecx, word [0x44a912]
mov edi, dword [ebp + 0x14]
or ecx, 0x4106810
mov word [0x44a912], cx
test ebx, ebx
jl 0x4295b0
lea ebx, [ebx]
mov dx, word [0x44a81c]
movsx eax, dx
xor eax, 0xee58c495
cmp eax, 0xe4d543a3
jge 0x429430
add dword [0x441e90], 0x794a02de
cmp byte [ebp + 0x10], 0
je 0x429513
mov cl, byte [ebp + esi - 8]
cmp cl, 0x3d
jbe 0x429513
mov edx, dword [0x4387bc]
shl edx, 9
cmp edx, 0x2c76a8c2
jl 0x42946d
mov eax, dword [0x43bf5c]
sub eax, 0x11db7262
and eax, 0xa03fd607
sub dword [0x442c74], eax
cmp cl, 0x3e
jne 0x429499
mov eax, dword [0x440074]
imul eax, eax, 0x1d963a99
lea ecx, [ebp - 0x10]
push ecx
mov dword [0x440074], eax
mov ecx, edi
call fcn.004238a0
or dword [0x442800], 0x5219f25c
jmp 0x4294e8
mov eax, dword [0x438644]
mov dx, word [0x44df9e]
not eax
imul eax, eax, 0x44b62843
movsx ecx, dx
sub ecx, eax
mov eax, dword [0x437c70]
add eax, ecx
lea ecx, [ebp - 0x14]
push ecx
mov word [0x44df9e], ax
mov ecx, edi
call fcn.004238a0
mov edx, dword [0x444a88]
or edx, 0x6912413b
cmp edx, 0x6e62381e
je 0x4294e8
or dword [0x43cc60], 0x2d6d8061
mov ax, word [0x44acf2]
movsx ecx, ax
not ecx
cmp ecx, 0x9204840
jle 0x429507
mov dword [0x43d6e8], 0xc8cae794
jmp 0x429567
or dword [0x4462dc], 0x6d21e9f3
jmp 0x429567
add dword [0x436ebc], 0xd69ace9c
movzx edx, byte [ebp + esi - 8]
mov eax, dword [ebp - 0xc]
movzx ecx, byte [edx + eax]
push ecx
mov ecx, edi
call fcn.00405f40
mov edx, dword [0x438fac]
or edx, 0xd1d6589
cmp edx, 0xfde74300
jle 0x429567
mov eax, dword [0x43b478]
sar eax, 8
sub eax, 0x57e6e0e2
cmp eax, 0x85787b3d
je 0x429567
mov cx, word [0x44dbbc]
dec word [0x44dbbc]
mov edx, dword [0x43e56c]
imul edx, edx, 0x717a2711
mov dword [0x43e56c], edx
inc dword [0x437b30]
mov eax, dword [0x437b30]
imul eax, eax, 0x3c90ce7
and eax, 0xc94aa9c1
add dword [0x4435d4], eax
movzx eax, word [0x44a912]
inc esi
or eax, 0x4106810
cmp esi, ebx
mov word [0x44a912], ax
jle 0x429410
or eax, 0xffffffff
add word [0x447f30], ax
mov cx, word [0x447f30]
movsx edx, cx
cmp edx, 0xe91a6983
jg 0x4295e1
movzx eax, word [0x44a346]
imul eax, eax, 0xa11bd9a3
mov word [0x44a346], ax
jmp 0x42960b
mov cx, word [0x447686]
movsx edx, cx
sub edx, 0x4652fccb
cmp edx, 0x3908401a
jl 0x42960b
mov ecx, dword [0x43be00]
mov edx, dword [0x43ba14]
add dword [0x43ba14], eax
cmp ebx, 3
jge 0x42969c
mov esi, 3
sub esi, ebx
mov ebx, 0x592c0332
mov eax, dword [0x4380f8]
mov ecx, dword [0x43c430]
imul eax, ecx
mov dword [0x4380f8], eax
or dword [0x44398c], 0xbe75e3df
cmp byte [ebp + 0x10], 0
je 0x429666
lea eax, [ebp - 0x18]
mov edx, 0x78d
mov word [0x446c76], dx
push eax
mov ecx, edi
call fcn.004238a0
and dword [0x43d124], 0x2d821d59
jmp 0x42968a
mov ecx, dword [0x444c84]
mov edx, dword [0x4418cc]
lea eax, [edx + ecx]
xor dword [0x43d2a4], eax
push 0x3d
mov ecx, edi
call fcn.00405f40
mov dword [0x43e184], ebx
mov ax, word [0x446bfa]
cwde
xor dword [0x442a6c], eax
sub esi, 1
jne 0x429620
movzx ecx, word [0x44e0da]
and ecx, 0x7552486d
mov word [0x44e0da], cx
mov edi, 1
add dword [0x437f50], edi
mov edx, dword [0x437f50]
imul edx, edx, 0x34279b57
mov eax, 0x5c4ea8f1
sub eax, edx
cmp eax, 0x4e701a60
jne 0x4296fa
add dword [0x440438], edi
mov eax, dword [0x440438]
movzx ecx, word [0x446aea]
sub eax, 0x5e66fe2e
xor eax, 0xc92e8217
and ecx, eax
mov word [0x446aea], cx
mov edx, dword [ebp - 0xc]
push edx
push 0x41
call fcn.00423840
or dword [0x4428a0], 0x4d607f14
push 4
lea eax, [ebp - 0x10]
push 0
push eax
call fcn.00429e60
mov ecx, dword [0x43dc08]
imul ecx, ecx, 0x862613a9
push 4
lea edx, [ebp - 0x14]
push 0
mov dword [0x43dc08], ecx
push edx
call fcn.00429e60
mov eax, dword [0x43e358]
lea eax, [eax*8 - 0x775a3a2d]
add dword [0x444be8], eax
push 4
lea eax, [ebp - 0x18]
push 0
push eax
call fcn.00429e60
mov cx, word [0x44d89c]
add esp, 0x2c
movsx edx, cx
mov eax, 0xa4dc04ef
sub eax, edx
pop edi
and eax, 0x9c045d99
or dword [0x445db8], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret