Function at 0x42e5b0
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, 0xa00
mov esi, esp
push 0x1000
call fcn.0040c820
add esp, 4
mov dword [esi + 0x24], eax
mov dword [esi + 0x744], 0xa19e8066
mov dword [esi + 0x748], 0xbfcac7d3
mov word [esi + 0x74c], 0x7794
mov dword [esi + 0x74e], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
mov dword [esi + 0xc], eax
movzx edx, byte [esi + ecx + 0x744]
mov ebx, dword [esi + 0xc]
and ebx, 0xa
mov edi, ecx
xor edi, 0x64da4795
add edi, ebx
mov ebx, edx
mov eax, edi
and eax, 0x640a43b6
or eax, 0x2408009
and edi, 0xd00409
xor edi, eax
mov eax, edx
xor eax, 9
xor edx, 0x13f08409
or edx, eax
xor ebx, 0x640a43b6
not edx
or edx, edi
xor edi, 0x11b00400
and edi, ebx
xor edx, 0xee4ffbff
or edx, edi
mov ebx, edx
and ebx, 0x16
add ebx, ebx
xor edx, 0xe9
sub ebx, edx
mov byte [esi + ecx + 0x744], bl
mov eax, dword [esi + 0xc]
inc ecx
add eax, 2
cmp ecx, 0xe
jne 0x42e600
mov eax, dword [0x4496a4]
mov dword [esi + 0x14], eax
mov dword [esi + 0x414], 0x50b2a48a
mov dword [esi + 0x418], 0x56505b5b
mov dword [esi + 0x41c], 0x4a582457
mov dword [esi + 0x420], 0x51515c28
mov dword [esi + 0x424], 0xa2816a
mov eax, 0xac766d5c
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esi + eax + 0x538996b8]
xor ecx, eax
add ecx, 0xa1afdd33
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov byte [esi + eax + 0x538996b8], cl
inc eax
cmp eax, 0xac766d70
jne 0x42e6c0
mov eax, dword [str.WpM2Co__IUSeKAkaSHKA]
mov dword [esi + 0x10], eax
mov dword [esi + 0xac], 0xe2d4bbb1
mov dword [esi + 0xb0], 0xd4d4871f
mov dword [esi + 0xb4], 0xfd82e5dd
mov dword [esi + 0xb8], 0xd9ee8fe9
mov dword [esi + 0xbc], 0xc6d9d8d7
mov dword [esi + 0xc0], 0xc4cfc6da
mov dword [esi + 0xc4], 0x9ca4c6ca
mov dword [esi + 0xc8], 0x3ac5f190
mov dword [esi + 0xcc], 0xcdd1e696
mov dword [esi + 0xd0], 0xb4b2e7cc
mov dword [esi + 0xd4], 0xe184bead
mov dword [esi + 0xd8], 0xbeb5bb80
mov dword [esi + 0xdc], 0xa6b9a4bf
mov dword [esi + 0xe0], 0xa9bda2b6
mov dword [esi + 0xe4], 0xc7aea2ba
mov dword [esi + 0xe8], 0xa68affe3
mov dword [esi + 0xec], 0x94b5a8af
mov dword [esi + 0xf0], 0x9ea8c7e6
mov dword [esi + 0xf4], 0xa78e9793
mov dword [esi + 0xf8], 0x9183bec0
mov dword [esi + 0xfc], 0xc9d1d4cc
mov dword [esi + 0x100], 0xc9c8c7d6
mov dword [esi + 0x104], 0xa5d2c0e2
mov dword [esi + 0x108], 0xddb8b3a7
mov byte [esi + 0x10c], 0xfc
mov word [esi + 0x111], 0
mov dword [esi + 0x10d], 0
xor edi, edi
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 0xc], eax
movzx ecx, byte [esi + edi + 0xac]
mov eax, dword [esi + 0xc]
or eax, 0x28fd39b
add eax, edi
mov ebx, edi
xor ebx, 0x28fd39b
lea eax, [ebx + eax*2]
add eax, 2
xor eax, ecx
mov ecx, eax
xor ecx, 0xccf2207
mov ebx, eax
or ebx, 0xf330ddf8
and ebx, ecx
mov ecx, ebx
and ecx, 0xfffffffd
mov edx, ebx
and edx, 2
or ebx, 2
imul ebx, edx
xor edx, 2
imul edx, ecx
add ebx, edx
mov ecx, eax
xor ecx, 0xf330ddf8
mov edx, ebx
and edx, ecx
xor ecx, ebx
lea ecx, [ecx + edx*2]
and eax, 1
or ecx, 1
add ecx, eax
mov eax, dword [esi + 0xc]
mov byte [esi + edi + 0xac], cl
inc edi
dec eax
cmp edi, 0x67
jne 0x42e810
movzx eax, byte [esi + 0xac]
mov ecx, dword [esi + 0x24]
test al, al
je 0x42e8ab
lea edx, [esi + 0xad]
mov ecx, dword [esi + 0x24]
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x42e8a0
mov byte [ecx], 0
mov edi, dword [esi + 0x10]
movzx eax, byte [edi]
test al, al
mov edx, ecx
je 0x42e8cb
inc edi
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x42e8c0
mov byte [edx], 0
movzx eax, byte [esi + 0x414]
test al, al
je 0x42e8eb
lea ecx, [esi + 0x415]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42e8e0
mov byte [edx], 0
mov ecx, dword [esi + 0x14]
movzx eax, byte [ecx]
test al, al
je 0x42e90b
inc ecx
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42e900
mov byte [edx], 0
movzx eax, byte [esi + 0x744]
test al, al
je 0x42e92b
lea ecx, [esi + 0x745]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42e920
mov dword [esi + 0x1c], edx
mov byte [edx], 0
push 0
call fcn.00443a30
mov edx, dword [esi + 0x1c]
add esp, 4
xor ecx, ecx
mov dword [esi + 0x20], eax
test eax, eax
setne cl
mov edi, edx
jmp dword [ecx*4 + 0x44d428]