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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x45c53c]
sub esp, 0x1c
and eax, 0xaa433cbe
xor eax, 0x5a126dc1
add dword [0x46d6f4], eax
movsx eax, word [0x4719a6]
dec word [0x4719a6]
sub eax, 0x3c9ea2ff
cmp eax, 0xc7c6c518
jge 0x424de5
cmp dword [0x461408], 0x818006
jne 0x424dd3
inc dword [0x46d49c]
mov eax, dword [0x46c960]
mov eax, dword [0x458b28]
jmp 0x424de5
dec dword [0x468f7c]
inc word [0x477b56]
mov eax, dword [0x46a31c]
xor dword [0x46f550], 0xa4f36be3
inc word [0x477278]
movzx ecx, word [0x477278]
movzx eax, word [0x4759ca]
xor ecx, 0x25004440
push ebx
push esi
push edi
or ecx, eax
xor edi, edi
mov word [0x4759ca], cx
push 0x41
mov dword [0x464e7c], 0x13b5ce12
add dword [0x46f148], 0x1202185
push 0x713
mov dword [ebp - 0xc], edi
call fcn.0040d520
movsx ecx, word [0x47273a]
shl ecx, 6
sub dword [0x46de20], ecx
push 4
push 0x1745
mov dword [ebp - 0x10], eax
call fcn.0040d520
dec dword [0x463b38]
add esp, 0x10
mov ecx, dword [0x463b38]
mov esi, eax
cmp ecx, 0x8f87f2ba
jle 0x424e7f
xor dword [0x46c6b0], 0x6f468387
jmp 0x424eaa
dec dword [0x45ea88]
mov eax, dword [0x45ea88]
mov ecx, dword [0x46ad1c]
xor ecx, eax
mov eax, dword [0x46ab78]
xor ecx, 0x7ccf578f
shl eax, 7
cmp eax, ecx
jl 0x424eaa
mov ax, word [0x47241a]
lea eax, [ebp - 0x14]
push esi
push eax
call fcn.0042d750
mov eax, dword [0x463c18]
add esp, 8
inc dword [0x463c18]
cmp eax, 0xbefe1980
jge 0x424efb
mov eax, dword [0x45c2dc]
lea eax, [eax*2 + 0x5d3701e4]
cmp eax, 0x10c5b696
jne 0x424efb
movzx eax, word [0x472f24]
mov ecx, dword [0x460eb8]
cwde
and ecx, eax
movzx eax, word [0x47c100]
sub eax, ecx
mov word [0x47c100], ax
push 4
push 0x309a
call fcn.0040d520
mov cx, word [0x47beae]
mov ebx, eax
movsx edx, cx
mov ecx, dword [0x46b670]
sub edx, ecx
push esi
mov word [0x47beae], dx
push 4
call fcn.0041b660
mov ecx, dword [0x4685d0]
mov eax, dword [0x45e8f0]
add eax, ecx
or dword [0x46b620], eax
lea eax, [ebp - 0x18]
push ebx
push eax
call fcn.0042d750
movsx eax, word [0x4705be]
add esp, 0x18
sar eax, 9
cmp eax, 0x5c22775
je 0x424f6d
movzx eax, word [0x47b29e]
sub eax, 0x32421580
mov word [0x47b29e], ax
push 4
push 0x2950
call fcn.0040d520
imul ecx, dword [0x45d340], 0x6241f591
mov esi, eax
push ebx
push 4
mov dword [0x45d340], ecx
call fcn.0041b660
add dword [0x45efec], 0x523c65d4
lea eax, [ebp - 0x1c]
push esi
push eax
call fcn.0042d750
inc word [0x472258]
mov ax, word [0x472258]
movsx ecx, word [0x47508c]
cwde
sub eax, ecx
movzx ecx, word [0x479ebe]
add eax, 0xe2771e3e
xor ecx, eax
push esi
mov word [0x479ebe], cx
push 4
call fcn.0041b660
mov ecx, dword [0x45e2e8]
add esp, 0x20
movsx eax, word [0x47490a]
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x14]
shl ecx, 7
and eax, ecx
sub dword [0x468a04], eax
test edx, edx
je 0x4253ae
mov esi, 0xffffb2e2
lea esp, [esp]
xor dword [0x4648a8], 0x1ab533fb
dec edx
dec dword [0x4651a0]
mov ecx, dword [0x4651a0]
mov eax, dword [0x45ce5c]
xor ecx, 0x2c08e24c
dec dword [0x45ce5c]
add eax, 0x5179e5e8
xor eax, 0xaaccb513
mov dword [ebp + 0xc], edx
cmp ecx, eax
je 0x425069
inc word [0x47768e]
mov ax, word [0x47768e]
cwde
cmp eax, 0x1010850a
je 0x425069
mov ax, word [0x4746b8]
mov eax, dword [0x46f3cc]
mov ecx, dword [ebp + 8]
mov al, byte [ecx]
inc ecx
mov byte [ebp + edi - 4], al
inc edi
and dword [0x464774], 0x80725b09
and dword [0x46415c], 0x759e33e7
mov eax, dword [0x463af8]
mov dword [ebp + 8], ecx
add eax, 0x50619488
movzx ecx, word [0x47723c]
or ecx, eax
mov word [0x47723c], cx
inc dword [0x463af8]
cmp edi, 3
jne 0x425388
mov ecx, dword [0x461450]
movsx eax, word [0x47afac]
not ecx
xor ecx, 0xea870b1f
sub eax, 0x7d1c723e
cmp eax, ecx
jg 0x4250f3
inc word [0x474826]
mov ax, word [0x474826]
movsx ecx, ax
mov eax, dword [0x46c7d8]
add eax, 0x2b47e10f
add eax, ecx
mov dword [0x46c7d8], eax
movzx eax, byte [ebp - 4]
shr al, 2
mov byte [ebp - 8], al
movzx eax, word [0x471618]
movsx ecx, word [0x47c5aa]
cwde
xor ecx, eax
mov dword [0x46d7c0], ecx
dec word [0x47c5aa]
inc word [0x471618]
mov cl, byte [ebp - 4]
movzx eax, byte [ebp - 3]
and cl, 3
shr al, 4
shl cl, 4
mov byte [ebp - 7], cl
add cl, al
mov word [0x475cde], si
xor esi, esi
imul eax, dword [0x461458], 0xddaeb2ac
mov byte [ebp - 7], cl
mov dword [0x461458], eax
mov ecx, dword [0x466294]
movzx eax, byte [ebp - 3]
xor ecx, 0x21b455c0
and al, 0xf
shl al, 2
mov byte [ebp - 6], al
mov eax, dword [0x45cf98]
imul eax, ecx
mov dword [0x45cf98], eax
dec dword [0x466294]
mov ecx, dword [0x46b900]
movzx eax, byte [ebp - 2]
add ecx, 0x73bd4df6
shr al, 6
or ecx, 0x4d9cf3e8
add byte [ebp - 6], al
movzx eax, word [0x4730d0]
xor eax, ecx
mov word [0x4730d0], ax
dec dword [0x46b900]
movzx eax, byte [ebp - 2]
and al, 0x3f
mov byte [ebp - 5], al
mov eax, dword [0x460990]
imul eax, dword [0x45a098]
mov dword [0x45a098], eax
dec dword [0x460990]
and dword [0x46ffdc], 0xc2efb13
jmp 0x4251e0
dec dword [0x466eec]
mov eax, dword [0x466eec]
or eax, 0xa63a01e6
imul eax, dword [0x46540c]
cmp byte [ebp + 0x10], 0
mov dword [0x46540c], eax
je 0x4252b2
mov cl, byte [ebp + esi - 8]
cmp cl, 0x3d
jbe 0x4252b2
mov eax, dword [0x46cda8]
and eax, 0x4fe1464d
xor eax, 0x555e5a30
sub dword [0x467258], eax
cmp cl, 0x3e
jne 0x42527d
movsx eax, word [0x477260]
sub eax, 0x50cd30c8
cmp eax, 0xadb6d9c3
jge 0x42525a
mov eax, dword [0x46e0b8]
movsx ecx, word [0x478ff2]
imul eax, eax, 0xf2b3363c
xor ecx, eax
or dword [0x460adc], ecx
lea eax, [ebp - 0x14]
mov ecx, ebx
push eax
call fcn.0041ed50
mov ecx, dword [0x46fb44]
mov eax, 0x8652efab
shl ecx, 6
sub eax, ecx
add dword [0x466db4], eax
jmp 0x42529c
or dword [0x4688b4], 0xbd9dcd45
lea eax, [ebp - 0x18]
push eax
mov ecx, ebx
call fcn.0041ed50
and dword [0x45fa50], 0x705fa920
dec word [0x47c2b2]
mov ax, word [0x47c2b2]
cwde
sub dword [0x4609f0], eax
jmp 0x42530a
dec dword [0x46b0d8]
mov eax, dword [0x46b0d8]
and eax, 0xf6fffb8d
or eax, 0x245fe90d
cmp eax, 0x386e9dd
jge 0x4252ec
mov ecx, dword [0x4656e4]
movzx eax, word [0x47ab12]
sar ecx, 9
xor ecx, 0xa97cc794
and eax, ecx
mov word [0x47ab12], ax
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.0040b370
or dword [0x469e50], 0xfedff5f6
movsx ecx, word [0x472936]
inc esi
mov eax, dword [0x46f650]
or ecx, 0x428940a0
sar ecx, 2
imul eax, ecx
mov dword [0x46f650], eax
add dword [0x45c400], 0xa83216ed
cmp esi, 4
jne 0x4251e0
mov eax, dword [0x457b5c]
xor edi, edi
mov edx, dword [ebp + 0xc]
mov esi, 0xffffb2e2
imul eax, eax, 0x45946933
or dword [0x46e034], eax
dec dword [0x457b5c]
inc word [0x4704d0]
mov ax, word [0x4704d0]
cwde
xor eax, 0xd1571d8b
cmp eax, 0xb2128c1b
jg 0x425388
movzx eax, word [0x471f68]
add eax, 0x74fee009
mov word [0x471f68], ax
movsx eax, word [0x47c4d4]
sar eax, 6
cmp eax, 0x61a30148
jne 0x4253a3
and dword [0x462398], 0x138d0bc
test edx, edx
jne 0x425010
mov dword [ebp - 0xc], edi
inc dword [0x46d25c]
mov eax, dword [0x46d25c]
add eax, 0xe0eade50
cmp eax, 0xe57cafe5
jl 0x4253dd
cmp dword [0x4666f4], 0xefeff69f
jne 0x42540f
xor dword [0x46e804], 0xc7ff9c73
jmp 0x42540f
inc dword [0x46812c]
mov eax, dword [0x46812c]
or eax, 0xf4ce56db
cmp eax, 0xc187953e
jg 0x42540f
dec dword [0x4599e8]
mov eax, dword [0x4599e8]
xor eax, 0xa51382f7
and eax, dword [0x46fe04]
mov dword [0x46fe04], eax
test edi, edi
je 0x4257e1
add dword [0x470054], 0x55d701dd
mov eax, dword [0x46eabc]
xor eax, dword [0x46cc38]
mov dword [0x46cc38], eax
cmp edi, 3
jge 0x4254a0
lea ecx, [ebp - 4]
mov esi, 3
sub esi, dword [ebp - 0xc]
add edi, ecx
mov ecx, esi
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 0x425460
movsx eax, word [0x478e7a]
sar eax, 3
imul eax, eax, 0x34b9c6bc
sub dword [0x45c894], eax
movsx eax, word [0x4714aa]
sar eax, 9
xor eax, 0xe7a7a5ac
or dword [0x46f724], eax
imul eax, dword [0x45c4b8], 0x2f80b000
mov dword [0x46bd38], eax
dec esi
jne 0x425460
mov edi, dword [ebp - 0xc]
mov eax, dword [0x461bcc]
xor eax, 0x1c0bec95
cmp eax, 0xa09112c5
jl 0x4254bb
or dword [0x458dec], 0xa7768504
movzx eax, byte [ebp - 4]
xor esi, esi
shr al, 2
mov byte [ebp - 8], al
movzx eax, word [0x478ac2]
sub eax, 0x95861a6
mov word [0x478ac2], ax
movzx eax, byte [ebp - 4]
and al, 3
shl al, 4
mov byte [ebp - 7], al
mov eax, dword [0x46b3a8]
not eax
imul eax, eax, 0xb8ba5ced
and eax, 0xcd917150
sub dword [0x46e508], eax
movzx eax, byte [ebp - 3]
shr al, 4
add byte [ebp - 7], al
and dword [0x460218], 0x4a210645
mov cl, byte [ebp - 3]
movzx eax, byte [ebp - 2]
and cl, 0xf
shr al, 6
shl cl, 2
mov byte [ebp - 6], cl
add cl, al
mov dword [0x46e8d0], 0xf7fe7fbf
mov eax, dword [0x46662c]
add eax, 0xc04ee663
mov byte [ebp - 6], cl
and dword [0x468a7c], eax
dec dword [0x46662c]
movzx eax, byte [ebp - 2]
and al, 0x3f
mov byte [ebp - 5], al
and dword [0x45b37c], 0xeacfd278
add dword [0x457698], 0x40584001
imul eax, dword [0x45faa0], 0xfd5b3e6e
mov dword [0x45faa0], eax
test edi, edi
js 0x425694
lea ecx, [ecx]
mov eax, dword [0x45d780]
sub eax, 0x3e5c3257
or eax, 0x951cc72e
add dword [0x4597dc], eax
dec dword [0x45d780]
cmp byte [ebp + 0x10], 0
je 0x425627
mov dl, byte [ebp + esi - 8]
cmp dl, 0x3d
jbe 0x425627
mov ax, word [0x4747cc]
movsx ecx, ax
mov eax, dword [0x4621d4]
sub ecx, eax
mov word [0x4747cc], cx
mov ecx, ebx
cmp dl, 0x3e
jne 0x4255f6
xor dword [0x46d830], 0xbb2e49d1
lea eax, [ebp - 0x14]
push eax
call fcn.0041ed50
mov ecx, dword [0x462768]
mov eax, dword [0x470128]
not ecx
imul eax, ecx
mov dword [0x470128], eax
jmp 0x425613
or dword [0x46db5c], 0xc45c5469
lea eax, [ebp - 0x18]
push eax
call fcn.0041ed50
or dword [0x46b9f4], 0xd0ad6438
movzx eax, word [0x47be88]
add eax, 0x2e5b1bb0
mov word [0x47be88], ax
jmp 0x425657
or dword [0x45853c], 0xb4a5a18f
mov ecx, dword [ebp - 0x10]
movzx eax, byte [ebp + esi - 8]
movzx eax, byte [eax + ecx]
mov ecx, ebx
push eax
call fcn.0040b370
movzx eax, word [0x474ec4]
xor eax, 0x918f49f0
mov word [0x474ec4], ax
and dword [0x4697b8], 0x2478f7b6
inc esi
mov eax, dword [0x462d88]
sub eax, 0x4b4c6d2b
cmp eax, 0x80646c00
jg 0x42567d
add dword [0x461af4], 0x4b95eabc
imul eax, dword [0x45faa0], 0xfd5b3e6e
mov dword [0x45faa0], eax
cmp esi, edi
jle 0x425580
xor dword [0x462e90], 0x57ca8b9f
cmp edi, 3
jge 0x4257c6
mov esi, 3
sub esi, edi
mov edi, edi
movzx eax, word [0x473166]
imul eax, eax, 0xe8610365
mov word [0x473166], ax
movsx ecx, word [0x4772a0]
mov eax, dword [0x463ae4]
not ecx
inc dword [0x463ae4]
or ecx, 0x9157a3e9
or eax, 0xfb29aaa2
cmp eax, ecx
je 0x425705
mov ecx, dword [0x461ac8]
mov eax, dword [0x45e058]
and ecx, 0x7ea906da
xor ecx, 0x17bfbf06
imul eax, ecx
mov dword [0x45e058], eax
cmp byte [ebp + 0x10], 0
je 0x425792
mov ecx, dword [0x46c784]
movzx eax, word [0x4757c8]
sar ecx, 5
or eax, ecx
mov ecx, ebx
or eax, 0x81a5266d
mov word [0x4757c8], ax
lea eax, [ebp - 0x1c]
push eax
call fcn.0041ed50
dec word [0x478f9e]
mov cx, word [0x478f9e]
inc dword [0x46fa5c]
mov eax, dword [0x46fa5c]
movsx ecx, cx
and ecx, eax
cmp ecx, 0xf5e6451d
jge 0x4257b5
mov eax, dword [0x46bffc]
movsx ecx, word [0x4760e0]
not eax
add eax, 0x4b13f8a2
xor ecx, eax
cmp ecx, 0x6115e5
je 0x4257b5
mov ax, word [0x4771c0]
mov ecx, dword [0x458f4c]
cwde
imul ecx, eax
mov dword [0x458f4c], ecx
jmp 0x4257b5
mov eax, dword [0x463ce0]
mov ecx, ebx
or eax, 0x25008820
sub dword [0x46bc50], eax
push 0x3d
call fcn.0040b370
and dword [0x46572c], 0x66c00101
add dword [0x45e6e0], 0x29b4700
dec esi
jne 0x4256b0
mov eax, dword [0x46b980]
or eax, 0x1dd40624
cmp eax, 0x4f99dba9
jg 0x4257e1
xor dword [0x462ba0], 0x313880b2
movzx eax, word [0x472d66]
push dword [ebp - 0x10]
xor eax, 0x406d336d
mov word [0x472d66], ax
push 0x41
call fcn.0041b660
xor dword [0x45db14], 0xb9313873
lea eax, [ebp - 0x14]
push 4
push 0
push eax
call fcn.0042d6c0
dec dword [0x462154]
mov eax, dword [0x462154]
xor eax, 0xf551f0b2
imul eax, dword [0x463cc8]
push 4
push 0
mov dword [0x463cc8], eax
lea eax, [ebp - 0x18]
push eax
call fcn.0042d6c0
mov eax, dword [0x45a6c8]
sar eax, 0xa
mov word [0x47133c], ax
lea eax, [ebp - 0x1c]
push 4
push 0
push eax
call fcn.0042d6c0
mov eax, dword [0x4674e4]
add esp, 0x2c
or eax, 0x89ba188b
add dword [0x45c220], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret