Function at 0x41c370
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov edx, dword [esp + 0x2c]
mov ax, word [0x482354]
and eax, 0x803a
mov word [0x482354], ax
mov eax, dword [0x48b3d4]
imul eax, eax, 0x324b941
mov dword [0x48b3d4], eax
mov eax, dword [0x487838]
and eax, 0x502182a0
or eax, 0xa78e314e
cmp eax, 0xbed6f9ed
ja 0x41c3be
xor dword [0x48a9c8], 0xfafeeed7
jmp 0x41c3dd
mov eax, dword [0x48c4f4]
or eax, 0x6474
xor eax, 0x9b8b
mov cx, word [0x4812c6]
sub ecx, eax
mov word [0x4812c6], cx
mov ebx, dword [esp + 0x28]
xor dword [0x48cdec], 0x28249963
lea eax, [edx + 4]
mov dword [esp + 0x10], edx
mov dword [esp], eax
call fcn.0044e625
mov dword [esp + 0xc], eax
mov ecx, dword [0x48da54]
dec ecx
mov dword [0x48da54], ecx
and ecx, 0x30a007cc
or dword [0x48bde0], ecx
and dword [0x4877e8], 0xe795063b
jmp 0x41c47d
mov dword [esp + 0x10], ecx
xor dword [0x48c1f4], 0xaa38c185
mov byte [eax], 0
add dword [0x48b4ec], 0x78064b14
mov ecx, dword [0x4893a4]
mov ebx, dword [eax - 3]
add eax, 0xfffffffd
add dword [0x484cac], 0x4970fb8f
add dword [0x48b8cc], 0xcc6a07cf
mov ecx, dword [0x48a3dc]
xor ecx, 0xc360e6c5
and dword [0x48b6d0], ecx
mov ebp, eax
mov dword [0x4887dc], 0x52799456
mov al, byte [ebx + section..data]
mov byte [ebp], al
mov eax, dword [0x48ca24]
or eax, 0xebbd4024
mov ecx, dword [0x4878c0]
sub ecx, eax
mov dword [0x4878c0], ecx
mov eax, dword [0x48eecc]
mov al, byte [eax + ebx]
xor byte [ebp], al
mov ax, word [0x4803c4]
or eax, 0x1d99
mov word [0x4803c4], ax
mov eax, dword [0x48e6f0]
lea ecx, [eax - 1]
mov dword [0x48e6f0], ecx
mov ecx, dword [0x48ca70]
inc ecx
mov dword [0x48ca70], ecx
or ecx, eax
mov eax, dword [0x488ef8]
mov dx, word [0x483402]
lea esi, [edx + 1]
mov word [0x483402], si
movsx edx, dx
imul edx, edx, 0xb4dc481c
xor edx, eax
cmp ecx, edx
jl 0x41c527
mov eax, dword [0x48c2f0]
xor eax, 0xcd3856a8
mov ecx, dword [0x48d5b4]
or ecx, eax
mov eax, dword [0x48c7fc]
imul eax, ecx
mov dword [0x48c7fc], eax
mov eax, dword [0x48d6f0]
lea ecx, [eax - 1]
mov dword [0x48d6f0], ecx
xor eax, 0x828401c
mov cx, word [0x482958]
dec ecx
mov word [0x482958], cx
movsx ecx, cx
cmp eax, ecx
jg 0x41c556
inc dword [0x48ea58]
mov al, byte [ebx + 0x476001]
mov byte [ebp + 1], al
mov eax, dword [0x48ee60]
mov ecx, 0xd1173ec8
sub ecx, eax
mov dword [0x4884d8], ecx
mov eax, dword [0x48eecc]
mov al, byte [eax + ebx + 1]
xor byte [ebp + 1], al
mov eax, dword [0x484b88]
dec eax
mov dword [0x484b88], eax
mov ecx, dword [0x48cddc]
sub eax, ecx
cmp eax, 0x1102105
jl 0x41c5ac
mov eax, dword [0x48bd24]
mov cx, word [0x483356]
sub ecx, eax
mov word [0x483356], cx
add dword [0x487500], 0x94c730
add ebx, 2
mov eax, dword [0x48e654]
cmp eax, 0xfe2f4451
je 0x41c5cf
xor dword [0x486dd0], 0xd57a2c92
movzx esi, word [ebp]
mov ax, word [0x48105e]
mov ax, word [0x4824de]
or eax, 0xc4c0
mov word [0x4824de], ax
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.0044d880
mov eax, dword [0x48d9d0]
mov ecx, 0xc34cee5e
sub ecx, eax
xor ecx, 0x3436765a
mov eax, dword [0x489ac4]
imul eax, ecx
mov dword [0x489ac4], eax
mov eax, dword [0x486f38]
lea ecx, [eax - 1]
mov dword [0x486f38], ecx
add eax, 0xea35
mov cx, word [0x47fd58]
and ecx, eax
mov word [0x47fd58], cx
lea eax, [ebp + esi + 3]
and dword [0x48c648], 0x7f590d7b
add ebx, dword [0x48eecc]
add dword [0x486e30], 0xa78e051a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov cx, word [0x482e86]
movsx ecx, cx
shl ecx, 6
xor dword [0x48cc88], ecx
mov cl, byte [ebx]
xor byte [ebp], cl
xor dword [0x489638], 0x971c4ad4
inc ebp
inc ebx
dec edi
jne 0x41c670
add dword [0x487d90], 0x7727c89e
mov ecx, dword [esp + 0x10]
sub ecx, esi
jne 0x41c430
mov dword [0x4858d8], 0xb7002003
mov eax, dword [esp + 0xc]
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret