Function at 0x484b00
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x70c9cd
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x50
mov eax, dword [0x7b7fc0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebx + 8]
lea ecx, [ebp - 0x48]
mov esi, dword [ebx + 0xc]
mov dword [ebp - 0x20], 8
mov byte [ebp - 0x27], 1
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 0
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x5c], 4
test esi, esi
je 0x484bb5
test eax, eax
je 0x484b84
cmp esi, 0x20
ja 0x484b84
push esi
push eax
mov eax, ecx
push eax
call fcn.00678240
add esp, 0xc
jmp 0x484bb5
xorps xmm0, xmm0
movups xmmword [ebp - 0x48], xmm0
movups xmmword [ebp - 0x38], xmm0
test eax, eax
jne 0x484ba0
call fcn.0068bca3
mov dword [eax], 0x16
jmp 0x484bb0
cmp esi, 0x20
jbe 0x484bb5
call fcn.0068bca3
mov dword [eax], 0x22
call fcn.00681d70
mov eax, 0x20
sub eax, esi
push eax
lea eax, [ebp - 0x48]
add eax, esi
push 0
push eax
call fcn.00678c60
add esp, 0xc
lea edx, [ebp - 0x5c]
lea ecx, [ebp - 0x50]
call fcn.0045d8d0
cmp esi, 0x20
jae 0x484bf5
mov eax, dword [ebp - 0x1c]
mov ecx, esi
shr ecx, 2
and esi, 3
shl esi, 3
lea ecx, [eax + ecx*4]
mov eax, dword [ecx]
bts eax, esi
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax + 0x14]
xor ecx, dword [eax + 0xc]
xor ecx, dword [eax]
xor ecx, dword [eax + 0x1c]
xor ecx, 0x9e3779b9
rol ecx, 0xb
mov dword [eax], ecx
mov eax, dword [ebp - 0x1c]
mov dword [edi], ecx
mov edx, dword [eax + 0x18]
xor edx, dword [eax + 0x10]
xor edx, ecx
xor edx, dword [eax + 4]
xor edx, 0x9e3779b8
rol edx, 0xb
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x1c]
mov dword [edi + 4], edx
mov ecx, dword [eax + 0x1c]
xor ecx, dword [eax + 0x14]
xor ecx, edx
xor ecx, dword [eax + 8]
xor ecx, 0x9e3779bb
rol ecx, 0xb
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0x1c]
mov dword [edi + 8], ecx
mov esi, dword [eax + 0x18]
xor esi, ecx
xor esi, dword [eax]
xor esi, dword [eax + 0xc]
xor esi, 0x9e3779ba
rol esi, 0xb
mov dword [eax + 0xc], esi
lea eax, [edi + 0xc]
mov ecx, dword [ebp - 0x1c]
mov dword [eax], esi
mov edx, dword [ecx + 0x1c]
xor edx, dword [ecx + 4]
xor edx, esi
xor edx, dword [ecx + 0x10]
xor edx, 0x9e3779bd
rol edx, 0xb
mov dword [ecx + 0x10], edx
mov ecx, dword [ebp - 0x1c]
mov dword [edi + 0x10], edx
mov esi, dword [ecx + 8]
xor esi, edx
xor esi, dword [ecx + 0x14]
xor esi, dword [ecx]
xor esi, 0x9e3779bc
rol esi, 0xb
mov dword [ecx + 0x14], esi
mov ecx, dword [ebp - 0x1c]
mov dword [edi + 0x14], esi
mov edx, dword [ecx + 0xc]
xor edx, dword [ecx + 4]
xor edx, esi
xor edx, dword [ecx + 0x18]
xor edx, 0x9e3779bf
rol edx, 0xb
mov dword [ecx + 0x18], edx
mov ecx, dword [ebp - 0x1c]
mov dword [edi + 0x18], edx
mov esi, dword [ecx + 0x10]
xor esi, dword [ecx + 8]
xor esi, edx
mov edx, 8
xor esi, dword [ecx + 0x1c]
xor esi, 0x9e3779be
rol esi, 0xb
mov dword [ecx + 0x1c], esi
mov dword [edi + 0x1c], esi
mov ecx, dword [eax - 0xc]
lea eax, [eax + 4]
xor ecx, dword [eax + 4]
xor ecx, dword [eax - 4]
xor ecx, edx
inc edx
xor esi, ecx
xor esi, 0x9e3779b9
rol esi, 0xb
mov dword [eax + 0x10], esi
cmp edx, 0x84
jb 0x484ce0
sub edi, 0x50
mov dword [ebp - 0x5c], 4
mov dword [ebp - 0x4c], edi
mov ecx, dword [edi + 0x50]
mov esi, ecx
mov eax, dword [edi + 0x54]
mov edi, dword [edi + 0x58]
mov edx, dword [ebp - 0x4c]
mov edx, dword [edx + 0x5c]
or ecx, edx
xor edx, eax
and eax, esi
xor esi, edi
xor edi, edx
or esi, eax
mov dword [ebp - 0x50], edi
and edx, ecx
xor ecx, eax
xor edx, esi
mov dword [ebp - 0x54], ecx
and esi, dword [ebp - 0x54]
mov ecx, edx
xor ecx, eax
xor esi, dword [ebp - 0x50]
or ecx, dword [ebp - 0x54]
mov eax, edx
xor ecx, edi
mov edi, dword [ebp - 0x4c]
or eax, ecx
xor eax, edx
xor eax, dword [ebp - 0x54]
mov dword [edi + 0x50], eax
mov eax, edi
mov dword [eax + 0x54], ecx
mov ecx, edi
mov eax, dword [ecx + 0x60]
mov edi, eax
mov dword [ecx + 0x5c], esi
mov esi, dword [ecx + 0x68]
and edi, esi
xor edi, dword [ecx + 0x6c]
mov dword [ebp - 0x50], eax
mov eax, edi
xor eax, dword [ecx + 0x64]
xor esi, eax
mov dword [ecx + 0x58], edx
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x54], esi
mov esi, dword [ebp - 0x50]
or esi, dword [ecx + 0x6c]
xor esi, dword [ecx + 0x64]
mov eax, dword [ebp - 0x54]
xor edx, eax
mov ecx, edx
or ecx, esi
xor ecx, edi
and edi, esi
xor edx, edi
mov edi, dword [ebp - 0x4c]
mov dword [edi + 0x60], eax
mov eax, edx
xor eax, esi
mov dword [edi + 0x64], ecx
mov esi, dword [edi + 0x7c]
xor eax, ecx
mov dword [edi + 0x68], eax
not edx
mov eax, dword [edi + 0x74]
mov dword [edi + 0x6c], edx
mov edi, dword [edi + 0x70]
mov edx, dword [ebp - 0x4c]
not edi
mov ecx, edi
and edi, eax
mov edx, dword [edx + 0x78]
not edx
xor edx, edi
or edi, esi
xor eax, edi
xor esi, edx
xor edi, ecx
or ecx, eax
xor eax, esi
mov dword [ebp - 0x50], eax
or edx, edi
xor edi, eax
mov eax, dword [ebp - 0x4c]
and edx, ecx
mov dword [eax + 0x70], edx
mov eax, edx
and edx, dword [ebp - 0x50]
and eax, edi
xor eax, ecx
xor edx, edi
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0x78], esi
mov esi, ecx
mov dword [ecx + 0x74], eax
mov ecx, dword [esi + 0x80]
mov edi, dword [esi + 0x88]
lea eax, [esi + 0x80]
mov dword [esi + 0x7c], edx
mov edx, dword [esi + 0x8c]
xor edx, ecx
mov dword [ebp - 0x58], eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 0x50], edi
xor edi, eax
mov dword [ebp - 0x54], edx
and edx, eax
mov eax, dword [ebp - 0x54]
xor edx, ecx
mov esi, eax
or esi, ecx
mov ecx, dword [ebp - 0x50]
xor esi, edi
xor edi, eax
xor eax, ecx
or ecx, edx
xor ecx, edi
not edi
or edi, edx
mov dword [ebp - 0x50], ecx
mov ecx, eax
or eax, esi
xor ecx, edx
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x54]
xor ecx, edi
xor eax, ecx
xor edx, edi
mov ecx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x50]
mov dword [ecx], eax
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0x8c], esi
mov esi, ecx
mov dword [eax + 0x84], edx
mov dword [eax + 0x88], edi
mov dword [ebp - 0x4c], esi
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x18]
mov edi, dword [esi + 0x1c]
mov esi, edx
and esi, ecx
xor esi, edi
and edi, edx
xor ecx, esi
xor esi, edx
xor edx, eax
mov dword [ebp - 0x50], edx
mov edx, ecx
xor edi, dword [ebp - 0x50]
or edx, eax
xor edx, esi
xor esi, edi
mov eax, esi
and edi, edx
xor eax, ecx
xor edi, ecx
mov ecx, dword [ebp - 0x4c]
not eax
and esi, edx
xor esi, eax
and eax, edx
mov dword [ecx + 0x10], esi
xor eax, dword [ebp - 0x50]
mov esi, dword [ecx + 0x20]
xor eax, edi
mov dword [ecx + 0x14], eax
mov eax, dword [ecx + 0x28]
mov dword [ecx + 0x18], edi
not eax
mov dword [ecx + 0x1c], edx
mov edx, dword [ecx + 0x2c]
mov edi, edx
mov ecx, dword [ecx + 0x24]
and edx, esi
xor edx, eax
xor esi, edi
xor ecx, edx
mov dword [ebp - 0x50], edx
mov edx, edi
mov dword [ebp - 0x58], ecx
or edx, eax
mov eax, dword [ebp - 0x50]
xor edx, esi
or esi, ecx
xor edi, esi
or eax, esi
mov esi, dword [ebp - 0x50]
xor edx, ecx
mov ecx, dword [ebp - 0x4c]
xor edi, esi
xor eax, edx
not esi
xor edi, eax
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x58]
mov dword [eax + 0x28], edi
and edi, edx
mov edx, dword [eax + 0x30]
xor edi, esi
mov esi, dword [eax + 0x34]
xor edx, esi
mov dword [eax + 0x2c], edi
mov edi, dword [eax + 0x3c]
xor esi, edi
mov dword [eax + 0x24], ecx
not edi
mov ecx, dword [eax + 0x38]
mov eax, edx
xor ecx, edi
and eax, esi
xor eax, ecx
or ecx, esi
xor esi, edi
and edi, eax
xor esi, ecx
xor edi, edx
xor esi, eax
xor ecx, edx
mov dword [ebp - 0x58], esi
not ecx
mov esi, dword [ebp - 0x4c]
mov dword [esi + 0x30], eax
mov eax, esi
mov dword [eax + 0x34], edi
mov eax, edi
or edi, dword [ebp - 0x58]
and eax, edx
xor eax, dword [ebp - 0x58]
mov edx, esi
xor edi, ecx
mov dword [edx + 0x38], eax
mov eax, esi
mov ecx, dword [eax + 0x4c]
mov edx, dword [eax + 0x44]
mov esi, dword [eax + 0x48]
xor edx, ecx
not ecx
mov dword [eax + 0x3c], edi
mov edi, dword [eax + 0x40]
xor esi, ecx
xor ecx, edi
mov eax, ecx
and eax, edx
xor edx, ecx
xor eax, esi
xor edi, edx
and esi, edx
xor esi, edi
and edi, eax
xor ecx, edi
mov dword [ebp - 0x58], ecx
mov ecx, eax
or ecx, edx
mov edx, dword [ebp - 0x4c]
xor ecx, edi
mov dword [edx + 0x40], eax
mov edx, dword [ebp - 0x58]
mov eax, edx
and eax, esi
xor eax, ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ecx + 0x44], eax
mov eax, edx
or eax, edi
mov edi, ecx
xor eax, esi
sub dword [ebp - 0x5c], 1
not eax
mov dword [edi + 0x48], eax
mov dword [edi + 0x4c], edx
jne 0x484d12
mov ecx, dword [edi + 0x50]
mov esi, ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [edi + 0x54]
mov edi, dword [edi + 0x58]
mov edx, dword [edx + 0x5c]
or ecx, edx
xor edx, eax
and eax, esi
xor esi, edi
xor edi, edx
or esi, eax
and edx, ecx
xor ecx, eax
mov dword [ebp - 0x58], esi
xor edx, esi
mov dword [ebp - 0x50], ecx
mov esi, dword [ebp - 0x4c]
mov ecx, edx
xor ecx, eax
mov eax, edx
or ecx, dword [ebp - 0x50]
xor ecx, edi
or eax, ecx
xor eax, edx
xor eax, dword [ebp - 0x50]
mov dword [esi + 0x50], eax
mov eax, esi
mov esi, dword [ebp - 0x58]
and esi, dword [ebp - 0x50]
xor esi, edi
mov edi, dword [ebp - 0x1c]
mov dword [eax + 0x54], ecx
mov dword [eax + 0x58], edx
mov dword [eax + 0x5c], esi
lea eax, [ebp - 0x48]
cmp edi, eax
jne 0x48502d
mov ecx, dword [ebp - 0x20]
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0065d40e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret