Function at 0x42ed80
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
mov ecx, 1
add dword [0x43c4a0], ecx
mov eax, dword [0x43c4a0]
or eax, 0xbc9e2c50
mov dword [0x43a1e8], eax
movzx edx, word [0x4529ce]
movsx eax, dx
movzx edx, word [0x457c34]
sub eax, edx
add eax, 0x307a92e0
mov word [0x4529ce], ax
add word [0x457c34], cx
mov eax, dword [0x438f4c]
imul eax, eax, 0x4b056645
sub eax, 0x4de0dd5b
mov dword [0x438348], eax
add dword [0x438f4c], ecx
mov eax, dword [0x446850]
or eax, 0xeff59fbf
sar eax, 3
xor dword [0x4443ac], eax
mov ecx, dword [0x449674]
imul ecx, ecx, 0x59b4064e
push 0x41
mov dword [0x449674], ecx
add dword [0x43a7bc], 0x7228e00
push 0xfff
xor ebx, ebx
call fcn.00427cf0
mov edx, dword [0x443c90]
sar edx, 1
or edx, 0x899e3c95
push 4
mov word [0x451366], dx
push 0x1f2c
mov dword [ebp - 0xc], eax
call fcn.00427cf0
mov esi, eax
mov eax, dword [0x437210]
imul eax, eax, 0xa195a3bf
lea ecx, [ebp - 0x10]
push esi
mov dword [0x437210], eax
push ecx
call fcn.0042afe0
xor dword [0x436968], 0x18819688
push 4
push 0x2333
call fcn.00427cf0
mov edx, dword [0x436b34]
imul edx, edx, 0xadfaeaa2
push esi
mov dword [0x436b34], edx
push 4
mov edi, eax
call fcn.00414e50
lea eax, [ebp - 0x14]
push edi
mov dword [0x449c24], 0x25b967b1
push eax
call fcn.0042afe0
mov ecx, dword [0x438394]
imul ecx, ecx, 0x62427905
push 4
mov dword [0x438394], ecx
push 0x362c
call fcn.00427cf0
xor dword [0x447798], 0x1720a2d3
push edi
push 4
mov esi, eax
call fcn.00414e50
movzx edx, word [0x4588f2]
movsx eax, dx
add esp, 0x40
cmp eax, 0xa72b3750
jne 0x42ef05
mov eax, dword [0x44c4f0]
mov ecx, dword [0x43af38]
imul eax, eax, 0x24b9327a
sub ecx, eax
and dword [0x43ed9c], ecx
lea ecx, [ebp - 0x18]
push esi
push ecx
call fcn.0042afe0
mov edx, dword [0x441788]
imul edx, edx, 0xf19e9b79
push esi
mov dword [0x441788], edx
push 4
call fcn.00414e50
mov eax, dword [0x43f55c]
imul eax, eax, 0xae38bffe
add esp, 0x10
mov dword [0x43f55c], eax
cmp dword [ebp + 0xc], ebx
je 0x42f3a1
jmp 0x42ef50
mov ecx, dword [0x43a0b4]
and ecx, 0xa45cdeff
cmp ecx, 0x61383c96
mov edi, 1
jl 0x42ef99
add dword [0x4479a8], edi
mov edx, dword [0x4479a8]
cmp edx, 0x4d0dde
jl 0x42ef99
mov ax, word [0x44def0]
movsx ecx, ax
or ecx, 0x24a23e69
mov dword [0x446c94], ecx
add word [0x44def0], di
mov edx, dword [0x438e64]
sub dword [ebp + 0xc], edi
sub edx, 0x6a5cbf1f
cmp edx, 0xdc52f294
jle 0x42efba
add dword [0x437fb0], 0xf7d9ffee
mov eax, dword [ebp + 8]
mov cl, byte [eax]
mov dx, word [0x453776]
movsx eax, dx
and eax, 0x9a51e2e6
cmp eax, 0x10184c61
mov byte [ebp + ebx - 4], cl
jge 0x42f00b
mov cx, word [0x456652]
mov edx, dword [0x44cbd8]
add dword [0x44cbd8], edi
movsx eax, cx
add eax, 0x62dd899d
xor edx, eax
cmp edx, 0xff37e4b3
jne 0x42f00b
add word [0x450c42], di
mov ax, word [0x450c42]
movzx ecx, word [0x457ddc]
add dword [ebp + 8], edi
sub ecx, 0x5c040042
mov word [0x457ddc], cx
dec dword [0x445164]
mov eax, dword [0x438dac]
mov edx, dword [0x445164]
sar eax, 7
and edx, eax
add ebx, edi
cmp edx, 0xc4441881
jge 0x42f04c
mov dword [0x444140], 0xfba5101e
cmp ebx, 3
jne 0x42f387
or dword [0x439fd4], 0x602fc258
movzx ecx, word [0x455132]
movzx eax, byte [ebp - 4]
imul ecx, ecx, 0xebfd9ffb
movzx edx, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
mov word [0x455132], cx
mov ecx, dword [0x43f6e0]
sar ecx, 0xa
and dl, bl
shl dl, 4
mov byte [ebp - 7], dl
mov eax, 0x61447dfd
sub eax, ecx
or dword [0x43d7f0], eax
mov ecx, dword [0x4421f4]
mov eax, dword [0x445cb0]
movzx edx, byte [ebp - 3]
sar ecx, 0xa
add ecx, 0xa056527f
or eax, ecx
shr dl, 4
add byte [ebp - 7], dl
add dword [0x43fa0c], eax
movzx eax, byte [ebp - 3]
and al, 0xf
add al, al
add al, al
mov byte [ebp - 6], al
add word [0x4540fa], di
movzx ecx, word [0x4540fa]
movzx edx, word [0x4546b0]
movsx eax, cx
or eax, 0x215b5ee3
add edx, eax
movzx eax, byte [ebp - 2]
shr al, 6
add byte [ebp - 6], al
mov word [0x4546b0], dx
mov eax, dword [0x445918]
mov ecx, dword [0x4369f4]
xor eax, 0xffffd57f
or eax, 0x1bb0d57d
add ecx, 0x22619ab6
cmp ecx, eax
jl 0x42f13a
add dword [0x44a4e0], edi
mov edx, dword [0x4373e0]
mov eax, dword [0x44a4e0]
xor edx, eax
mov dword [0x4373e0], edx
movzx edx, word [0x453724]
mov cl, byte [ebp - 2]
and cl, 0x3f
mov byte [ebp - 5], cl
mov ecx, dword [0x43adac]
movsx eax, dx
add ecx, eax
mov word [0x453724], cx
add dword [0x43adac], edi
add word [0x455380], di
mov ecx, dword [0x44bd00]
movzx edx, word [0x455380]
movsx eax, dx
shl ecx, 9
add eax, ecx
or eax, 0x4d63e7a2
xor esi, esi
xor dword [0x44d238], eax
jmp 0x42f190
add word [0x44e44c], di
mov ax, word [0x44e44c]
movzx ecx, word [0x4514ee]
cwde
or eax, 0xf5ca99f1
xor ecx, eax
cmp byte [ebp + 0x10], 0
mov word [0x4514ee], cx
je 0x42f2b4
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x42f2b4
mov edx, dword [0x444958]
imul edx, edx, 0x88f3ce84
mov dword [0x444958], edx
cmp al, 0x3e
jne 0x42f27e
add dword [0x43b254], edi
mov eax, dword [0x43b254]
cmp eax, 0xcbe4cad5
jle 0x42f21a
mov ecx, dword [0x438a8c]
mov eax, dword [0x43d018]
xor ecx, 0x803c3e61
sar eax, 4
or eax, ecx
mov ecx, dword [0x449a48]
imul ecx, eax
mov dword [0x449a48], ecx
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x10]
push edx
call fcn.00415220
mov eax, dword [0x4408f4]
sar eax, 9
imul eax, eax, 0xe7114705
cmp eax, 0xeee5fff6
jne 0x42f272
dec word [0x4536b2]
mov cx, word [0x4536b2]
movsx eax, cx
lea ecx, [eax - 0x6ebd7c7a]
mov eax, dword [0x44d774]
movzx edx, word [0x4558b6]
and eax, ecx
imul edx, eax
mov word [0x4558b6], dx
add dword [0x44d774], edi
jmp 0x42f29e
add dword [0x43b3b0], 0xfdbf8000
jmp 0x42f29e
add dword [0x44b70c], 0xab82ff9c
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x14]
push eax
call fcn.00415220
and dword [0x43b8a0], 0xa91dc2e5
movzx ecx, word [0x454b9c]
add ecx, 0x6caa31f9
mov word [0x454b9c], cx
jmp 0x42f2e6
mov edx, dword [0x43ac14]
movzx eax, byte [ebp + esi - 8]
mov ecx, dword [ebp - 0xc]
sub edx, 0x27206c6e
mov dword [0x441c0c], edx
movzx edx, byte [eax + ecx]
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00408770
mov eax, 0xffff99ae
mov word [0x454928], ax
mov cx, word [0x44f2a2]
movsx eax, cx
shl eax, 5
add eax, 0x468d504
or eax, 0xf28aca9b
and dword [0x4440d4], eax
and dword [0x44abc8], 0x11580088
add esi, edi
cmp esi, 4
jne 0x42f190
mov dx, word [0x45462e]
movsx eax, dx
cmp eax, 0xc97597bc
jge 0x42f333
add dword [0x44cc1c], 0x73df6ffb
mov ecx, dword [0x43a1b0]
mov edx, dword [0x436af0]
add dword [0x436af0], edi
mov eax, 0x99354f89
sub eax, ecx
or edx, 0x3850d025
xor ebx, ebx
cmp edx, eax
jge 0x42f387
mov ax, word [0x456436]
mov ecx, dword [0x43c75c]
add dword [0x43c75c], edi
cwde
imul eax, eax, 0x583172a
sub ecx, eax
cmp ecx, 0xd7bcea5d
jne 0x42f387
mov edx, 0xffffb6eb
mov word [0x457ada], dx
mov eax, dword [0x442330]
imul eax, eax, 0x6a94f1ea
cmp dword [ebp + 0xc], 0
mov dword [0x442330], eax
jne 0x42ef50
mov dword [0x44cdfc], 0xd22df661
test ebx, ebx
je 0x42f81e
and dword [0x4466b0], 0x4c67778b
cmp ebx, 3
mov dword [0x4465c4], 0xd12beff4
jge 0x42f43b
mov esi, 3
sub esi, ebx
push esi
lea eax, [ebp + ebx - 4]
push 0
push eax
call fcn.0041c1d0
add esp, 0xc
mov eax, 0x92db63e1
mov ecx, 0xc0024240
lea ecx, [ecx]
or dword [0x43b080], eax
movzx edx, word [0x457ed4]
add edx, 0x14e79030
mov word [0x457ed4], dx
mov edi, 1
add dword [0x445864], edi
mov edx, dword [0x445864]
add edx, 0x6f73d77
or edx, 0xf205f242
cmp edx, 0x3a319bde
jne 0x42f435
and dword [0x44540c], ecx
sub esi, edi
jne 0x42f3f0
jmp 0x42f440
mov edi, 1
mov eax, dword [0x43d7dc]
mov ecx, dword [0x43af30]
imul eax, eax, 0xc981bb0f
or ecx, eax
or ecx, 0xa7ad676f
mov dword [0x43af30], ecx
add dword [0x43d7dc], edi
mov dl, byte [ebp - 4]
shr dl, 2
mov byte [ebp - 8], dl
add dword [0x43d7fc], edi
mov eax, dword [0x43d7fc]
cmp eax, 0xb843bcfc
jg 0x42f48a
add dword [0x447adc], 0xab7031c
mov edx, dword [0x43c248]
movzx ecx, byte [ebp - 4]
imul edx, edx, 0xe409747c
mov al, byte [ebp - 3]
and cl, 3
shl cl, 4
mov byte [ebp - 7], cl
mov dword [0x43c248], edx
shr al, 4
add byte [ebp - 7], al
mov eax, dword [0x44d088]
movzx ecx, word [0x454844]
xor eax, 0x480eff81
imul ecx, eax
mov word [0x454844], cx
add dword [0x44d088], edi
movzx eax, word [0x45626e]
movzx edx, byte [ebp - 3]
and dl, 0xf
add dl, dl
cwde
add dl, dl
mov byte [ebp - 6], dl
add eax, 0x43f90c8
or dword [0x43faf0], eax
add word [0x45626e], di
movzx ecx, byte [ebp - 2]
shr cl, 6
add byte [ebp - 6], cl
or dword [0x43ad5c], 0x40016582
movzx eax, word [0x45253a]
movzx edx, byte [ebp - 2]
movsx ecx, ax
imul ecx, ecx, 0xf36fee69
and dl, 0x3f
mov byte [ebp - 5], dl
or ecx, 0xe58138a2
mov dword [0x4457f8], ecx
mov edx, dword [0x44abec]
imul edx, edx, 0x42791012
mov dword [0x44abec], edx
movzx eax, word [0x454850]
or eax, 0x1af90526
xor esi, esi
mov word [0x454850], ax
test ebx, ebx
jl 0x42f6a7
jmp 0x42f570
mov cx, word [0x458aa2]
add word [0x458aa2], di
movsx edx, cx
or edx, 0x10089217
cmp edx, 0x7edbad5f
jg 0x42f599
or dword [0x442784], 0xf3767140
cmp byte [ebp + 0x10], 0
je 0x42f62a
mov al, byte [ebp + esi - 8]
cmp al, 0x3d
jbe 0x42f62a
mov ecx, 0xffffc49c
mov word [0x451db6], cx
cmp al, 0x3e
jne 0x42f5ea
add dword [0x43c9ec], edi
mov eax, dword [0x43c9ec]
mov ecx, dword [ebp + 0x14]
imul eax, eax, 0x42383892
or dword [0x43e540], eax
lea edx, [ebp - 0x10]
push edx
call fcn.00415220
mov dword [0x44b634], 0x98d0a6df
jmp 0x42f616
mov ax, word [0x4596b6]
movsx ecx, ax
lea edx, [ecx + ecx - 0x1bf44a92]
mov ecx, dword [ebp + 0x14]
lea eax, [ebp - 0x14]
mov dword [0x442890], edx
push eax
call fcn.00415220
and dword [0x43a728], 0x9e24207e
mov ecx, dword [0x440ee0]
or ecx, 0x5b44a552
mov dword [0x43e374], ecx
jmp 0x42f665
movzx edx, word [0x4542e6]
movzx eax, byte [ebp + esi - 8]
mov ecx, dword [ebp - 0xc]
xor edx, 0x342da4ed
mov word [0x4542e6], dx
movzx edx, byte [eax + ecx]
mov ecx, dword [ebp + 0x14]
push edx
call fcn.00408770
movzx eax, word [0x457672]
xor eax, 0xf600734e
mov word [0x457672], ax
mov cx, word [0x456aaa]
movsx eax, cx
and eax, 0x752d8f7a
xor eax, 0x4f89fe1b
sub dword [0x443e7c], eax
xor dword [0x439df0], 0xf4c61a3f
movzx edx, word [0x454850]
add esi, edi
or edx, 0x1af90526
cmp esi, ebx
mov word [0x454850], dx
jle 0x42f570
cmp ebx, 3
mov dword [0x44a648], 0x6169a8d7
jge 0x42f7de
mov esi, 3
sub esi, ebx
mov ebx, 0x26ab05fa
jmp 0x42f6d0
mov eax, dword [0x44a788]
not eax
cmp eax, 0xaa600f3b
jge 0x42f6fa
dec dword [0x443584]
mov ecx, dword [0x443584]
cmp ecx, 0x14bb962f
jne 0x42f705
mov edx, dword [0x44abac]
jmp 0x42f705
mov eax, 0x5407
mov word [0x457690], ax
mov eax, dword [0x441f60]
mov ecx, dword [0x4467dc]
not eax
xor ecx, eax
xor ecx, 0x833b588b
cmp byte [ebp + 0x10], 0
mov dword [0x4467dc], ecx
mov ecx, dword [ebp + 0x14]
je 0x42f762
add dword [0x44d704], ebx
lea edx, [ebp - 0x18]
push edx
call fcn.00415220
mov ecx, dword [0x4405d0]
sar ecx, 9
mov eax, 0x10fb3b8a
sub eax, ecx
mov ecx, dword [0x44bc50]
movzx edx, word [0x4558ee]
and ecx, eax
or edx, ecx
mov word [0x4558ee], dx
jmp 0x42f7b1
and dword [0x43bc34], 0xb822e782
push 0x3d
call fcn.00408770
mov eax, dword [0x44384c]
mov ecx, dword [0x445808]
imul eax, eax, 0xb3a0489e
not ecx
cmp ecx, eax
jl 0x42f7b1
add word [0x44e4ec], di
mov dx, word [0x44e4ec]
movsx eax, dx
add eax, 0x7fcf4d43
cmp eax, 0x653b3d37
jle 0x42f7b1
or dword [0x44855c], 0xba4cfd45
add dword [0x449eac], edi
mov eax, dword [0x449eac]
mov ecx, dword [0x4446b0]
imul eax, eax, 0x6c687b61
xor ecx, eax
or dword [0x43e170], ecx
add dword [0x4446b0], edi
sub esi, edi
jne 0x42f6d0
mov cx, word [0x453a12]
mov dx, word [0x4531b4]
movsx eax, cx
movsx ecx, dx
sub ecx, eax
cmp ecx, 0xc057f147
jne 0x42f808
add dword [0x43b86c], 0x13e0501
jmp 0x42f81e
mov edx, dword [0x44b9e0]
sar edx, 2
mov eax, 0x70834ee3
sub eax, edx
add dword [0x44293c], eax
mov eax, dword [ebp - 0xc]
add dword [0x446c78], 0xf0c626e
push eax
push 0x41
call fcn.00414e50
add dword [0x442390], 0x55a6ee1e
push 4
lea ecx, [ebp - 0x10]
push 0
push ecx
call fcn.0041c1d0
mov dx, word [0x450f64]
movsx eax, dx
add eax, 0xc152883f
xor dword [0x4369a0], eax
push 4
lea eax, [ebp - 0x14]
push 0
or esi, 0xffffffff
add word [0x450f64], si
push eax
call fcn.0041c1d0
add dword [0x44950c], esi
mov eax, dword [0x44950c]
movzx ecx, word [0x455c66]
push 4
add eax, 0x253a66bd
lea edx, [ebp - 0x18]
or ecx, eax
push 0
mov word [0x455c66], cx
push edx
call fcn.0041c1d0
mov eax, dword [0x448944]
add esp, 0x2c
imul eax, eax, 0xa3704e1c
pop edi
pop esi
mov dword [0x448944], eax
pop ebx
mov esp, ebp
pop ebp
ret