Function at 0x4f7ca0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x14
push 0
push 0
dec ecx
jne 0x4f7ca9
push ecx
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404ed0
mov eax, dword [ebp - 8]
call fcn.00404ed0
xor eax, eax
push ebp
push 0x4f8466
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x24]
call fcn.00404a30
mov eax, dword [ebp - 4]
call fcn.00404ce8
mov esi, eax
test esi, esi
jle 0x4f7d1d
mov ebx, 1
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 4]
movzx eax, byte [eax + ebx - 1]
mov edx, 2
call fcn.00409664
mov edx, dword [ebp - 0x30]
lea eax, [ebp - 0x24]
call fcn.00404cf0
inc ebx
dec esi
jne 0x4f7cf9
lea eax, [ebp - 0x28]
mov edx, dword [ebp - 8]
call fcn.00404ac8
lea eax, [ebp - 0x20]
push eax
mov ecx, 2
mov edx, 1
mov eax, dword [ebp - 0x24]
call fcn.00404f40
lea eax, [ebp - 0x1c]
push eax
mov ecx, 2
mov edx, 3
mov eax, dword [ebp - 0x24]
call fcn.00404f40
push 0x4f847c
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea eax, [ebp - 0x34]
mov edx, 3
call fcn.00404da8
mov eax, dword [ebp - 0x34]
call fcn.004096a0
mov word [ebp - 0x18], ax
lea eax, [ebp - 0x20]
push eax
mov ecx, 2
mov edx, 5
mov eax, dword [ebp - 0x24]
call fcn.00404f40
lea eax, [ebp - 0x1c]
push eax
mov ecx, 2
mov edx, 7
mov eax, dword [ebp - 0x24]
call fcn.00404f40
push 0x4f847c
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea eax, [ebp - 0x38]
mov edx, 3
call fcn.00404da8
mov eax, dword [ebp - 0x38]
call fcn.004096a0
mov word [ebp - 0xe], ax
lea eax, [ebp - 0x20]
push eax
mov ecx, 2
mov edx, 9
mov eax, dword [ebp - 0x24]
call fcn.00404f40
lea eax, [ebp - 0x1c]
push eax
mov ecx, 2
mov edx, 0xb
mov eax, dword [ebp - 0x24]
call fcn.00404f40
push 0x4f847c
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea eax, [ebp - 0x3c]
mov edx, 3
call fcn.00404da8
mov eax, dword [ebp - 0x3c]
call fcn.004096a0
mov word [ebp - 0x10], ax
lea eax, [ebp - 0x20]
push eax
mov ecx, 2
mov edx, 0xd
mov eax, dword [ebp - 0x24]
call fcn.00404f40
lea eax, [ebp - 0x1c]
push eax
mov ecx, 2
mov edx, 0xf
mov eax, dword [ebp - 0x24]
call fcn.00404f40
push 0x4f847c
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea eax, [ebp - 0x40]
mov edx, 3
call fcn.00404da8
mov eax, dword [ebp - 0x40]
call fcn.004096a0
mov esi, eax
mov word [ebp - 0x16], si
xor ebx, ebx
lea eax, [ebp - 0x20]
push eax
mov edi, ebx
shl edi, 3
lea edi, [edi + edi*2]
mov edx, edi
inc edx
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
lea eax, [ebp - 0x1c]
push eax
mov edx, edi
add edx, 3
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
push 0x4f847c
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea eax, [ebp - 0x44]
mov edx, 3
call fcn.00404da8
mov eax, dword [ebp - 0x44]
call fcn.004096a0
mov esi, eax
mov ax, word [ebp - 0x18]
mov edx, esi
call fcn.004f8548
mov esi, eax
mov word [ebp - 0x18], si
lea eax, [ebp - 0x20]
push eax
mov edx, edi
add edx, 5
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
lea eax, [ebp - 0x1c]
push eax
mov edx, edi
add edx, 7
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
push 0x4f847c
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea eax, [ebp - 0x48]
mov edx, 3
call fcn.00404da8
mov eax, dword [ebp - 0x48]
call fcn.004096a0
add word [ebp - 0xe], ax
lea eax, [ebp - 0x20]
push eax
mov edx, edi
add edx, 9
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
lea eax, [ebp - 0x1c]
push eax
mov edx, edi
add edx, 0xb
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
push 0x4f847c
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea eax, [ebp - 0x4c]
mov edx, 3
call fcn.00404da8
mov eax, dword [ebp - 0x4c]
call fcn.004096a0
add word [ebp - 0x10], ax
lea eax, [ebp - 0x20]
push eax
mov edx, edi
add edx, 0xd
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
lea eax, [ebp - 0x1c]
push eax
mov edx, edi
add edx, 0xf
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
push 0x4f847c
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea eax, [ebp - 0x50]
mov edx, 3
call fcn.00404da8
mov eax, dword [ebp - 0x50]
call fcn.004096a0
mov esi, eax
mov ax, word [ebp - 0x16]
mov edx, esi
call fcn.004f8548
mov esi, eax
mov word [ebp - 0x16], si
mov ax, word [ebp - 0x10]
mov word [ebp - 0x12], ax
mov ax, word [ebp - 0x18]
xor word [ebp - 0x10], ax
lea eax, [ebp - 0x20]
push eax
mov edx, edi
add edx, 0x11
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
lea eax, [ebp - 0x1c]
push eax
mov edx, edi
add edx, 0x13
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
push 0x4f847c
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea eax, [ebp - 0x54]
mov edx, 3
call fcn.00404da8
mov eax, dword [ebp - 0x54]
call fcn.004096a0
mov esi, eax
mov edx, esi
mov ax, word [ebp - 0x10]
call fcn.004f8548
mov esi, eax
mov ax, word [ebp - 0xe]
mov word [ebp - 0x14], ax
mov word [ebp - 0x10], si
mov ax, word [ebp - 0x16]
xor word [ebp - 0xe], ax
lea eax, [ebp - 0x20]
push eax
mov edx, ebx
shl edx, 3
lea edx, [edx + edx*2]
add edx, 0x15
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
lea eax, [ebp - 0x1c]
push eax
mov edx, edi
add edx, 0x17
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
push 0x4f847c
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea eax, [ebp - 0x58]
mov edx, 3
call fcn.00404da8
mov eax, dword [ebp - 0x58]
call fcn.004096a0
mov esi, eax
mov ax, word [ebp - 0x10]
add word [ebp - 0xe], ax
mov edx, esi
mov ax, word [ebp - 0xe]
call fcn.004f8548
mov esi, eax
mov word [ebp - 0xe], si
mov ax, word [ebp - 0xe]
add word [ebp - 0x10], ax
mov ax, word [ebp - 0xe]
xor word [ebp - 0x18], ax
mov ax, word [ebp - 0x10]
xor word [ebp - 0x16], ax
mov ax, word [ebp - 0x12]
xor word [ebp - 0xe], ax
mov ax, word [ebp - 0x14]
xor word [ebp - 0x10], ax
inc ebx
cmp ebx, 8
jne 0x4f7e6c
mov ebx, 8
lea eax, [ebp - 0x20]
push eax
mov edi, ebx
shl edi, 3
lea edi, [edi + edi*2]
mov edx, edi
inc edx
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
lea eax, [ebp - 0x1c]
push eax
mov edx, edi
add edx, 3
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
push 0x4f847c
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea eax, [ebp - 0x5c]
mov edx, 3
call fcn.00404da8
mov eax, dword [ebp - 0x5c]
call fcn.004096a0
mov si, word [ebp - 0x18]
mov edx, eax
mov eax, esi
call fcn.004f8548
mov esi, eax
mov word [ebp - 0x18], si
lea eax, [ebp - 0x20]
push eax
mov edx, edi
add edx, 5
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
lea eax, [ebp - 0x1c]
push eax
mov edx, edi
add edx, 7
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
push 0x4f847c
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea eax, [ebp - 0x60]
mov edx, 3
call fcn.00404da8
mov eax, dword [ebp - 0x60]
call fcn.004096a0
add word [ebp - 0x10], ax
lea eax, [ebp - 0x20]
push eax
mov edx, edi
add edx, 9
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
lea eax, [ebp - 0x1c]
push eax
mov edx, edi
add edx, 0xb
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
push 0x4f847c
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea eax, [ebp - 0x64]
mov edx, 3
call fcn.00404da8
mov eax, dword [ebp - 0x64]
call fcn.004096a0
add word [ebp - 0xe], ax
lea eax, [ebp - 0x20]
push eax
mov edx, edi
add edx, 0xd
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
lea eax, [ebp - 0x1c]
push eax
mov edx, edi
add edx, 0xf
mov ecx, 2
mov eax, dword [ebp - 0x28]
call fcn.00404f40
push 0x4f847c
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
lea eax, [ebp - 0x68]
mov edx, 3
call fcn.00404da8
mov eax, dword [ebp - 0x68]
call fcn.004096a0
mov si, word [ebp - 0x16]
mov edx, eax
mov eax, esi
call fcn.004f8548
mov esi, eax
mov word [ebp - 0x16], si
lea eax, [ebp - 0x2c]
call fcn.00404a30
mov si, word [ebp - 0x18]
push dword [ebp - 0x2c]
lea eax, [ebp - 0x6c]
push eax
lea ecx, [ebp - 0x70]
movzx ebx, si
mov eax, ebx
mov edx, 4
call fcn.00409664
mov eax, dword [ebp - 0x70]
mov ecx, 2
mov edx, 3
call fcn.00404f40
push dword [ebp - 0x6c]
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x78]
mov eax, ebx
mov edx, 4
call fcn.00409664
mov eax, dword [ebp - 0x78]
mov ecx, 2
mov edx, 1
call fcn.00404f40
push dword [ebp - 0x74]
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.00404da8
push dword [ebp - 0x2c]
lea eax, [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x80]
movzx ebx, word [ebp - 0x10]
mov eax, ebx
mov edx, 4
call fcn.00409664
mov eax, dword [ebp - 0x80]
mov ecx, 2
mov edx, 3
call fcn.00404f40
push dword [ebp - 0x7c]
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x88]
mov eax, ebx
mov edx, 4
call fcn.00409664
mov eax, dword [ebp - 0x88]
mov ecx, 2
mov edx, 1
call fcn.00404f40
push dword [ebp - 0x84]
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.00404da8
push dword [ebp - 0x2c]
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0x90]
movzx eax, word [ebp - 0xe]
mov edx, 4
call fcn.00409664
mov eax, dword [ebp - 0x90]
mov ecx, 2
mov edx, 3
call fcn.00404f40
push dword [ebp - 0x8c]
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x98]
movzx eax, word [ebp - 0xe]
mov edx, 4
call fcn.00409664
mov eax, dword [ebp - 0x98]
mov ecx, 2
mov edx, 1
call fcn.00404f40
push dword [ebp - 0x94]
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.00404da8
mov si, word [ebp - 0x16]
push dword [ebp - 0x2c]
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xa0]
movzx eax, si
mov edx, 4
call fcn.00409664
mov eax, dword [ebp - 0xa0]
mov ecx, 2
mov edx, 3
call fcn.00404f40
push dword [ebp - 0x9c]
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0xa8]
movzx eax, si
mov edx, 4
call fcn.00409664
mov eax, dword [ebp - 0xa8]
mov ecx, 2
mov edx, 1
call fcn.00404f40
push dword [ebp - 0xa4]
lea eax, [ebp - 0x2c]
mov edx, 3
call fcn.00404da8
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x2c]
call fcn.00404a84
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4f846d
lea eax, [ebp - 0xa8]
mov edx, 0x24
call fcn.00404a54
lea eax, [ebp - 8]
mov edx, 2
call fcn.00404a54
ret