Function at 0x410130
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
inc dword [0x452404]
mov eax, dword [0x452404]
imul eax, eax, 0xf873a366
push ebx
push esi
push edi
xor eax, dword [0x448e3c]
mov dword [0x448e3c], eax
movzx eax, word [0x4381cc]
cwde
xor dword [0x449128], eax
mov eax, 0x9538204
mov dword [0x449adc], 0xc38032ef
movsx ecx, word [0x43f9b0]
shl ecx, 3
sub eax, ecx
add dword [0x44d3d4], eax
mov eax, dword [ebp + 0xc]
add eax, 4
push eax
call fcn.004244b0
inc dword [0x4517ec]
mov esi, eax
mov edx, dword [0x4517ec]
add esp, 4
inc dword [0x44ff04]
mov eax, dword [0x44ff04]
movzx ecx, word [0x43bed0]
mov edi, dword [ebp + 8]
imul ecx, eax
mov dword [ebp - 4], esi
imul ecx, edx
mov word [0x43bed0], cx
dec word [0x4350a4]
movzx eax, word [0x4350a4]
cwde
and eax, 0x58b8be60
or eax, dword [0x4548d8]
mov dword [0x4548d8], eax
add dword [0x451204], 0x5dee7b40
movzx eax, byte [edi + 0x430198]
mov byte [esi], al
mov eax, dword [0x450c34]
xor eax, 0xde255f0f
add dword [0x4488ac], eax
mov eax, dword [0x456978]
movzx eax, byte [eax + edi]
xor byte [esi], al
movzx eax, word [0x43fa66]
sub eax, 0x2df80d89
mov word [0x43fa66], ax
movsx eax, word [0x436a4a]
and eax, 0xd49d410f
cmp eax, 0xff9ac16f
je 0x410257
mov eax, dword [0x456270]
mov ecx, dword [0x44bbc0]
not eax
imul eax, eax, 0x69d03e6
or ecx, eax
or ecx, 0xd195b659
mov dword [0x44bbc0], ecx
movzx eax, word [0x43b8fe]
add eax, 0x69bcae0c
mov word [0x43b8fe], ax
mov al, byte [edi + 0x430199]
mov byte [esi + 1], al
movsx eax, word [0x43b90c]
and eax, 0x20fda6ba
cmp eax, 0x4f9c0d80
jne 0x41028f
add dword [0x44af04], 0x2beb4c2c
mov eax, dword [0x456978]
mov al, byte [eax + edi + 1]
add edi, 2
xor byte [esi + 1], al
mov eax, dword [0x44e0bc]
shl eax, 3
mov dword [0x452844], eax
imul eax, dword [0x44c61c], 0xa6f0140c
mov dword [0x44c61c], eax
mov eax, dword [0x4486b0]
dec dword [0x4486b0]
add eax, 0x27bdbaec
cmp eax, 0xf6ceccd6
jle 0x410301
movsx eax, word [0x43f880]
movsx ecx, word [0x43fcbc]
add eax, 0x9cb564b9
xor ecx, eax
mov eax, dword [0x442390]
imul eax, ecx
mov dword [0x442390], eax
inc word [0x43fcbc]
dec word [0x43f880]
movsx ecx, word [0x43ecec]
movzx ebx, word [esi]
mov eax, dword [0x450cd8]
sar ecx, 7
and ecx, 0x602d6d06
mov dword [ebp + 8], ebx
or eax, ecx
xor dword [0x4549e4], eax
lea eax, [ebx + 3]
push eax
lea eax, [edi + 0x430198]
push eax
push esi
call fcn.00411ce0
mov eax, dword [0x454680]
add esp, 0xc
mov ecx, dword [0x444c9c]
add eax, 0xbfd03652
add ecx, eax
mov dword [0x454680], ecx
mov eax, dword [0x450264]
mov ecx, dword [0x44e2ec]
shl eax, 2
or ecx, eax
or ecx, 0x56585549
cmp ecx, 0xbddc6f5
jge 0x4103b2
inc dword [0x44c9cc]
mov edx, dword [0x44c9cc]
mov ax, word [0x4396b6]
movsx ecx, word [0x43f9a6]
imul ecx, edx
cwde
imul ecx, eax
cmp ecx, 0x6cc70e8a
jl 0x4103b2
movsx ecx, word [0x43714a]
movzx eax, word [0x43657a]
or ecx, 0x476eddf3
sub eax, ecx
mov word [0x43657a], ax
mov ax, word [0x436ca2]
lea edx, [esi + 3]
movsx ecx, ax
add edx, ebx
movsx eax, word [0x43c6be]
add eax, ecx
mov ecx, dword [0x440478]
or ecx, eax
or ecx, 0x15248f2
mov dword [0x440478], ecx
dec word [0x43c6be]
inc word [0x436ca2]
imul eax, dword [0x440fb4], 0xc6d34dea
mov ecx, dword [0x456978]
add ecx, edi
mov dword [0x440fb4], eax
cmp esi, edx
je 0x41042e
sub ecx, esi
mov ebx, 0x1b81
lea ecx, [ecx]
xor dword [0x4495f4], 0x208530d8
mov al, byte [ecx + esi]
xor byte [esi], al
inc esi
mov word [0x438e16], bx
cmp esi, edx
jne 0x410410
mov ebx, dword [ebp + 8]
add dword [0x44a3a0], 0x80301c43
cmp dword [ebp + 0xc], ebx
je 0x4104fd
mov eax, dword [0x44e078]
and eax, dword [0x449480]
mov dword [0x44e078], eax
mov byte [edx], 0
movzx eax, word [0x43ba46]
mov ecx, dword [0x447650]
cwde
and ecx, eax
and ecx, 0x41244300
mov word [0x43ba46], cx
mov ecx, dword [0x44c398]
movzx eax, word [0x43ffc6]
not ecx
or ecx, 0xaba00715
add eax, ecx
mov word [0x43ffc6], ax
mov eax, dword [0x446824]
mov edi, dword [edx - 3]
and eax, 0x4c400d42
inc dword [0x446824]
cmp eax, 0x779fffcf
je 0x4104cc
mov eax, dword [0x44a8f8]
shl eax, 5
sub eax, 0x193572ca
and eax, 0x4a4010a9
cmp eax, 0xc40f5
je 0x4104cc
mov eax, dword [0x448464]
inc dword [0x448464]
movsx ecx, word [0x43bf98]
lea esi, [edx - 3]
movzx eax, word [0x43da5e]
or ecx, 0x69bf67b4
sub dword [ebp + 0xc], ebx
and eax, ecx
mov word [0x43da5e], ax
xor dword [0x455760], 0xa6e1ba49
jmp 0x4101e3
mov ecx, dword [0x45498c]
pop edi
sar ecx, 0xa
pop esi
pop ebx
cmp ecx, 0xe5da2141
jl 0x41052b
mov ecx, dword [0x44a598]
imul ecx, dword [0x44416c]
mov eax, dword [ebp - 4]
mov dword [0x44416c], ecx
mov esp, ebp
pop ebp
ret
movzx eax, word [0x43d41c]
imul eax, eax, 0xf7ffbfff
mov word [0x43d41c], ax
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret