Function at 0x430c00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
mov eax, dword [0x46c004]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp + 0xc]
add eax, 0x10
push eax
mov dword [ebp - 0x50], ecx
mov ecx, dword [ebp + 0x10]
push 0
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x54], ecx
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, 0x10
mov ebx, eax
cmp dword [ebp - 0x5c], esi
lea eax, [ebp - 0x24]
mov dword [ebp - 0x40], ebx
cmovb esi, dword [ebp - 0x5c]
push esi
push dword [ebp - 0x60]
mov dword [ebp - 0x44], esi
push eax
call fcn.00456380
add esp, 0xc
cmp esi, 0x10
jae 0x430cb6
xor ecx, ecx
test esi, esi
je 0x430c7d
nop
mov al, byte [ebp + ecx - 0x34]
xor byte [ebp + ecx - 0x24], al
inc ecx
cmp ecx, esi
jb 0x430c70
lea eax, [ebp - 0x34]
add eax, esi
push edi
push eax
push eax
call fcn.0043cf98
add esi, 0x10
lea eax, [ebp - 0x34]
push esi
push eax
push ebx
call fcn.00456380
mov edx, dword [ebp - 0x50]
add esp, 0x18
mov dword [edx], ebx
mov edx, dword [ebp - 0x54]
pop edi
mov dword [edx], esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043de43
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x40]
lea edx, [ebp - 0x24]
movups xmm0, xmmword [ebp - 0x34]
mov eax, 0x10
mov dword [ebp - 0x48], 0x10
mov dword [ebp - 0x4c], edx
lea ebx, [ebp - 0x14]
mov dword [ebp - 0x3c], ebx
lea edi, [ebp - 0x34]
mov dword [ebp - 0x38], eax
movups xmmword [ecx], xmm0
cmp esi, eax
jne 0x430ea8
mov eax, dword [ebp - 0x5c]
sub eax, esi
mov esi, 0x10
cmp eax, esi
cmovb esi, eax
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x60]
push esi
push eax
push ebx
mov dword [ebp - 0x64], esi
call fcn.00456380
mov edx, dword [ebp - 0x4c]
lea ecx, [edi + 0xf]
add dword [ebp - 0x44], esi
add esp, 0xc
lea eax, [edx + 0xf]
cmp edi, eax
ja 0x430d43
cmp ecx, edx
jb 0x430d43
mov ebx, edx
mov eax, edi
sub ebx, edi
mov edx, 0x10
nop dword [eax + eax]
mov cl, byte [ebx + eax]
lea eax, [eax + 1]
xor byte [eax - 1], cl
sub edx, 1
jne 0x430d30
mov ebx, dword [ebp - 0x3c]
jmp 0x430d50
movups xmm1, xmmword [edi]
movups xmm0, xmmword [edx]
pxor xmm1, xmm0
movups xmmword [edi], xmm1
push dword [ebp - 0x68]
push edi
push edi
call fcn.0043cf98
add esp, 0xc
test esi, esi
je 0x430e53
cmp esi, 0x10
je 0x430e53
xor edx, edx
mov dword [ebp - 0x48], esi
test esi, esi
je 0x430e03
cmp esi, 0x20
jb 0x430dde
lea eax, [edi - 1]
lea ecx, [ebx - 1]
add eax, esi
add ecx, esi
cmp ebx, eax
ja 0x430d92
cmp ecx, edi
jae 0x430dde
mov ecx, esi
mov eax, ebx
mov esi, edi
and ecx, 0xffffffe0
sub esi, ebx
mov dword [ebp - 0x58], esi
mov esi, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x58]
nop word [eax + eax]
movups xmm0, xmmword [eax]
lea eax, [eax + 0x20]
movups xmm1, xmmword [ebx + eax - 0x20]
pxor xmm1, xmm0
movups xmmword [eax - 0x20], xmm1
movups xmm1, xmmword [edi + edx + 0x10]
add edx, 0x20
movups xmm0, xmmword [eax - 0x10]
pxor xmm1, xmm0
movups xmmword [eax - 0x10], xmm1
cmp edx, ecx
jb 0x430db0
mov ebx, dword [ebp - 0x3c]
cmp edx, esi
jae 0x430e03
mov eax, edi
lea ecx, [edx + ebx]
sub eax, ebx
mov ebx, esi
mov dword [ebp - 0x58], eax
sub ebx, edx
mov esi, eax
mov al, byte [ecx + esi]
lea ecx, [ecx + 1]
xor byte [ecx - 1], al
sub ebx, 1
jne 0x430df2
mov esi, dword [ebp - 0x64]
cmp esi, 0x10
jae 0x430e2e
mov eax, dword [ebp - 0x3c]
mov ebx, edi
mov edx, 0x10
sub ebx, eax
sub edx, esi
lea ecx, [eax + esi]
nop dword [eax]
mov al, byte [ecx + ebx]
lea ecx, [ecx + 1]
mov byte [ecx - 1], al
sub edx, 1
jne 0x430e20
push dword [ebp - 0x68]
mov ebx, dword [ebp - 0x3c]
push ebx
push ebx
call fcn.0043cf98
mov eax, dword [ebp - 0x38]
add esp, 0xc
mov ecx, dword [ebp - 0x40]
movups xmm0, xmmword [ebx]
movups xmmword [ecx + eax], xmm0
add eax, 0x10
mov dword [ebp - 0x38], eax
jmp 0x430e59
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x38]
push dword [ebp - 0x48]
add eax, ecx
push edi
push eax
call fcn.00456380
mov ecx, dword [ebp - 0x38]
mov eax, ebx
add ecx, dword [ebp - 0x48]
add esp, 0xc
mov ebx, dword [ebp - 0x4c]
cmp esi, 0x10
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x4c], edi
mov edi, eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x3c], ebx
je 0x430ce6
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x40]
pop edi
pop esi
mov dword [edx], eax
mov edx, dword [ebp - 0x54]
pop ebx
mov dword [edx], ecx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043de43
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x50]
pop edi
pop esi
pop ebx
mov dword [edx], ecx
mov edx, dword [ebp - 0x54]
mov ecx, dword [ebp - 4]
xor ecx, ebp
mov dword [edx], eax
call fcn.0043de43
mov esp, ebp
pop ebp
ret