Function at 0x41a805
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x435a44]
or eax, dword [0x433f1c]
mov dword [0x433f1c], eax
or dword [0x434084], 0xc858df51
dec dword [0x4340dc]
mov ecx, dword [0x4340dc]
movzx eax, word [0x439726]
and ecx, 0xb93174d4
xor ecx, eax
mov word [0x439726], cx
mov ecx, dword [0x435f48]
movzx eax, word [0x438bdc]
sar ecx, 5
and ecx, 0x8cdae3ff
xor ecx, 0xac2f7378
and eax, ecx
push ebx
mov word [0x438bdc], ax
mov eax, dword [ebp + 0xc]
push esi
add eax, 4
push edi
push eax
call fcn.004223a6
mov esi, eax
movsx eax, word [0x438efa]
not eax
pop ecx
cmp eax, 0x300990d1
jle 0x41a8ba
mov ecx, dword [0x43553c]
mov eax, dword [0x43638c]
sar ecx, 8
not eax
add eax, ecx
mov ecx, dword [0x4367fc]
xor ecx, eax
movzx eax, word [0x439b66]
or eax, ecx
mov word [0x439b66], ax
dec dword [0x4367fc]
imul eax, dword [0x43887c], 0x4f994096
movzx ecx, word [0x439a0e]
mov edi, dword [ebp + 8]
mov dword [ebp - 4], esi
add eax, 0x5510b2c1
or ecx, eax
mov word [0x439a0e], cx
mov eax, dword [0x436868]
not eax
xor eax, 0xaa1ba671
cmp eax, 0xef14f7fa
jne 0x41a918
movsx eax, word [0x43957a]
imul eax, eax, 0x95092f17
dec word [0x43957a]
cmp eax, 0xfdcdfefa
jge 0x41a918
mov eax, dword [0x437730]
inc dword [0x437730]
mov al, byte [edi + section..data]
mov byte [esi], al
mov eax, dword [0x43b014]
mov dword [0x434214], 0x3448549e
mov al, byte [eax + edi]
xor byte [esi], al
add dword [0x437bd0], 0x14001241
movsx eax, word [0x438f12]
not eax
imul eax, eax, 0x24ed5b9b
cmp eax, 0xb174b1db
jl 0x41a9a2
mov ax, word [0x43abe8]
movsx ecx, word [0x43965a]
cwde
imul ecx, eax
imul eax, dword [0x435258], 0xacf3b143
add ecx, 0x6f57a619
xor eax, 0xf43894de
inc dword [0x435258]
dec word [0x43965a]
cmp ecx, eax
jg 0x41a9a2
mov ax, word [0x438e96]
movzx ecx, word [0x438ffe]
cwde
xor ecx, eax
mov word [0x438ffe], cx
mov al, byte [edi + 0x430001]
mov dword [0x4380fc], 0x68cdd47f
mov byte [esi + 1], al
mov eax, dword [0x434ad8]
sar eax, 1
xor eax, 0x97a31520
cmp eax, 0xca4c15a5
jg 0x41a9ea
dec dword [0x437bb0]
mov eax, dword [0x437bb0]
mov ecx, dword [0x436e58]
imul ecx, eax
xor ecx, 0x5bdd862a
mov dword [0x43662c], ecx
jmp 0x41a9f4
or dword [0x436158], 0xe2dd4480
mov eax, dword [0x43b014]
mov al, byte [eax + edi + 1]
add edi, 2
xor byte [esi + 1], al
mov eax, dword [0x436fb4]
imul eax, eax, 0xe38ca546
and dword [0x4365a0], eax
movzx eax, word [0x43aeb0]
and eax, 0x4e866a47
mov word [0x43aeb0], ax
imul eax, dword [0x4340b4], 0x15eae52b
or eax, 0xc9f0c9ad
cmp eax, 0x31080294
jge 0x41aa5b
dec word [0x438a64]
mov ax, word [0x438a64]
cwde
imul eax, eax, 0x79ddc940
add eax, dword [0x434b00]
mov dword [0x434b00], eax
movzx ecx, word [esi]
dec word [0x43abf4]
mov ax, word [0x43abf4]
cwde
imul eax, eax, 0x39cf1d4d
mov dword [ebp + 8], ecx
sub eax, 0x5d1f7fd3
cmp eax, 0x8438090
jle 0x41aa93
movzx eax, word [0x43a258]
add eax, 0x5709097a
mov word [0x43a258], ax
movzx ebx, cx
lea eax, [ebx + 3]
push eax
lea eax, [edi + section..data]
push eax
push esi
call fcn.004185e7
mov eax, dword [0x434560]
add esp, 0xc
sub eax, dword [0x4378b8]
and eax, 0x907f513b
cmp eax, 0x7c32eeb8
jne 0x41aacb
xor dword [0x438364], 0xdb611c33
mov eax, dword [0x434750]
add ebx, 3
not eax
add ebx, esi
and eax, 0x7482aa02
xor dword [0x433f48], eax
mov eax, dword [0x4378c4]
mov ecx, dword [0x437c7c]
imul eax, eax, 0x29847e57
shl ecx, 3
xor ecx, eax
and dword [0x43723c], ecx
dec dword [0x4378c4]
mov ecx, dword [0x434b28]
mov eax, dword [0x438520]
not ecx
mov edx, dword [0x43b014]
sub ecx, 0x52b1f2e5
and ecx, 0xebe2fb7e
add edx, edi
imul eax, ecx
mov dword [0x438520], eax
cmp esi, ebx
je 0x41ab59
sub edx, esi
mov dword [0x43549c], 0x8634c521
mov al, byte [edx + esi]
xor byte [esi], al
movzx eax, word [0x438d04]
sub eax, 0x21ddf56d
inc esi
mov word [0x438d04], ax
cmp esi, ebx
jne 0x41ab33
mov ecx, dword [0x436858]
movzx eax, word [0x43ae8e]
xor ecx, 0xe3c5de43
imul eax, ecx
mov ecx, dword [ebp + 8]
mov word [0x43ae8e], ax
dec dword [0x436858]
movzx eax, cx
cmp dword [ebp + 0xc], eax
je 0x41ac50
movzx eax, word [0x43a6d0]
or eax, 0x76aa6f6a
mov word [0x43a6d0], ax
mov byte [ebx], 0
movsx eax, word [0x439856]
cmp eax, 0x9d5a5f21
jg 0x41abe1
dec dword [0x437e40]
mov edx, dword [0x437e40]
dec dword [0x436638]
mov eax, dword [0x436638]
mov ecx, dword [0x436520]
imul ecx, edx
and ecx, eax
cmp ecx, 0x52eb7915
jg 0x41abe1
add dword [0x435d28], 0x1c984b0a
mov eax, dword [0x437a48]
lea esi, [ebx - 3]
mov ecx, dword [0x434d90]
not eax
imul ecx, eax
mov eax, dword [0x435400]
sub ecx, eax
movzx eax, word [0x438bfc]
add eax, ecx
mov ecx, dword [ebp + 8]
mov word [0x438bfc], ax
inc dword [0x434d90]
mov edi, dword [ebx - 3]
or dword [0x4364e0], 0xe1052540
add dword [0x435890], 0xb4981389
movzx eax, cx
sub dword [ebp + 0xc], eax
mov ax, word [0x439b08]
mov ecx, dword [0x438294]
cwde
imul eax, ecx
add eax, 0xfb99c3ba
add dword [0x4366a4], eax
jmp 0x41a8df
dec dword [0x437c18]
mov eax, dword [0x437c18]
mov ecx, dword [0x435b20]
and ecx, 0x695be10a
pop edi
xor ecx, eax
pop esi
pop ebx
cmp dword [0x434018], ecx
jge 0x41ac99
mov ax, word [0x43a7c8]
mov edx, dword [0x43709c]
movsx ecx, ax
sub edx, ecx
inc dword [0x43709c]
cmp edx, 0xc8e6482d
jge 0x41ac99
mov ecx, dword [0x434a6c]
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret