Function at 0x420ec0
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x44e514]
sub esp, 0x1c
add eax, dword [0x445728]
mov dword [0x44e514], eax
movzx eax, word [0x43926a]
and eax, 0xfff7dfa6
mov word [0x43926a], ax
mov eax, dword [0x44afdc]
not eax
cmp eax, 0x25bf9dcc
jg 0x420f07
mov eax, dword [0x442108]
imul eax, eax, 0x547d9c00
xor dword [0x44480c], eax
or dword [0x44538c], 0x3160d8f
and dword [0x44e2a0], 0x67447fdd
mov eax, dword [0x443ed4]
push ebx
sar eax, 0xa
push esi
imul eax, eax, 0x5a771b52
push edi
push 0x41
push 0xc6
mov dword [ebp - 0xc], 0
add eax, 0x40c52c6f
xor dword [0x441e14], eax
call fcn.00411510
dec dword [0x441804]
mov ecx, dword [0x441804]
and ecx, 0x1a7e9bf4
mov dword [ebp - 0x10], eax
xor ecx, 0x10d7ebbb
or ecx, dword [0x442828]
push 4
mov dword [0x442828], ecx
push 0x3759
call fcn.00411510
and dword [0x44f77c], 0xbcfb4eef
mov esi, eax
lea eax, [ebp - 0x14]
push esi
push eax
call fcn.00420140
add dword [0x442fdc], 0x207f7c2
push 4
push 0x3a40
call fcn.00411510
dec dword [0x44429c]
mov edi, eax
mov edx, dword [0x44429c]
movsx ecx, word [0x437a10]
add ecx, edx
mov edx, dword [0x44ce84]
imul edx, ecx
push esi
push 4
mov dword [0x44ce84], edx
call fcn.00421a00
xor dword [0x442f98], 0xfefd8708
lea eax, [ebp - 0x18]
push edi
push eax
call fcn.00420140
mov eax, dword [0x44419c]
add eax, dword [0x43feec]
push 4
mov dword [0x43feec], eax
push 0x1751
call fcn.00411510
and dword [0x4476c0], 0x986dcc2f
mov esi, eax
push edi
push 4
call fcn.00421a00
mov ecx, dword [0x449538]
add esp, 0x40
not ecx
and ecx, 0xde3c8824
xor ecx, 0x8332aa31
cmp ecx, 0xa94aa65
jne 0x421044
add dword [0x44fde8], 0xdcf5a887
lea eax, [ebp - 0x1c]
push esi
push eax
call fcn.00420140
xor dword [0x44bb38], 0xaa93b538
push esi
push 4
call fcn.00421a00
inc word [0x436a88]
add esp, 0x10
mov ax, word [0x436a88]
mov ecx, dword [0x44e650]
sub ecx, 0x312dc769
cwde
or ecx, eax
cmp dword [0x442910], ecx
jge 0x421096
mov eax, dword [0x44a8e0]
and eax, 0x90223144
mov dword [0x447b40], eax
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
test edi, edi
je 0x4213ee
mov ecx, dword [ebp + 8]
mov esi, 0xffff804e
xor edx, edx
mov edi, edi
movsx eax, word [0x43ab08]
dec edi
and eax, 0x5e1ddffa
mov dword [ebp + 0xc], edi
xor dword [0x44a0e0], eax
movzx eax, word [0x43a184]
and eax, 0xdb963420
mov word [0x43a184], ax
mov al, byte [ecx]
inc ecx
mov byte [ebp + edx - 4], al
inc edx
mov eax, dword [0x444b84]
add eax, eax
mov dword [ebp + 8], ecx
add dword [0x44ebb0], eax
and dword [0x446bdc], 0x972d0c08
or dword [0x44528c], 0xd7ffefbf
cmp edx, 3
jne 0x4213c2
cmp dword [0x43fb3c], 0x1da393d6
jg 0x42113a
mov eax, dword [0x43efe4]
inc dword [0x43efe4]
xor eax, 0x4214f34e
cmp eax, 0x9ce0e3b5
jl 0x42113a
xor dword [0x441ce4], 0x89296257
mov cl, byte [ebp - 4]
mov al, cl
and cl, 3
shr al, 2
mov byte [ebp - 8], al
movzx eax, byte [ebp - 3]
shr al, 4
shl cl, 4
mov byte [ebp - 7], cl
add cl, al
mov dword [0x4439a0], 0xffb1de2e
mov word [0x436cea], si
mov eax, dword [0x451310]
mov byte [ebp - 7], cl
mov word [0x4352ea], ax
movzx eax, byte [ebp - 3]
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
mov eax, dword [0x44a634]
and eax, 0xaa3b1058
cmp eax, 0x9409ada7
jl 0x4211a9
mov eax, dword [0x451478]
and eax, dword [0x447f60]
mov dword [0x451478], eax
dec dword [0x447f60]
movzx eax, byte [ebp - 2]
xor esi, esi
mov edi, dword [ebp - 0x10]
shr al, 6
add byte [ebp - 6], al
movzx eax, word [0x43cba6]
xor eax, 0x5bb42941
mov word [0x43cba6], ax
movzx eax, byte [ebp - 2]
and al, 0x3f
mov byte [ebp - 5], al
add dword [0x44ebe4], 0x5af58c69
imul eax, dword [0x449518], 0xf9272e52
mov dword [0x449518], eax
lea esp, [esp]
or dword [0x44ffcc], 0x19968571
cmp byte [ebp + 0x10], 0
je 0x421298
mov cl, byte [ebp + esi - 8]
cmp cl, 0x3d
jbe 0x421298
movzx eax, word [0x43e7ac]
xor eax, 0xd4dd7ed8
mov word [0x43e7ac], ax
cmp cl, 0x3e
jne 0x421250
mov eax, dword [0x44b480]
mov ecx, ebx
add eax, dword [0x4448e0]
mov dword [0x4448e0], eax
lea eax, [ebp - 0x14]
push eax
call fcn.0042b280
mov eax, 0x4ed9
mov word [0x435c22], ax
jmp 0x421280
inc word [0x43b3cc]
mov ecx, 0x14295eb2
mov ax, word [0x43b3cc]
cwde
sub ecx, eax
lea eax, [ebp - 0x18]
mov dword [0x44fad4], ecx
mov ecx, ebx
push eax
call fcn.0042b280
add dword [0x445e4c], 0xf2a11177
movzx eax, word [0x43ac90]
imul eax, eax, 0x26a0
mov word [0x43ac90], ax
jmp 0x421328
mov eax, dword [0x446638]
inc dword [0x446638]
and eax, 0x5676817
cmp eax, 0xc5f7b3fe
jl 0x4212dc
inc word [0x4392c4]
mov ax, word [0x4392c4]
mov ecx, dword [0x442cd0]
shl ecx, 9
cwde
or ecx, 0xf70dfe6e
and eax, 0x88944b9d
cmp ecx, eax
je 0x4212dc
dec word [0x43b2d2]
movzx eax, byte [ebp + esi - 8]
mov ecx, ebx
movzx eax, byte [eax + edi]
push eax
call fcn.0042cc30
inc word [0x43d8e0]
mov cx, word [0x43d8e0]
inc word [0x4383e8]
movzx eax, word [0x4383e8]
movsx edx, ax
movsx eax, cx
imul edx, eax
mov eax, dword [0x43f6b4]
xor edx, eax
movzx eax, word [0x438416]
sub eax, edx
mov word [0x438416], ax
movzx eax, word [0x438ed8]
inc esi
or eax, 0xff3fffef
mov word [0x438ed8], ax
inc dword [0x444dc4]
mov edx, dword [0x444dc4]
dec dword [0x441408]
mov eax, dword [0x441408]
movsx ecx, word [0x43d926]
sar ecx, 7
and ecx, eax
xor ecx, edx
cmp ecx, 0xcaaa35a
jg 0x421372
or dword [0x4504e8], 0x926929c3
cmp esi, 4
jne 0x4211f0
mov ecx, dword [0x4516cc]
xor edx, edx
mov eax, dword [0x43f390]
add ecx, 0x698a86f6
mov edi, dword [ebp + 0xc]
and ecx, 0xd5bb7183
imul eax, ecx
mov esi, 0xffff804e
mov dword [0x43f390], eax
mov ecx, dword [0x44c7ac]
movzx eax, word [0x437c72]
and ecx, 0x258861ec
add eax, ecx
mov ecx, dword [ebp + 8]
mov word [0x437c72], ax
mov eax, dword [0x441ba8]
shl eax, 5
cmp eax, 0x2b53a4a0
jge 0x4213e3
movzx eax, word [0x43daaa]
or eax, 0xdc5190a9
mov word [0x43daaa], ax
test edi, edi
jne 0x4210b0
mov dword [ebp - 0xc], edx
add dword [0x442020], 0x98a550c3
mov esi, dword [ebp - 0xc]
test esi, esi
je 0x42186a
add dword [0x446b00], 0x3274586d
mov ecx, dword [0x44cef4]
movzx eax, word [0x437726]
xor ecx, 0x9f693aeb
sub eax, ecx
mov word [0x437726], ax
cmp esi, 3
jge 0x42149e
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
jmp 0x421450
movzx eax, word [0x43cf48]
xor eax, 0x18fcbf61
mov word [0x43cf48], ax
mov eax, dword [0x44a390]
and eax, dword [0x43fe80]
mov dword [0x43fe80], eax
dec dword [0x44a390]
movsx eax, word [0x43d51a]
mov ecx, dword [0x443330]
add eax, 0x4e56bd60
and ecx, eax
mov eax, dword [0x449588]
and eax, ecx
mov dword [0x443330], eax
dec ebx
jne 0x421450
mov ebx, dword [ebp + 0x14]
mov eax, dword [0x448930]
mov ecx, 0xa08ec21c
sub ecx, eax
or ecx, 0x146b6131
and dword [0x43f488], ecx
inc dword [0x448930]
movzx eax, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
movzx eax, word [0x435150]
imul eax, eax, 0xb30aa68e
mov word [0x435150], ax
movzx eax, byte [ebp - 4]
and al, 3
shl al, 4
mov byte [ebp - 7], al
imul eax, dword [0x442710], 0x13a1796e
mov dword [0x442710], eax
movzx eax, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
movsx eax, word [0x43b302]
mov ecx, dword [0x44e360]
add eax, 0x98ea8f61
xor ecx, eax
cmp ecx, 0x8249437c
jl 0x421557
movsx eax, word [0x43c778]
dec word [0x43c778]
cmp eax, 0xbabfd7fd
jne 0x42154d
mov ax, word [0x43ca2a]
mov ecx, dword [0x444930]
cwde
add ecx, eax
mov word [0x43ca2a], cx
inc dword [0x444930]
jmp 0x421557
xor dword [0x44a654], 0xb1323213
mov al, byte [ebp - 3]
xor edi, edi
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
mov eax, dword [0x43eb54]
and eax, 0x7a8a51e0
xor dword [0x44a2f8], eax
inc dword [0x43eb54]
mov cl, byte [ebp - 2]
mov al, cl
and cl, 0x3f
shr al, 6
add byte [ebp - 6], al
mov eax, 0xffffc26d
mov word [0x43b736], ax
mov byte [ebp - 5], cl
dec dword [0x44ebd4]
mov eax, dword [0x44ebd4]
and eax, 0x690008
mov dword [0x440fbc], eax
or dword [0x4416e0], 0x46477a60
mov dword [0x44650c], 0x7a5c2ff3
test esi, esi
js 0x42177b
mov edx, 0x49af
lea esp, [esp]
imul eax, dword [0x44a118], 0x18a6ac3d
and eax, 0xad8430b5
cmp eax, 0x914edd47
jl 0x421601
movsx eax, word [0x438fe6]
mov ecx, 0x7318b6a1
sub ecx, eax
cmp ecx, 0x1aa98190
jle 0x421601
mov eax, dword [0x44b460]
cmp byte [ebp + 0x10], 0
je 0x4216ca
mov cl, byte [ebp + edi - 8]
cmp cl, 0x3d
jbe 0x4216ca
mov eax, dword [0x44134c]
imul eax, eax, 0xb353960a
and dword [0x450f38], eax
cmp cl, 0x3e
jne 0x421664
lea eax, [ebp - 0x14]
mov word [0x43ac74], dx
push eax
mov ecx, ebx
call fcn.0042b280
mov eax, dword [0x450120]
and eax, dword [0x4420b0]
mov dword [0x450120], eax
imul eax, dword [0x444148], 0x1e6782fa
mov dword [0x444148], eax
jmp 0x421727
movsx ecx, word [0x43c56a]
movsx eax, word [0x436a44]
sar ecx, 9
not eax
add eax, ecx
cmp dword [0x445d98], eax
je 0x421692
imul eax, dword [0x444b14], 0x62be341f
mov dword [0x444b14], eax
jmp 0x4216a4
movzx eax, word [0x43a964]
sub eax, 0x7d8502f9
mov word [0x43a964], ax
lea eax, [ebp - 0x18]
mov ecx, ebx
push eax
call fcn.0042b280
mov dword [0x44818c], 0x7c1d545c
imul eax, dword [0x444148], 0x1e6782fa
mov dword [0x444148], eax
jmp 0x421727
imul eax, dword [0x44cf90], 0x270c769c
mov ecx, dword [ebp - 0x10]
mov dword [0x44cf90], eax
movzx eax, byte [ebp + edi - 8]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.0042cc30
mov ax, word [0x43a79c]
movsx ecx, ax
mov eax, dword [0x449588]
dec dword [0x449588]
cmp eax, ecx
jl 0x421727
imul eax, dword [0x450d10], 0x31fc867a
inc dword [0x450d10]
or eax, 0x6117460d
cmp eax, 0x10003400
je 0x421727
mov ax, word [0x43a47e]
xor dword [0x4435cc], 0x20040000
inc edi
cmp dword [0x446b80], 0xbafab24d
jne 0x42174f
imul eax, dword [0x444ed0], 0x3defba3f
mov dword [0x444ed0], eax
jmp 0x421764
mov eax, dword [0x44cfac]
or eax, dword [0x44160c]
or eax, 0x4e5d4588
mov dword [0x44cfac], eax
mov dword [0x44650c], 0x7a5c2ff3
mov edx, 0x49af
cmp edi, esi
jle 0x4215d0
and dword [0x44ff18], 0x74ca21b5
cmp esi, 3
jge 0x421849
mov edi, 3
sub edi, esi
jmp 0x4217a0
add dword [0x44017c], 0x793da8cd
mov ecx, dword [0x44d318]
movzx eax, word [0x439cc4]
xor ecx, 0xcdf67ea7
or ecx, 0x88a65227
sub eax, ecx
cmp byte [ebp + 0x10], 0
mov word [0x439cc4], ax
je 0x421810
movsx eax, word [0x439d7c]
mov ecx, 0xedf56455
sar eax, 1
sub ecx, eax
lea eax, [ebp - 0x1c]
and ecx, 0x64b2637f
add dword [0x445a18], ecx
mov ecx, ebx
push eax
call fcn.0042b280
mov ax, word [0x43c4a8]
mov ecx, dword [0x450fcc]
cwde
xor ecx, eax
mov word [0x43c4a8], cx
jmp 0x42182d
add dword [0x442938], 0x7439733e
mov ecx, ebx
push 0x3d
call fcn.0042cc30
xor dword [0x441cc8], 0xfcd779de
movsx eax, word [0x43a978]
xor eax, 0x200c8
shl eax, 9
or dword [0x445360], eax
dec edi
jne 0x4217a0
mov eax, dword [0x451580]
mov ecx, dword [0x442b98]
sar eax, 4
add eax, 0xc78ebb26
and ecx, eax
and ecx, 0x6cec217c
mov dword [0x442b98], ecx
mov ecx, dword [0x445100]
mov eax, dword [0x44184c]
or ecx, eax
push dword [ebp - 0x10]
or dword [0x44d4d0], ecx
push 0x41
call fcn.00421a00
movzx eax, word [0x43bcfc]
add eax, 0x908cc72
mov word [0x43bcfc], ax
lea eax, [ebp - 0x14]
push 4
push 0
push eax
call fcn.0041f650
mov eax, dword [0x44b1d8]
add esp, 0x14
not eax
add eax, 0x6cbb4a10
pop edi
pop esi
pop ebx
cmp eax, 0x5f850d07
jge 0x4218cb
xor dword [0x44baa0], 0xa0a1cf2e
jmp 0x4218ec
mov ecx, dword [0x448748]
sub ecx, dword [0x44d604]
movzx eax, word [0x43acfa]
xor ecx, 0xc4a770d2
and eax, ecx
mov word [0x43acfa], ax
push 4
lea eax, [ebp - 0x18]
push 0
push eax
call fcn.0041f650
imul eax, dword [0x443b1c], 0xe480800c
push 4
push 0
mov dword [0x443b1c], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0041f650
add esp, 0x18
or dword [0x44e480], 0x11cbdd82
mov esp, ebp
pop ebp
ret