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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x9f0
mov esi, esp
push 0x1000
call fcn.0040cc60
add esp, 4
mov dword [esi + 0x704], 0xa19e80e6
mov dword [esi + 0x708], 0xbf4a4753
mov word [esi + 0x70c], 0xf794
mov dword [esi + 0x70e], 0
mov word [esi + 0x712], 0
mov edi, 0x55
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + edi + 0x6af]
mov edx, ecx
and edx, edi
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, edi
add cl, 0x57
mov byte [esi + edi + 0x6af], cl
inc edi
cmp edi, 0x65
jne 0x42f660
mov dword [esi + 0x14], eax
mov eax, dword [0x44a6d4]
mov dword [esi + 8], eax
mov dword [esi + 0x404], 0x546a789a
mov dword [esi + 0x408], 0x323c3539
mov dword [esi + 0x40c], 0x3e0c083d
mov dword [esi + 0x410], 0x2f2f280c
mov dword [esi + 0x414], 0x9a7b5a
xor edi, edi
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + edx + 0x404]
mov dword [esi + 4], ecx
mov eax, edi
and eax, 6
mov ebx, edx
xor ebx, 0xada8e863
add ebx, eax
mov eax, ebx
and eax, ecx
add eax, eax
mov ecx, eax
not ecx
and ecx, ebx
not ebx
and ebx, eax
sub ebx, ecx
mov ecx, dword [esi + 4]
mov eax, ecx
not eax
and eax, ebx
not ebx
and ebx, ecx
sub ebx, eax
add bl, 0x11
mov byte [esi + edx + 0x404], bl
inc edx
add edi, 2
cmp edx, 0x14
jne 0x42f6d0
mov ecx, dword [str.c2CoW0__newsource2]
mov dword [esi + 0x9c], 0xaee4c7d9
mov dword [esi + 0xa0], 0x8c94c3ab
mov dword [esi + 0xa4], 0x95def5b5
mov dword [esi + 0xa8], 0x81fadbe1
mov dword [esi + 0xac], 0x928180bb
mov dword [esi + 0xb0], 0xbcbb8286
mov dword [esi + 0xb4], 0xf414babe
mov dword [esi + 0xb8], 0x8e85c9e8
mov dword [esi + 0xbc], 0xb5b9aafa
mov dword [esi + 0xc0], 0xacb6e3b4
mov dword [esi + 0xc4], 0xf9d492a5
mov dword [esi + 0xc8], 0xa295afd8
mov dword [esi + 0xcc], 0xb2a1b4a3
mov dword [esi + 0xd0], 0x61ada6a2
mov dword [esi + 0xd4], 0xf3625e4e
mov dword [esi + 0xd8], 0x6a3e0b1f
mov dword [esi + 0xdc], 0x3c455053
mov dword [esi + 0xe0], 0x72200312
mov dword [esi + 0xe4], 0x33424b47
mov dword [esi + 0xe8], 0x79472a18
mov dword [esi + 0xec], 0x11050514
mov dword [esi + 0xf0], 0x1000302
mov dword [esi + 0xf4], 0x1d2e38d6
mov dword [esi + 0xf8], 0x25001713
mov byte [esi + 0xfc], 0xc4
mov dword [esi + 0x100], 0
mov dword [esi + 0xfd], 0
mov edx, 9
mov edi, 0xb6
nop
nop
nop
nop
nop
nop
nop
mov eax, edi
and eax, 0xe7
mov ebx, edx
and ebx, 0x18
or ebx, eax
xor bl, byte [esi + edx + 0x93]
xor bl, 0xe7
add bl, 0x93
mov byte [esi + edx + 0x93], bl
inc edx
dec edi
cmp edx, 0x71
jne 0x42f840
movzx edx, byte [esi + 0x9c]
mov edi, dword [esi + 0x14]
test dl, dl
je 0x42f88b
lea ebx, [esi + 0x9d]
mov edi, dword [esi + 0x14]
mov byte [edi], dl
inc edi
movzx edx, byte [ebx]
inc ebx
test dl, dl
jne 0x42f880
mov byte [edi], 0
movzx edx, byte [ecx]
test dl, dl
je 0x42f8ad
inc ecx
mov eax, dword [esi + 8]
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x42f8a0
jmp 0x42f8b0
mov eax, dword [esi + 8]
mov byte [edi], 0
movzx ecx, byte [esi + 0x404]
test cl, cl
je 0x42f8db
lea edx, [esi + 0x405]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42f8d0
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42f8fb
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42f8f0
mov byte [edi], 0
movzx eax, byte [esi + 0x704]
test al, al
je 0x42f91b
lea ecx, [esi + 0x705]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42f910
mov byte [edi], 0
push 0
call fcn.004444f0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44e398]