Function at 0x5f36f8
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffef0
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x110], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x5f39be
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 1], 0
xor eax, eax
push ebp
push 0x5f398a
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 8]
call fcn.00404ae4
call fcn.00402bc4
mov dword [ebp - 0x10], 1
mov eax, 0xff
call fcn.00403244
lea ecx, [ebp - 0x110]
mov edx, 2
call fcn.0040a604
mov edx, dword [ebp - 0x110]
lea eax, [ebp - 8]
call fcn.00404dbc
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x11
jne 0x5f3746
lea edx, [ebp - 0x20]
mov eax, dword [ebp - 8]
call fcn.0049b78c
mov edx, dword [0x669174]
add edx, 0x14
lea eax, [ebp - 0x20]
mov ecx, 0x10
call fcn.0049b428
mov eax, dword [0x669174]
add eax, 0x11
mov edx, 0x13
call fcn.005d5aa8
mov edx, dword [0x669174]
mov byte [edx + 0x24], al
mov edx, dword [0x6691f8]
mov eax, dword [0x669174]
mov ecx, 0x25
call fcn.0049b428
xor ecx, ecx
mov edx, 0x25
mov eax, 0x222040
call fcn.005c7d90
mov eax, dword [0x669b48]
mov eax, dword [eax]
call fcn.00498e74
mov eax, 0x1000
call fcn.005e668c
lea ecx, [ebp - 0xc]
mov eax, dword [0x66a180]
mov eax, dword [eax]
add eax, 0xc
mov edx, 0x10
call fcn.0049b85c
lea eax, [ebp - 8]
mov edx, 0x5f39d8
call fcn.00404b7c
lea edx, [ebp - 0x109]
mov eax, dword [ebp - 8]
call fcn.0049b78c
lea edx, [ebp - 0xf9]
mov eax, dword [ebp - 0xc]
call fcn.0049b78c
lea eax, [ebp - 0xe9]
xor ecx, ecx
mov edx, 0xc8
call fcn.00403224
lea edx, [ebp - 0x20]
lea eax, [ebp - 0xe9]
mov ecx, 0x10
call fcn.00408350
lea edx, [ebp - 0xf9]
lea eax, [ebp - 0xd9]
mov ecx, 0x10
call fcn.00408350
mov al, byte [ebp - 0xe5]
xor al, byte [ebp - 0xce]
mov byte [ebp - 0xc9], al
mov al, byte [ebp - 0xde]
xor al, byte [ebp - 0xd5]
mov byte [ebp - 0xc8], al
lea ecx, [ebp - 0x85]
lea eax, [ebp - 0xe9]
mov edx, 0x22
call fcn.0049d79c
lea eax, [ebp - 0x75]
xor ecx, ecx
mov edx, 4
call fcn.00403224
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov al, byte [ebp + eax - 0x109]
mov edx, dword [ebp - 0x10]
xor al, byte [ebp + edx - 0x20]
mov edx, dword [ebp - 0x10]
add edx, 0x74
mov byte [ebp + edx - 0xe9], al
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x10
jne 0x5f38b8
lea ecx, [ebp - 0x65]
lea eax, [ebp - 0x85]
mov edx, 0x20
call fcn.0049d79c
mov edx, dword [0x669f24]
add edx, 0x14
lea eax, [ebp - 0x85]
mov ecx, 0x28
call fcn.0049b428
mov eax, dword [0x669f24]
add eax, 0x11
mov edx, 0x2b
call fcn.005d5aa8
mov edx, dword [0x669f24]
mov byte [edx + 0x3c], al
mov edx, dword [0x6691f8]
mov eax, dword [0x669f24]
mov ecx, 0x3d
call fcn.0049b428
xor ecx, ecx
mov edx, 0x3d
mov eax, 0x222040
call fcn.005c7d90
mov eax, dword [0x669b48]
mov eax, dword [eax]
call fcn.00498e74
mov eax, 0x1000
call fcn.005e668c
mov eax, dword [0x66a180]
mov eax, dword [eax]
cmp byte [eax + 0xb], 1
jne 0x5f3980
mov eax, dword [0x66a180]
mov eax, dword [eax]
cmp byte [eax + 0xc], 1
jne 0x5f3980
mov byte [ebp - 1], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5f3998
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5f39c5
lea eax, [ebp - 0x110]
call fcn.00404ae4
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00404b08
ret