Function at 0x443ac0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10c
mov eax, dword [0x594ccc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
push 0x2f
lea ecx, [ebp - 0xc3]
push 0
push ecx
mov dword [ebp - 0xf8], edi
mov dword [ebp - 0xfc], eax
mov byte [ebp - 0xc4], 0
call fcn.0051d250
push 0x2f
lea edx, [ebp - 0x93]
push 0
push edx
mov byte [ebp - 0x94], 0
call fcn.0051d250
xor eax, eax
mov dword [ebp - 0x23], eax
mov dword [ebp - 0x1f], eax
mov dword [ebp - 0x1b], eax
mov dword [ebp - 0x17], eax
mov dword [ebp - 0x13], eax
mov dword [ebp - 0xf], eax
mov dword [ebp - 0xb], eax
mov word [ebp - 7], ax
mov byte [ebp - 5], al
mov byte [ebp - 0x44], al
mov dword [ebp - 0x43], eax
mov dword [ebp - 0x3f], eax
mov dword [ebp - 0x3b], eax
mov dword [ebp - 0x37], eax
mov dword [ebp - 0x33], eax
mov dword [ebp - 0x2f], eax
mov dword [ebp - 0x2b], eax
mov word [ebp - 0x27], ax
mov byte [ebp - 0x25], al
mov byte [ebp - 0x64], al
mov dword [ebp - 0x63], eax
mov dword [ebp - 0x5f], eax
mov dword [ebp - 0x5b], eax
mov dword [ebp - 0x57], eax
mov dword [ebp - 0x53], eax
mov dword [ebp - 0x4f], eax
mov dword [ebp - 0x4b], eax
mov word [ebp - 0x47], ax
mov byte [ebp - 0x45], al
mov eax, dword [ebp + 0x14]
shl eax, 4
add eax, dword [ebp + 0x10]
add esp, 0x18
lea esi, [eax + eax*2]
shl esi, 4
add esi, edi
mov ecx, 0xc
lea edi, [ebp - 0xf4]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0xfc]
mov esi, dword [ebp - 0xf8]
lea eax, [ebp - 0xc4]
push eax
push ecx
mov ecx, esi
mov byte [ebp - 0x24], 0
call fcn.0042f720
xor eax, eax
jmp 0x443bc0
movzx edx, byte [ebp + eax - 0xf4]
xor dl, byte [ebp + eax - 0xc4]
movzx ecx, byte [ebp + eax - 0xf3]
xor cl, byte [ebp + eax - 0xc3]
mov byte [ebp + eax - 0x94], dl
movzx edx, byte [ebp + eax - 0xc2]
xor dl, byte [ebp + eax - 0xf2]
mov byte [ebp + eax - 0x93], cl
movzx ecx, byte [ebp + eax - 0xc1]
xor cl, byte [ebp + eax - 0xf1]
mov byte [ebp + eax - 0x92], dl
movzx edx, byte [ebp + eax - 0xc0]
xor dl, byte [ebp + eax - 0xf0]
mov byte [ebp + eax - 0x91], cl
movzx ecx, byte [ebp + eax - 0xbf]
xor cl, byte [ebp + eax - 0xef]
mov byte [ebp + eax - 0x90], dl
mov byte [ebp + eax - 0x8f], cl
add eax, 6
cmp eax, 0x30
jb 0x443bc0
lea edx, [ebp - 0x64]
push edx
lea eax, [ebp - 0x94]
push eax
mov ecx, esi
call fcn.0043b1f0
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x64]
push edx
mov ecx, esi
call fcn.0042f820
lea ecx, [ebp - 0x24]
mov edx, ebx
sub edx, ecx
sub ecx, ebx
mov dword [ebp - 0x10c], ecx
lea ecx, [ebp - 0x44]
sub ecx, ebx
mov dword [ebp - 0x108], ecx
lea ecx, [ebp - 0x23]
sub ecx, ebx
mov dword [ebp - 0x104], ecx
lea ecx, [ebp - 0x43]
sub ecx, ebx
mov edi, 0xfffffffe
lea eax, [ebx + 2]
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0x100], ecx
sub edi, ebx
jmp 0x443cb9
mov edx, dword [ebp - 0xf8]
lea ecx, [edi + eax]
lea esi, [ebp + ecx - 0x24]
movzx edx, byte [esi + edx]
xor dl, byte [esi]
add eax, 4
mov byte [ebp + ecx - 0x44], dl
movzx edx, byte [ebp + ecx - 0x23]
xor dl, byte [eax - 5]
mov byte [ebp + ecx - 0x43], dl
mov ecx, dword [ebp - 0x10c]
movzx edx, byte [ecx + eax - 4]
xor dl, byte [eax - 4]
mov ecx, dword [ebp - 0x108]
mov byte [ecx + eax - 4], dl
mov edx, dword [ebp - 0x104]
mov cl, byte [edx + eax - 4]
xor cl, byte [eax - 3]
mov edx, dword [ebp - 0x100]
mov byte [edx + eax - 4], cl
lea ecx, [edi + eax]
cmp ecx, 0x20
jb 0x443cb3
mov eax, dword [ebp - 0xfc]
mov edi, ebx
mov ecx, 8
mov esi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, 8
lea esi, [ebp - 0x44]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0051d23b
mov esp, ebp
pop ebp
ret 0x10