Function at 0x419061
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x4cdbf8]
xor eax, ebp
mov dword [ebp - 4], eax
movzx eax, byte [0x554620]
push ebx
push esi
push edi
push 7
mov dword [ebp - 0x18], eax
mov ebx, edx
add eax, 0xfffffff9
mov dword [ebp - 0x14], ebx
pop edi
xor esi, esi
cmp eax, edi
jle 0x4190b9
mov ebx, eax
push esi
push edi
push 6
pop edx
mov ecx, 0x554620
call fcn.004199ca
push esi
push 6
mov edx, edi
mov ecx, 0x554620
call fcn.004199ca
add edi, 2
add esp, 0x10
cmp edi, ebx
jl 0x419091
mov esi, dword [ebp - 0x18]
or edi, 0xffffffff
lea eax, [edi - 3]
cdq
mov ecx, eax
xor ecx, edx
sub ecx, edx
or ebx, 0xffffffff
mov dword [ebp - 0x10], ecx
lea eax, [ebx - 3]
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
cmovg eax, ecx
cmp eax, 2
je 0x4190e6
cmp eax, 4
jne 0x41910e
push ecx
push edi
mov edx, ebx
call fcn.00419a06
pop ecx
lea edx, [esi - 7]
push edi
add edx, ebx
call fcn.00419a06
lea eax, [esi - 7]
mov edx, ebx
pop ecx
add eax, edi
push eax
call fcn.00419a06
pop ecx
pop ecx
mov ecx, dword [ebp - 0x10]
inc ebx
lea eax, [ebx - 3]
cmp eax, 4
jle 0x4190cf
inc edi
lea eax, [edi - 3]
cmp eax, 4
jle 0x4190bf
mov ebx, dword [ebp - 0x14]
lea edx, [ebp - 0xc]
mov ecx, ebx
call fcn.004193ae
xor esi, esi
mov ecx, eax
mov dword [ebp - 0x20], ecx
mov edi, esi
mov dword [ebp - 0x10], edi
test ecx, ecx
jle 0x4191e0
xor ebx, ebx
mov esi, ebx
mov dword [ebp - 0x2c], ebx
test edi, edi
jne 0x419159
test esi, esi
je 0x4191c3
lea eax, [ecx - 1]
cmp esi, eax
je 0x4191c3
jmp 0x41915c
lea eax, [ecx - 1]
cmp edi, eax
jne 0x419164
test esi, esi
je 0x4191c3
movzx ecx, byte [ebp + edi - 0xc]
or dword [ebp - 0x1c], 0xffffffff
movzx eax, byte [ebp + esi - 0xc]
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], ecx
or esi, 0xffffffff
add eax, edi
mov dword [ebp - 0x1c], eax
test esi, esi
jne 0x41918f
mov byte [ebp - 0x24], 1
test edi, edi
je 0x419192
mov byte [ebp - 0x24], bl
push dword [ebp - 0x24]
lea edx, [ecx + esi]
mov ecx, 0x554620
push eax
call fcn.004199ca
mov eax, dword [ebp - 0x1c]
inc esi
pop ecx
pop ecx
mov ecx, dword [ebp - 0x28]
cmp esi, 1
jle 0x419183
mov eax, dword [ebp - 0x30]
inc edi
cmp edi, 1
jle 0x41917b
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x20]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, ecx
jl 0x419148
inc edi
mov dword [ebp - 0x10], edi
cmp edi, ecx
jl 0x419143
mov ebx, dword [ebp - 0x14]
xor esi, esi
cmp ebx, 7
jl 0x419255
push 0xc
mov edx, ebx
pop edi
mov eax, edx
add edx, edx
sar eax, 0xb
imul ecx, eax, 0x1f25
xor edx, ecx
sub edi, 1
jne 0x4191ea
mov eax, dword [ebp - 0x18]
shl ebx, 0xc
or ebx, edx
add eax, 0xfffffff5
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x20], eax
mov edi, eax
mov dword [ebp - 0x18], 3
and ebx, 0xffffff01
mov edx, edi
push ebx
push esi
mov ecx, 0x554620
call fcn.004199ca
push ebx
push edi
mov edx, esi
mov ecx, 0x554620
call fcn.004199ca
mov ebx, dword [ebp - 0x14]
add esp, 0x10
sar ebx, 1
inc edi
sub dword [ebp - 0x18], 1
mov dword [ebp - 0x14], ebx
jne 0x419218
mov eax, dword [ebp - 0x20]
inc esi
cmp esi, 6
jl 0x41920f
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0047fe8c
leave
ret