Function at 0x4778b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [0x53d9f8]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
mov eax, dword [ecx]
lea esi, [ebp - 0x10]
mov dword [ebp - 0x14], eax
lea edi, [ecx + 8]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 8], eax
mov dword [ebp - 0x44], 4
lea ebx, [ebx]
mov bl, byte [esi - 4]
mov cl, bl
mov byte [ebp - 0x17], bl
add cl, cl
mov al, cl
movzx edx, cl
xor al, 0x1b
cmp bl, 0x80
movzx eax, al
cmovae edx, eax
mov bl, byte [esi]
mov cl, dl
mov dword [ebp - 0x2c], edx
add cl, cl
mov byte [ebp - 0x16], bl
mov al, cl
movzx ecx, cl
xor al, 0x1b
cmp dl, 0x80
movzx eax, al
cmovae ecx, eax
mov dword [ebp - 0x34], ecx
mov bh, cl
mov cl, bl
add bh, bh
add cl, cl
mov al, cl
movzx edx, cl
xor al, 0x1b
cmp bl, 0x80
movzx eax, al
cmovae edx, eax
mov cl, dl
mov dword [ebp - 0x48], edx
add cl, cl
mov al, cl
movzx ecx, cl
xor al, 0x1b
cmp dl, 0x80
movzx eax, al
cmovae ecx, eax
mov dword [ebp - 0x3c], ecx
mov bl, cl
mov ch, byte [esi + 4]
add bl, bl
mov cl, ch
mov byte [ebp - 0x15], ch
add cl, cl
mov al, cl
movzx edx, cl
xor al, 0x1b
cmp ch, 0x80
movzx eax, al
cmovae edx, eax
mov cl, dl
mov dword [ebp - 0x40], edx
add cl, cl
mov al, cl
movzx ecx, cl
xor al, 0x1b
cmp dl, 0x80
movzx eax, al
cmovae ecx, eax
mov dword [ebp - 0x1c], ecx
mov dl, cl
mov ch, byte [esi + 8]
add dl, dl
mov cl, ch
mov byte [ebp - 0x1d], ch
add cl, cl
mov al, cl
xor al, 0x1b
cmp ch, 0x80
mov dword [ebp - 0x28], eax
movzx eax, cl
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
movzx eax, al
cmovae ecx, eax
mov dword [ebp - 0x24], ecx
add cl, cl
mov al, cl
movzx ecx, cl
xor al, 0x1b
cmp byte [ebp - 0x24], 0x80
movzx eax, al
cmovae ecx, eax
mov dword [ebp - 0x28], ecx
add cl, cl
mov al, cl
movzx ecx, cl
xor al, 0x1b
cmp byte [ebp - 0x28], 0x80
movzx eax, al
cmovae ecx, eax
mov al, dl
xor al, 0x1b
mov dword [ebp - 0x30], ecx
cmp byte [ebp - 0x1c], 0x80
movzx eax, al
movzx ecx, dl
cmovae ecx, eax
movzx edx, bl
mov al, bl
mov dword [ebp - 0x38], ecx
xor al, 0x1b
movzx ecx, bh
cmp byte [ebp - 0x3c], 0x80
movzx eax, al
cmovae edx, eax
mov al, bh
xor al, 0x1b
mov ebx, dword [ebp - 0x38]
cmp byte [ebp - 0x34], 0x80
movzx eax, al
cmovae ecx, eax
mov ah, byte [ebp - 0x1d]
mov al, bl
mov ebx, dword [ebp - 0x48]
xor al, byte [ebp - 0x1c]
xor al, byte [ebp - 0x2c]
xor al, cl
xor al, byte [ebp - 0x34]
xor al, bl
xor al, dl
xor al, byte [ebp - 0x30]
xor al, ah
xor al, byte [ebp - 0x15]
xor al, byte [ebp - 0x16]
mov byte [edi - 8], al
mov al, cl
xor al, dl
xor al, byte [ebp - 0x28]
xor al, byte [ebp - 0x3c]
xor al, bl
mov ebx, dword [ebp - 0x38]
xor al, ah
xor al, byte [ebp - 0x15]
xor al, byte [ebp - 0x40]
xor al, byte [ebp - 0x30]
xor al, bl
mov ebx, dword [ebp - 0x1c]
xor al, byte [ebp - 0x17]
xor bl, cl
xor bl, dl
mov byte [edi - 4], al
xor bl, byte [ebp - 0x24]
xor bl, byte [ebp - 0x34]
xor bl, ah
mov eax, ebx
mov dword [ebp - 0x1c], ebx
xor al, byte [ebp - 0x16]
xor al, byte [ebp - 0x17]
xor al, byte [ebp - 0x40]
mov ebx, dword [ebp - 0x38]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x30]
xor byte [ebp - 0x1c], al
mov eax, dword [ebp - 0x1c]
xor al, bl
mov byte [edi], al
xor byte [ebp - 0x2c], cl
lea esi, [esi + 1]
mov ecx, dword [ebp - 0x2c]
lea edi, [edi + 1]
mov eax, dword [ebp - 0x30]
xor cl, dl
xor cl, byte [ebp - 0x28]
xor cl, byte [ebp - 0x24]
xor cl, byte [ebp - 0x3c]
xor cl, byte [ebp - 0x15]
xor cl, byte [ebp - 0x16]
xor cl, byte [ebp - 0x17]
xor cl, al
xor cl, bl
sub dword [ebp - 0x44], 1
mov byte [edi + 3], cl
jne 0x4778f0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004bee49
mov esp, ebp
pop ebp
ret 4