Function at 0x41f990
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [0x477f20]
add eax, 0xc52b5767
cmp eax, 0xb096e59d
jg 0x41f9c0
mov eax, dword [0x4889a4]
lea ecx, [eax + 1]
mov dword [0x4889a4], ecx
cmp eax, 0x615627bb
je 0x41f9c0
or dword [0x47d2e8], 0x34584d72
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov edx, dword [esp + 0x2c]
mov eax, dword [0x48ccfc]
inc eax
mov dword [0x48ccfc], eax
mov cx, word [0x49641c]
movsx ecx, cx
and ecx, 0x7d406876
xor ecx, eax
cmp ecx, 0xfcbb876d
je 0x41fa0e
mov ax, word [0x48ef8a]
cwde
sar eax, 3
add eax, 0x296ed16d
mov ecx, dword [0x4868c4]
imul ecx, eax
mov dword [0x4868c4], ecx
mov ebx, dword [esp + 0x28]
mov ax, word [0x48f63a]
add eax, 0x65df
mov word [0x48f63a], ax
mov ax, word [0x48e02a]
and eax, 0x7540
mov word [0x48e02a], ax
lea eax, [edx + 4]
mov dword [esp + 0x10], edx
mov dword [esp], eax
call fcn.00442bf5
mov dword [esp + 0xc], eax
mov edx, dword [0x47e744]
mov ecx, dword [0x486f88]
shl ecx, 9
or ecx, edx
or ecx, 0xd7a04d3
xor dword [0x4827b8], ecx
add dword [0x481080], 0x153af0f9
jmp 0x41fa9a
mov ebx, dword [eax]
xor dword [0x478168], 0xfb3f899e
mov cx, word [0x4978d2]
imul ecx, ecx, 0xffffa627
mov word [0x4978d2], cx
add dword [0x48c84c], 0x3f8e2b1c
mov ebp, eax
mov ax, word [0x494374]
cwde
imul eax, eax, 0x2bfe2300
xor eax, 0x2ddbcfd2
mov ecx, dword [0x4820b4]
imul ecx, eax
mov dword [0x4820b4], ecx
mov al, byte [ebx + section..data]
mov byte [ebp], al
mov ax, word [0x491790]
mov cx, word [0x4919c4]
lea eax, [eax + ecx - 0x136]
mov word [0x4919c4], ax
mov eax, dword [0x4985a0]
mov al, byte [eax + ebx]
xor byte [ebp], al
xor dword [0x4886a0], 0xffbfefb7
add dword [0x48b83c], 0xb644c2c6
or dword [0x47d454], 0xb9d73eed
mov al, byte [ebx + 0x46a001]
mov byte [ebp + 1], al
mov ax, word [0x490f74]
cwde
mov dword [0x47c4a0], eax
mov eax, dword [0x4985a0]
mov al, byte [eax + ebx + 1]
xor byte [ebp + 1], al
mov eax, dword [0x477374]
cmp eax, 0x8937c76c
jg 0x41fb6c
mov eax, dword [0x487d28]
lea ecx, [eax + 1]
mov dword [0x487d28], ecx
mov cx, word [0x49503c]
lea edx, [ecx - 1]
mov word [0x49503c], dx
movsx ecx, cx
imul ecx, ecx, 0x26f2a5bd
and ecx, eax
mov eax, dword [0x489640]
sub eax, ecx
mov dword [0x489640], eax
mov word [0x496b52], 0xffd2
add ebx, 2
mov eax, dword [0x48ca18]
cmp eax, 0xdf1d59cd
jg 0x41fba2
mov eax, dword [0x480fa0]
lea ecx, [eax - 1]
mov dword [0x480fa0], ecx
mov cx, word [0x493cb2]
and ecx, eax
mov word [0x493cb2], cx
movzx esi, word [ebp]
mov eax, dword [0x47e7bc]
imul eax, eax, 0x9aefeacc
add dword [0x48b828], eax
lea eax, [ebx + section..data]
lea edi, [esi + 3]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00441e50
add dword [0x48af68], 0x7f3db9bf
mov ax, word [0x491e32]
dec eax
mov word [0x491e32], ax
cwde
mov ecx, dword [0x477540]
lea eax, [eax + ecx + 0x6e4eb0cf]
mov dword [0x477540], eax
lea eax, [ebp + esi + 3]
add dword [0x486b64], 0x28e07703
add ebx, dword [0x4985a0]
mov ecx, dword [0x48c0ec]
mov cx, word [0x48df04]
dec ecx
mov word [0x48df04], cx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
dec dword [0x48ab68]
mov cl, byte [ebx]
xor byte [ebp], cl
mov cx, word [0x4902de]
imul ecx, ecx, 0xffffe068
mov word [0x4902de], cx
inc ebp
inc ebx
dec edi
jne 0x41fc30
mov ecx, dword [0x476df0]
imul ecx, ecx, 0x4bd2b850
mov dword [0x476df0], ecx
mov ecx, dword [esp + 0x10]
sub ecx, esi
je 0x41fcd1
mov dword [esp + 0x10], ecx
xor dword [0x485358], 0x108000
mov byte [eax], 0
mov ecx, dword [0x4803e8]
imul ecx, ecx, 0x331820d3
mov edx, dword [0x47b88c]
lea ecx, [ecx + edx - 0x355cc357]
mov dword [0x47b88c], ecx
add eax, 0xfffffffd
mov ecx, dword [0x47c184]
lea edx, [ecx - 1]
mov dword [0x47c184], edx
add ecx, 0x9c801f
cmp ecx, 0xb289b648
jl 0x41fa70
add dword [0x479a74], 0xb33303db
jmp 0x41fa70
mov eax, dword [0x4812f4]
dec eax
mov dword [0x4812f4], eax
mov dword [0x48261c], eax
mov eax, dword [esp + 0xc]
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret