Function at 0x56dca0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x22a0
call fcn.005b37a0
mov eax, dword [0x692c00]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
push ebx
mov ebx, dword [ebp + 0x14]
mov ecx, 0x80
push esi
push edi
mov dword [ebp - 0x2290], eax
lea edi, [ebp - 0x1e84]
mov eax, dword [ebp + 0xc]
mov esi, eax
push eax
lea eax, [ebp - 0x2284]
movq qword [ebp - 0x1f90], xmm0
movups xmmword [ebp - 0x2084], xmm0
mov dword [ebp - 0x2004], 1
movups xmmword [ebp - 0x2074], xmm0
mov dword [ebp - 0x1f88], 0
movups xmmword [ebp - 0x2064], xmm0
mov dword [ebp - 0x1f84], 1
movups xmmword [ebp - 0x2054], xmm0
mov dword [ebp - 0x1f08], 0
movups xmmword [ebp - 0x2044], xmm0
push eax
movups xmmword [ebp - 0x2034], xmm0
movups xmmword [ebp - 0x2024], xmm0
movups xmmword [ebp - 0x2014], xmm0
movups xmmword [ebp - 0x2000], xmm0
movups xmmword [ebp - 0x1ff0], xmm0
movups xmmword [ebp - 0x1fe0], xmm0
movups xmmword [ebp - 0x1fd0], xmm0
movups xmmword [ebp - 0x1fc0], xmm0
movups xmmword [ebp - 0x1fb0], xmm0
movups xmmword [ebp - 0x1fa0], xmm0
movups xmmword [ebp - 0x1f80], xmm0
movups xmmword [ebp - 0x1f70], xmm0
movups xmmword [ebp - 0x1f60], xmm0
movups xmmword [ebp - 0x1f50], xmm0
movups xmmword [ebp - 0x1f40], xmm0
movups xmmword [ebp - 0x1f30], xmm0
movups xmmword [ebp - 0x1f20], xmm0
movq qword [ebp - 0x1f10], xmm0
movups xmmword [ebp - 0x1f04], xmm0
movups xmmword [ebp - 0x1ef4], xmm0
movups xmmword [ebp - 0x1ee4], xmm0
movups xmmword [ebp - 0x1ed4], xmm0
movups xmmword [ebp - 0x1ec4], xmm0
movups xmmword [ebp - 0x1eb4], xmm0
movups xmmword [ebp - 0x1ea4], xmm0
movups xmmword [ebp - 0x1e94], xmm0
rep movsd dword es:[edi], dword [esi]
call fcn.0056c8b0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x1c84]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x1c04]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x1b84]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x1b04]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x1c84]
push eax
lea eax, [ebp - 0x1e84]
push eax
lea eax, [ebp - 0x2284]
push eax
call fcn.0056c3e0
add esp, 0x44
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x1a84]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x1a04]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x1984]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x1904]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x1884]
mov ecx, 0x80
push eax
lea eax, [ebp - 0x1e84]
mov esi, ebx
push eax
lea eax, [ebp - 0x2284]
lea edi, [ebp - 0x1884]
rep movsd dword es:[edi], dword [esi]
push eax
call fcn.0056c3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x1684]
push eax
call fcn.0056d3e0
add esp, 0x48
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x1604]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x1584]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x1504]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x1884]
push eax
lea eax, [ebp - 0x1c84]
push eax
lea eax, [ebp - 0x2284]
push eax
call fcn.0056c3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x1484]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x1404]
push eax
call fcn.0056d3e0
add esp, 0x48
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x1384]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x1304]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x1884]
push eax
lea eax, [ebp - 0x1a84]
push eax
lea eax, [ebp - 0x2284]
push eax
call fcn.0056c3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x1284]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x1204]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x1184]
push eax
call fcn.0056d3e0
add esp, 0x48
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x1104]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2284]
push ebx
push eax
call fcn.0056c8b0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x1084]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x1004]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0xf84]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0xf04]
push eax
call fcn.0056d3e0
add esp, 0x44
lea eax, [ebp - 0x1084]
push eax
lea eax, [ebp - 0x1e84]
push eax
lea eax, [ebp - 0x2284]
push eax
call fcn.0056c3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0xe84]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0xe04]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0xd84]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0xd04]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x1684]
push eax
lea eax, [ebp - 0x2284]
push eax
call fcn.0056c8b0
add esp, 0x44
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0xc84]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0xc04]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0xb84]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0xb04]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x1084]
push eax
lea eax, [ebp - 0x1a84]
push eax
lea eax, [ebp - 0x2284]
push eax
call fcn.0056c3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0xa84]
push eax
call fcn.0056d3e0
add esp, 0x48
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0xa04]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x984]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x904]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x1084]
push eax
lea eax, [ebp - 0x1884]
push eax
lea eax, [ebp - 0x2284]
push eax
call fcn.0056c3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x884]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x804]
push eax
call fcn.0056d3e0
add esp, 0x48
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x784]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x704]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x884]
push eax
lea eax, [ebp - 0x1e84]
push eax
lea eax, [ebp - 0x2284]
push eax
call fcn.0056c3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x684]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x604]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x584]
push eax
call fcn.0056d3e0
add esp, 0x48
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x504]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x884]
push eax
lea eax, [ebp - 0x1c84]
push eax
lea eax, [ebp - 0x2284]
push eax
call fcn.0056c3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x484]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x404]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x384]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x304]
push eax
call fcn.0056d3e0
add esp, 0x48
lea eax, [ebp - 0x884]
push eax
lea eax, [ebp - 0x1a84]
push eax
lea eax, [ebp - 0x2284]
push eax
call fcn.0056c3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x284]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x204]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x184]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.0056d3e0
mov esi, dword [ebp + 0x18]
lea edx, [ebp - 0x83]
mov ecx, dword [ebp + 0x10]
lea ebx, [ebp - 0x84]
sub edx, esi
sub ebx, esi
mov dword [ebp - 0x22a0], edx
sub ecx, esi
lea edx, [ebp - 0x82]
mov dword [ebp - 0x2294], ebx
sub edx, esi
mov dword [ebp - 0x228c], ecx
mov dword [ebp - 0x229c], edx
add esp, 0x3c
lea edx, [ebp - 0x81]
mov eax, esi
sub edx, esi
mov edi, 0x1f
mov dword [ebp - 0x2298], edx
nop dword [eax + eax]
mov cl, byte [ecx + eax]
lea eax, [eax + 4]
mov dl, byte [eax - 4]
and cl, 3
mov esi, dword [eax - 4]
and dl, 3
shl dl, 2
xor dl, cl
mov byte [ebx + eax - 4], dl
mov edx, esi
mov ebx, dword [ebp - 0x228c]
shr edx, 2
and dl, 3
shl dl, 2
mov ebx, dword [ebx + eax - 4]
mov ecx, ebx
shr ecx, 2
and cl, 3
xor dl, cl
mov ecx, dword [ebp - 0x22a0]
mov byte [ecx + eax - 4], dl
mov ecx, ebx
shr ecx, 4
mov edx, esi
shr edx, 4
and cl, 3
and dl, 3
shr ebx, 6
shl dl, 2
and bl, 3
xor dl, cl
mov ecx, dword [ebp - 0x229c]
mov byte [ecx + eax - 4], dl
mov ecx, esi
mov edx, dword [ebp - 0x2298]
shr ecx, 6
and cl, 3
shl cl, 2
xor cl, bl
mov ebx, dword [ebp - 0x2294]
mov byte [edx + eax - 4], cl
mov ecx, dword [ebp - 0x228c]
sub edi, 1
jne 0x56e4e0
mov ebx, dword [ebp + 0x18]
lea esi, [ebp - 0x2084]
mov edx, dword [ebp + 0x10]
mov cl, byte [ebx + 0x7c]
mov al, byte [edx + 0x7c]
and cl, 3
mov ebx, dword [ebx + 0x7c]
and al, 3
mov edx, dword [edx + 0x7c]
shl cl, 2
xor cl, al
mov eax, edx
mov byte [ebp - 8], cl
mov ecx, ebx
shr ecx, 2
shr ebx, 4
and cl, 3
and bl, 3
shr eax, 2
shr edx, 4
and al, 3
shl cl, 2
and dl, 3
xor cl, al
shl bl, 2
xor bl, dl
mov byte [ebp - 7], cl
movzx eax, bl
mov ecx, 0x80
mov byte [ebp - 6], bl
mov ebx, dword [ebp - 0x2290]
mov edi, ebx
shl eax, 9
add esi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, 0x7d
lea edi, [ebx + 0x80]
lea eax, [ebp - 0x2284]
push ebx
push eax
call fcn.0056c8b0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2284]
push eax
push ebx
call fcn.0056d3e0
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x2184]
push eax
push edi
call fcn.0056d3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebx + 0x100]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2284]
push ebx
push eax
call fcn.0056c8b0
mov al, byte [ebp + esi - 0x84]
add esp, 0x34
mov byte [ebp - 0x2285], al
test al, al
je 0x56e6d6
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2284]
push eax
push ebx
call fcn.0056d3e0
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebp - 0x2184]
push eax
push edi
call fcn.0056d3e0
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2204]
push eax
lea eax, [ebx + 0x100]
push eax
call fcn.0056d3e0
lea eax, [ebp - 0x2184]
push eax
lea eax, [ebp - 0x2284]
push eax
lea eax, [ebx + 0x180]
push eax
call fcn.0056d3e0
movzx eax, byte [ebp - 0x2285]
lea ecx, [ebp - 0x2084]
shl eax, 9
add eax, ecx
push eax
lea eax, [ebp - 0x2284]
push ebx
push eax
call fcn.0056c3e0
add esp, 0x3c
test esi, esi
je 0x56e72c
lea eax, [ebx + 0x100]
mov dword [ebp - 0x2294], edi
mov dword [ebp - 0x22a0], eax
lea ecx, [ebp - 0x2284]
lea eax, [ebp - 0x2204]
mov dword [ebp - 0x229c], eax
lea edx, [ebp - 0x2104]
lea eax, [ebp - 0x2104]
mov dword [ebp - 0x2298], eax
lea eax, [ebp - 0x2184]
mov dword [ebp - 0x2290], eax
lea eax, [ebp - 0x2204]
mov dword [ebp - 0x228c], eax
mov eax, ebx
jmp 0x56e799
lea eax, [ebp - 0x2104]
push eax
lea eax, [ebp - 0x2284]
push eax
push ebx
call fcn.0056d3e0
lea eax, [ebx + 0x180]
add esp, 0xc
mov dword [ebp - 0x22a0], eax
lea ecx, [ebp - 0x2184]
lea eax, [ebp - 0x2284]
mov dword [ebp - 0x229c], eax
lea edx, [ebp - 0x2204]
lea eax, [ebp - 0x2184]
mov dword [ebp - 0x2298], eax
lea eax, [ebx + 0x100]
mov dword [ebp - 0x2294], eax
lea eax, [ebp - 0x2204]
mov dword [ebp - 0x2290], eax
lea eax, [ebp - 0x2104]
mov dword [ebp - 0x228c], eax
mov eax, edi
push edx
push ecx
push eax
call fcn.0056d3e0
push dword [ebp - 0x228c]
push dword [ebp - 0x2290]
push dword [ebp - 0x2294]
call fcn.0056d3e0
push dword [ebp - 0x2298]
push dword [ebp - 0x229c]
push dword [ebp - 0x22a0]
call fcn.0056d3e0
add esp, 0x24
sub esi, 1
jns 0x56e5e7
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005b34c8
mov esp, ebp
pop ebp
ret