Function at 0x4202d0
Capabilities:
Encode data using xor
Encrypt data using aes via x86 extensions

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
mov esi, eax
mov ebx, edx
lea eax, [edx + 0x20]
and esp, 0xfffffff0
sub esp, 0x180
lea edx, [esp + 0x170]
lea ecx, [esp + 0xf0]
mov dword [esp + 0x1c], edx
lea edx, [esp + 0x160]
mov dword [esp + 0x18], edx
lea edx, [esp + 0x150]
mov dword [esp + 0x14], edx
lea edx, [esp + 0x140]
mov dword [esp + 0x10], edx
lea edx, [esp + 0x130]
mov dword [esp + 0xc], edx
lea edx, [esp + 0x120]
mov dword [esp + 8], edx
lea edx, [esp + 0x110]
mov dword [esp + 4], edx
lea edx, [esp + 0x100]
mov dword [esp], edx
lea edx, [esp + 0xe0]
call fcn.0041e780
movdqa xmm1, xmmword [ebx + 0x40]
lea ecx, [esi + 0x400000]
mov eax, esi
mov edx, esi
movaps xmmword [esp + 0x30], xmm1
movdqa xmm1, xmmword [esp + 0xe0]
movaps xmmword [esp + 0x60], xmm1
movdqa xmm1, xmmword [esp + 0xf0]
movaps xmmword [esp + 0x70], xmm1
movdqa xmm1, xmmword [esp + 0x100]
movaps xmmword [esp + 0xd0], xmm1
movdqa xmm1, xmmword [esp + 0x110]
movaps xmmword [esp + 0xc0], xmm1
movdqa xmm1, xmmword [esp + 0x120]
movaps xmmword [esp + 0xb0], xmm1
movdqa xmm1, xmmword [esp + 0x130]
movaps xmmword [esp + 0xa0], xmm1
movdqa xmm1, xmmword [esp + 0x140]
movaps xmmword [esp + 0x90], xmm1
movdqa xmm1, xmmword [esp + 0x150]
movaps xmmword [esp + 0x80], xmm1
movdqa xmm1, xmmword [esp + 0x160]
movdqa xmm5, xmmword [ebx + 0x70]
movdqa xmm4, xmmword [ebx + 0x80]
movdqa xmm3, xmmword [ebx + 0x90]
movdqa xmm2, xmmword [ebx + 0xa0]
movdqa xmm6, xmmword [ebx + 0x60]
movaps xmmword [esp + 0x50], xmm1
movdqa xmm1, xmmword [esp + 0x170]
movdqa xmm7, xmmword [ebx + 0x50]
movaps xmmword [esp + 0x40], xmm1
movdqa xmm1, xmm2
movdqa xmm2, xmm3
movdqa xmm3, xmm4
movdqa xmm4, xmm5
movdqa xmm0, xmmword [ebx + 0xb0]
movdqa xmm5, xmm6
pxor xmm4, xmmword [edx + 0x30]
sub edx, 0xffffff80
movdqa xmm6, xmmword [esp + 0x30]
pxor xmm7, xmmword [edx - 0x70]
pxor xmm6, xmmword [edx - 0x80]
pxor xmm5, xmmword [edx - 0x60]
pxor xmm3, xmmword [edx - 0x40]
pxor xmm2, xmmword [edx - 0x30]
pxor xmm1, xmmword [edx - 0x20]
pxor xmm0, xmmword [edx - 0x10]
cmp ecx, edx
aesenc xmm4, xmmword [esp + 0x60]
aesenc xmm6, xmmword [esp + 0x60]
aesenc xmm7, xmmword [esp + 0x60]
aesenc xmm5, xmmword [esp + 0x60]
aesenc xmm3, xmmword [esp + 0x60]
aesenc xmm2, xmmword [esp + 0x60]
aesenc xmm1, xmmword [esp + 0x60]
aesenc xmm0, xmmword [esp + 0x60]
aesenc xmm4, xmmword [esp + 0x70]
aesenc xmm6, xmmword [esp + 0x70]
aesenc xmm7, xmmword [esp + 0x70]
aesenc xmm5, xmmword [esp + 0x70]
aesenc xmm3, xmmword [esp + 0x70]
aesenc xmm2, xmmword [esp + 0x70]
aesenc xmm1, xmmword [esp + 0x70]
aesenc xmm4, xmmword [esp + 0xd0]
aesenc xmm0, xmmword [esp + 0x70]
aesenc xmm6, xmmword [esp + 0xd0]
aesenc xmm7, xmmword [esp + 0xd0]
aesenc xmm5, xmmword [esp + 0xd0]
aesenc xmm3, xmmword [esp + 0xd0]
aesenc xmm2, xmmword [esp + 0xd0]
aesenc xmm1, xmmword [esp + 0xd0]
aesenc xmm0, xmmword [esp + 0xd0]
aesenc xmm4, xmmword [esp + 0xc0]
aesenc xmm6, xmmword [esp + 0xc0]
aesenc xmm7, xmmword [esp + 0xc0]
aesenc xmm5, xmmword [esp + 0xc0]
aesenc xmm3, xmmword [esp + 0xc0]
aesenc xmm2, xmmword [esp + 0xc0]
aesenc xmm1, xmmword [esp + 0xc0]
aesenc xmm0, xmmword [esp + 0xc0]
aesenc xmm4, xmmword [esp + 0xb0]
aesenc xmm6, xmmword [esp + 0xb0]
aesenc xmm7, xmmword [esp + 0xb0]
aesenc xmm5, xmmword [esp + 0xb0]
aesenc xmm3, xmmword [esp + 0xb0]
aesenc xmm2, xmmword [esp + 0xb0]
aesenc xmm1, xmmword [esp + 0xb0]
aesenc xmm0, xmmword [esp + 0xb0]
aesenc xmm4, xmmword [esp + 0xa0]
aesenc xmm6, xmmword [esp + 0xa0]
aesenc xmm7, xmmword [esp + 0xa0]
aesenc xmm5, xmmword [esp + 0xa0]
aesenc xmm3, xmmword [esp + 0xa0]
aesenc xmm2, xmmword [esp + 0xa0]
aesenc xmm1, xmmword [esp + 0xa0]
aesenc xmm4, xmmword [esp + 0x90]
aesenc xmm0, xmmword [esp + 0xa0]
aesenc xmm6, xmmword [esp + 0x90]
aesenc xmm7, xmmword [esp + 0x90]
aesenc xmm5, xmmword [esp + 0x90]
aesenc xmm3, xmmword [esp + 0x90]
aesenc xmm2, xmmword [esp + 0x90]
aesenc xmm1, xmmword [esp + 0x90]
aesenc xmm0, xmmword [esp + 0x90]
aesenc xmm4, xmmword [esp + 0x80]
aesenc xmm6, xmmword [esp + 0x80]
aesenc xmm7, xmmword [esp + 0x80]
aesenc xmm4, xmmword [esp + 0x50]
aesenc xmm5, xmmword [esp + 0x80]
aesenc xmm3, xmmword [esp + 0x80]
aesenc xmm2, xmmword [esp + 0x80]
aesenc xmm1, xmmword [esp + 0x80]
aesenc xmm0, xmmword [esp + 0x80]
movaps xmmword [esp + 0x30], xmm4
aesenc xmm5, xmmword [esp + 0x50]
aesenc xmm6, xmmword [esp + 0x50]
aesenc xmm7, xmmword [esp + 0x50]
movdqa xmm4, xmmword [esp + 0x50]
aesenc xmm3, xmm4
aesenc xmm2, xmm4
aesenc xmm1, xmm4
aesenc xmm0, xmm4
movdqa xmm4, xmmword [esp + 0x40]
aesenc xmm6, xmm4
aesenc xmm7, xmm4
movdqa xmm4, xmm5
movdqa xmm5, xmmword [esp + 0x40]
aesenc xmm4, xmm5
aesenc xmm3, xmm5
aesenc xmm2, xmm5
movaps xmmword [esp + 0x20], xmm4
aesenc xmm1, xmm5
aesenc xmm0, xmm5
movdqa xmm4, xmmword [esp + 0x30]
aesenc xmm4, xmm5
movdqa xmm5, xmm6
pxor xmm5, xmm7
movaps xmmword [esp + 0x30], xmm5
movdqa xmm5, xmmword [esp + 0x20]
pxor xmm7, xmm5
pxor xmm5, xmm4
pxor xmm4, xmm3
pxor xmm3, xmm2
pxor xmm2, xmm1
pxor xmm1, xmm0
pxor xmm0, xmm6
jne 0x420444
lea esi, [esi]
pxor xmm4, xmmword [eax + 0x30]
sub eax, 0xffffff80
movdqa xmm6, xmmword [esp + 0x30]
pxor xmm7, xmmword [eax - 0x70]
pxor xmm6, xmmword [eax - 0x80]
pxor xmm5, xmmword [eax - 0x60]
pxor xmm3, xmmword [eax - 0x40]
pxor xmm2, xmmword [eax - 0x30]
pxor xmm1, xmmword [eax - 0x20]
pxor xmm0, xmmword [eax - 0x10]
cmp eax, edx
aesenc xmm4, xmmword [esp + 0x60]
aesenc xmm6, xmmword [esp + 0x60]
aesenc xmm7, xmmword [esp + 0x60]
aesenc xmm5, xmmword [esp + 0x60]
aesenc xmm3, xmmword [esp + 0x60]
aesenc xmm2, xmmword [esp + 0x60]
aesenc xmm1, xmmword [esp + 0x60]
aesenc xmm0, xmmword [esp + 0x60]
aesenc xmm4, xmmword [esp + 0x70]
aesenc xmm6, xmmword [esp + 0x70]
aesenc xmm7, xmmword [esp + 0x70]
aesenc xmm5, xmmword [esp + 0x70]
aesenc xmm3, xmmword [esp + 0x70]
aesenc xmm2, xmmword [esp + 0x70]
aesenc xmm1, xmmword [esp + 0x70]
aesenc xmm4, xmmword [esp + 0xd0]
aesenc xmm0, xmmword [esp + 0x70]
aesenc xmm6, xmmword [esp + 0xd0]
aesenc xmm7, xmmword [esp + 0xd0]
aesenc xmm5, xmmword [esp + 0xd0]
aesenc xmm3, xmmword [esp + 0xd0]
aesenc xmm2, xmmword [esp + 0xd0]
aesenc xmm1, xmmword [esp + 0xd0]
aesenc xmm0, xmmword [esp + 0xd0]
aesenc xmm4, xmmword [esp + 0xc0]
aesenc xmm6, xmmword [esp + 0xc0]
aesenc xmm7, xmmword [esp + 0xc0]
aesenc xmm5, xmmword [esp + 0xc0]
aesenc xmm3, xmmword [esp + 0xc0]
aesenc xmm2, xmmword [esp + 0xc0]
aesenc xmm1, xmmword [esp + 0xc0]
aesenc xmm0, xmmword [esp + 0xc0]
aesenc xmm4, xmmword [esp + 0xb0]
aesenc xmm6, xmmword [esp + 0xb0]
aesenc xmm7, xmmword [esp + 0xb0]
aesenc xmm5, xmmword [esp + 0xb0]
aesenc xmm3, xmmword [esp + 0xb0]
aesenc xmm2, xmmword [esp + 0xb0]
aesenc xmm1, xmmword [esp + 0xb0]
aesenc xmm0, xmmword [esp + 0xb0]
aesenc xmm4, xmmword [esp + 0xa0]
aesenc xmm6, xmmword [esp + 0xa0]
aesenc xmm7, xmmword [esp + 0xa0]
aesenc xmm5, xmmword [esp + 0xa0]
aesenc xmm3, xmmword [esp + 0xa0]
aesenc xmm2, xmmword [esp + 0xa0]
aesenc xmm1, xmmword [esp + 0xa0]
aesenc xmm4, xmmword [esp + 0x90]
aesenc xmm0, xmmword [esp + 0xa0]
aesenc xmm6, xmmword [esp + 0x90]
aesenc xmm7, xmmword [esp + 0x90]
aesenc xmm5, xmmword [esp + 0x90]
aesenc xmm3, xmmword [esp + 0x90]
aesenc xmm2, xmmword [esp + 0x90]
aesenc xmm1, xmmword [esp + 0x90]
aesenc xmm0, xmmword [esp + 0x90]
aesenc xmm4, xmmword [esp + 0x80]
aesenc xmm6, xmmword [esp + 0x80]
aesenc xmm7, xmmword [esp + 0x80]
aesenc xmm4, xmmword [esp + 0x50]
aesenc xmm5, xmmword [esp + 0x80]
aesenc xmm3, xmmword [esp + 0x80]
aesenc xmm2, xmmword [esp + 0x80]
aesenc xmm1, xmmword [esp + 0x80]
aesenc xmm0, xmmword [esp + 0x80]
movaps xmmword [esp + 0x30], xmm4
aesenc xmm5, xmmword [esp + 0x50]
aesenc xmm6, xmmword [esp + 0x50]
aesenc xmm7, xmmword [esp + 0x50]
movdqa xmm4, xmmword [esp + 0x50]
aesenc xmm3, xmm4
aesenc xmm2, xmm4
aesenc xmm1, xmm4
aesenc xmm0, xmm4
movdqa xmm4, xmmword [esp + 0x40]
aesenc xmm6, xmm4
aesenc xmm7, xmm4
movdqa xmm4, xmm5
movdqa xmm5, xmmword [esp + 0x40]
aesenc xmm4, xmm5
aesenc xmm3, xmm5
aesenc xmm2, xmm5
movaps xmmword [esp + 0x20], xmm4
aesenc xmm1, xmm5
aesenc xmm0, xmm5
movdqa xmm4, xmmword [esp + 0x30]
aesenc xmm4, xmm5
movdqa xmm5, xmm6
pxor xmm5, xmm7
movaps xmmword [esp + 0x30], xmm5
movdqa xmm5, xmmword [esp + 0x20]
pxor xmm7, xmm5
pxor xmm5, xmm4
pxor xmm4, xmm3
pxor xmm3, xmm2
pxor xmm2, xmm1
pxor xmm1, xmm0
pxor xmm0, xmm6
jne 0x420780
movdqa xmm6, xmm5
mov eax, 0x10
movdqa xmm5, xmm4
movdqa xmm4, xmm3
movdqa xmm3, xmm2
movaps xmmword [esp + 0x20], xmm0
movdqa xmm2, xmm1
movdqa xmm1, xmm3
movdqa xmm3, xmm4
movdqa xmm4, xmm5
movdqa xmm5, xmm6
movdqa xmm6, xmm7
nop
lea esi, [esi]
movdqa xmm0, xmmword [esp + 0x30]
sub eax, 1
aesenc xmm0, xmmword [esp + 0x60]
movdqa xmm7, xmm0
movdqa xmm0, xmmword [esp + 0x60]
aesenc xmm2, xmm0
aesenc xmm4, xmm0
aesenc xmm6, xmm0
movaps xmmword [esp + 0x30], xmm2
aesenc xmm5, xmm0
aesenc xmm3, xmm0
aesenc xmm1, xmm0
movdqa xmm2, xmmword [esp + 0x20]
aesenc xmm2, xmm0
movdqa xmm0, xmmword [esp + 0x30]
movaps xmmword [esp + 0x20], xmm2
movdqa xmm2, xmmword [esp + 0x70]
aesenc xmm4, xmm2
aesenc xmm0, xmm2
aesenc xmm7, xmm2
aesenc xmm6, xmm2
aesenc xmm5, xmm2
aesenc xmm3, xmm2
aesenc xmm1, xmm2
movdqa xmm2, xmm0
aesenc xmm4, xmmword [esp + 0xd0]
movdqa xmm0, xmmword [esp + 0x20]
aesenc xmm7, xmmword [esp + 0xd0]
aesenc xmm6, xmmword [esp + 0xd0]
aesenc xmm0, xmmword [esp + 0x70]
aesenc xmm5, xmmword [esp + 0xd0]
aesenc xmm3, xmmword [esp + 0xd0]
aesenc xmm1, xmmword [esp + 0xd0]
aesenc xmm2, xmmword [esp + 0xd0]
aesenc xmm4, xmmword [esp + 0xc0]
aesenc xmm0, xmmword [esp + 0xd0]
aesenc xmm7, xmmword [esp + 0xc0]
aesenc xmm6, xmmword [esp + 0xc0]
aesenc xmm5, xmmword [esp + 0xc0]
aesenc xmm3, xmmword [esp + 0xc0]
aesenc xmm1, xmmword [esp + 0xc0]
aesenc xmm4, xmmword [esp + 0xb0]
aesenc xmm2, xmmword [esp + 0xc0]
aesenc xmm0, xmmword [esp + 0xc0]
aesenc xmm7, xmmword [esp + 0xb0]
aesenc xmm6, xmmword [esp + 0xb0]
aesenc xmm5, xmmword [esp + 0xb0]
aesenc xmm3, xmmword [esp + 0xb0]
aesenc xmm1, xmmword [esp + 0xb0]
aesenc xmm2, xmmword [esp + 0xb0]
aesenc xmm4, xmmword [esp + 0xa0]
aesenc xmm0, xmmword [esp + 0xb0]
aesenc xmm7, xmmword [esp + 0xa0]
aesenc xmm4, xmmword [esp + 0x90]
aesenc xmm6, xmmword [esp + 0xa0]
aesenc xmm5, xmmword [esp + 0xa0]
aesenc xmm3, xmmword [esp + 0xa0]
aesenc xmm1, xmmword [esp + 0xa0]
aesenc xmm2, xmmword [esp + 0xa0]
aesenc xmm0, xmmword [esp + 0xa0]
aesenc xmm4, xmmword [esp + 0x80]
aesenc xmm7, xmmword [esp + 0x90]
aesenc xmm6, xmmword [esp + 0x90]
aesenc xmm5, xmmword [esp + 0x90]
aesenc xmm3, xmmword [esp + 0x90]
aesenc xmm1, xmmword [esp + 0x90]
aesenc xmm2, xmmword [esp + 0x90]
aesenc xmm0, xmmword [esp + 0x90]
aesenc xmm4, xmmword [esp + 0x50]
aesenc xmm7, xmmword [esp + 0x80]
aesenc xmm6, xmmword [esp + 0x80]
aesenc xmm5, xmmword [esp + 0x80]
aesenc xmm3, xmmword [esp + 0x80]
aesenc xmm1, xmmword [esp + 0x80]
aesenc xmm2, xmmword [esp + 0x80]
aesenc xmm0, xmmword [esp + 0x80]
movaps xmmword [esp + 0x30], xmm4
aesenc xmm5, xmmword [esp + 0x50]
aesenc xmm7, xmmword [esp + 0x50]
aesenc xmm6, xmmword [esp + 0x50]
movdqa xmm4, xmmword [esp + 0x50]
aesenc xmm3, xmm4
aesenc xmm1, xmm4
aesenc xmm2, xmm4
aesenc xmm0, xmm4
movdqa xmm4, xmmword [esp + 0x40]
aesenc xmm7, xmm4
aesenc xmm6, xmm4
movdqa xmm4, xmm5
movdqa xmm5, xmmword [esp + 0x40]
aesenc xmm4, xmm5
aesenc xmm3, xmm5
aesenc xmm1, xmm5
movaps xmmword [esp + 0x20], xmm4
aesenc xmm2, xmm5
aesenc xmm0, xmm5
movdqa xmm4, xmmword [esp + 0x30]
aesenc xmm4, xmm5
movdqa xmm5, xmm7
pxor xmm5, xmm6
movaps xmmword [esp + 0x30], xmm5
movdqa xmm5, xmmword [esp + 0x20]
pxor xmm6, xmm5
pxor xmm5, xmm4
pxor xmm4, xmm3
pxor xmm3, xmm1
pxor xmm1, xmm2
pxor xmm2, xmm0
pxor xmm0, xmm7
movaps xmmword [esp + 0x20], xmm0
jne 0x420af0
movdqa xmm7, xmm6
movdqa xmm6, xmm5
movdqa xmm5, xmm4
movdqa xmm4, xmm3
movdqa xmm3, xmm1
movdqa xmm1, xmmword [esp + 0x30]
movaps xmmword [ebx + 0x50], xmm7
movaps xmmword [ebx + 0x40], xmm1
movaps xmmword [ebx + 0x60], xmm6
movaps xmmword [ebx + 0x70], xmm5
movaps xmmword [ebx + 0x80], xmm4
movaps xmmword [ebx + 0x90], xmm3
movaps xmmword [ebx + 0xa0], xmm2
movaps xmmword [ebx + 0xb0], xmm0
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret