Function at 0x410a30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x43d1a8]
mov ecx, dword [0x444bf8]
and eax, ecx
mov dword [0x43d1a8], eax
mov edx, dword [0x44459c]
mov eax, 0x1ed9f7ee
sub eax, edx
and eax, 0x34fec44c
xor dword [0x44059c], eax
mov eax, dword [ebp + 0xc]
or dword [0x441444], 0xc8000d40
and dword [0x447420], 0xb82d1955
push ebx
push esi
add eax, 4
push edi
push eax
call fcn.00415850
add dword [0x4479f4], 0x14324763
mov esi, eax
mov eax, dword [0x4452d8]
mov ecx, dword [0x4392b4]
shl eax, 5
sar ecx, 0xa
xor eax, 0xaef4d794
and ecx, 0x268400a0
add esp, 4
cmp ecx, eax
mov dword [ebp - 4], esi
jle 0x410ac7
movzx edx, word [0x44f1d4]
sub edx, 0x18c75be
mov word [0x44f1d4], dx
mov edi, dword [ebp + 8]
mov ebx, 1
nop
add dword [0x4403ec], ebx
mov eax, dword [0x4403ec]
imul eax, eax, 0x43ea92fc
cmp eax, 0x8c3b44aa
jle 0x410af2
or dword [0x446d78], 0x94e8832b
mov cl, byte [edi + section..data]
mov byte [esi], cl
mov edx, dword [0x442e68]
mov ecx, 0xffffffff
add dword [0x442e68], ecx
cmp edx, 0xfd4edf1f
jge 0x410b1d
or dword [0x443598], 0xfff75fff
mov eax, dword [0x4505fc]
mov dl, byte [eax + edi]
xor byte [esi], dl
mov eax, 0xffffa8cf
mov word [0x44cc0e], ax
mov dx, word [0x44e6d4]
movsx edx, dx
mov eax, 0xc1efed6e
sub eax, edx
xor dword [0x444fb4], eax
add word [0x44e6d4], bx
add word [0x44c7b6], bx
movzx eax, word [0x44c7b6]
mov edx, dword [0x437e28]
cwde
add eax, 0x259d6d9d
imul edx, eax
movzx eax, byte [edi + ebx + section..data]
mov dword [0x437e28], edx
mov byte [esi + ebx], al
mov edx, dword [0x4505fc]
add edi, ebx
add esi, ebx
mov dword [0x446d18], 0xc4ce48cf
movzx eax, byte [edx + edi]
xor byte [esi], al
mov edx, 0xffffc3b2
mov word [0x44db68], dx
movzx eax, word [0x44a55a]
imul eax, eax, 0xae7938f4
mov word [0x44a55a], ax
mov edx, dword [0x44463c]
add dword [0x44463c], ecx
or edx, 0xc40a29b
sub esi, ebx
add edi, ebx
cmp edx, 0x2da2814d
jge 0x410bdf
add dword [0x43b9c0], 0x12031c00
movzx eax, word [esi]
xor dword [0x440dac], 0xc6fcf194
movzx ebx, ax
lea eax, [ebx + 3]
push eax
lea ecx, [edi + section..data]
push ecx
push esi
mov dword [ebp + 8], ebx
call fcn.00422fc0
or edx, 0xffffffff
add word [0x44bc70], dx
mov ax, word [0x44bc70]
movsx ecx, ax
mov eax, dword [0x43a444]
and eax, ecx
movzx ecx, word [0x44da28]
and eax, 0x41241f2d
or ecx, eax
mov word [0x44da28], cx
add dword [0x43a444], edx
mov edx, dword [0x4394e4]
imul edx, edx, 0x149af014
mov dword [0x4394e4], edx
movzx edx, word [0x44eca8]
lea eax, [ebx + esi + 3]
movsx ebx, dx
mov edx, 0x2f7a9b6
sub edx, ebx
mov ebx, dword [0x43b7f4]
and ebx, edx
and ebx, 0x2dd57e59
mov dword [0x43b7f4], ebx
mov edx, 1
add word [0x44eca8], dx
mov ebx, dword [0x4505fc]
add word [0x44ff58], dx
movzx edx, word [0x44807a]
add edi, ebx
movzx ebx, word [0x44ff58]
movsx edx, dx
xor ebx, edx
xor ebx, 0x7863d0bf
add esp, 0xc
mov word [0x44807a], bx
mov ecx, esi
mov ebx, 1
cmp esi, eax
je 0x410d0a
lea esp, [esp]
add dword [0x43afc8], 0x613b87b
mov dl, byte [edi]
xor byte [ecx], dl
mov dx, word [0x44fe82]
movsx esi, dx
mov edx, dword [0x43cd28]
imul edx, esi
mov esi, dword [0x43d720]
or esi, edx
or esi, 0xe4815965
mov dword [0x43d720], esi
add dword [0x43cd28], ebx
dec word [0x44fe82]
add ecx, ebx
add edi, ebx
cmp ecx, eax
jne 0x410cc0
mov ecx, dword [ebp + 8]
and dword [0x445e40], 0x39fed7ab
cmp dword [ebp + 0xc], ecx
je 0x410df2
add dword [0x44384c], 0x9fae9f7b
mov byte [eax], 0
mov dx, word [0x44ede8]
movsx ecx, dx
mov edx, dword [0x43ba84]
not edx
imul edx, ecx
mov word [0x44ede8], dx
mov edx, dword [0x43962c]
mov ecx, dword [0x43aff0]
not edx
imul ecx, edx
or dword [0x4393e0], ecx
mov ecx, dword [0x43df64]
mov edi, dword [eax - 3]
dec dword [0x43df64]
sub eax, 3
xor ecx, 0xe35fdeff
or ecx, 0x215e9cef
cmp ecx, 0x408f76d2
jne 0x410d90
xor dword [0x439e6c], 0x8e66c6f
mov dx, word [0x44d406]
mov ecx, dword [0x437b74]
add dword [0x437b74], ebx
mov esi, eax
movsx eax, dx
not eax
imul eax, eax, 0x4374052a
sub ecx, eax
cmp ecx, 0xfd7be83e
je 0x410dcc
mov edx, dword [0x43795c]
imul edx, edx, 0xc37ddafa
mov dword [0x43795c], edx
mov eax, dword [ebp + 8]
sub dword [ebp + 0xc], eax
add dword [0x43f360], ebx
mov eax, dword [0x445508]
mov ecx, dword [0x43f360]
not eax
or ecx, eax
xor dword [0x43ef44], ecx
jmp 0x410ad0
add dword [0x4385b8], 0x6e10ed1e
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret