Function at 0x411e40
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
and dword [0x440ca8], 0x6364377b
movzx eax, word [0x445c6c]
sub eax, 0xded0f66
push ebx
mov ebx, dword [ebp + 0x10]
mov word [0x445c6c], ax
movzx eax, word [0x449bbc]
push esi
xor esi, esi
add eax, 0x5f822090
mov word [0x449bbc], ax
cmp dword [ebp + 8], esi
jle 0x412050
push edi
jmp 0x411e90
imul eax, dword [0x440428], 0x579fc019
mov ecx, 0x989fa85
mov dword [0x440428], eax
mov eax, dword [0x4422e0]
sub ecx, eax
and ecx, 0x6878bcc8
sub dword [0x436d08], ecx
imul ecx, dword [0x43a808], 0x34bdfbe
mov eax, dword [0x43ad28]
not eax
and ecx, 0x78e3666e
cmp eax, ecx
jl 0x411edc
add dword [0x43e6fc], 0xa9d75c0e
imul eax, dword [0x43c064], 0x694d30d2
mov edi, dword [ebp + 0xc]
push 0
push dword [ebp + 0x14]
mov dword [0x43c064], eax
push 0
push dword [edi]
call fcn.0040e530
movsx ecx, word [0x448e2e]
add edi, 4
mov dword [ebp + 0xc], edi
movsx edi, word [0x44813a]
imul ecx, ecx, 0x6869df45
add edi, edi
mov dword [ebp + 0x10], eax
mov dword [ebp - 4], edx
or edi, ecx
cmp edi, 0x84941d93
jle 0x411f32
mov dword [0x4350b4], 0xcad8e224
mov ecx, dword [0x43c15c]
mov eax, dword [0x435b20]
xor ecx, 0x50448a02
mov edx, dword [ebp + 0x10]
or ecx, 0xf30747d
imul eax, ecx
add edx, esi
mov dword [0x435b20], eax
add dword [0x441bd4], 0x22188ebf
imul eax, dword [0x436cc0], 0x8571adef
cmp edx, esi
sbb esi, esi
neg esi
add esi, dword [ebp - 4]
mov dword [0x436cc0], eax
mov eax, dword [0x4410c0]
mov ecx, dword [0x43a53c]
add eax, 0xb570cc90
add ecx, eax
mov dword [0x4410c0], ecx
add edx, dword [ebx]
xor dword [0x4431d8], 0x818c37d0
cmp edx, dword [ebx]
sbb eax, eax
neg eax
add esi, eax
movzx eax, word [0x446c54]
mov ecx, dword [0x437328]
cwde
add ecx, eax
movzx eax, word [0x446c74]
and ecx, 0x3e0a581
xor eax, ecx
mov word [0x446c74], ax
inc dword [0x437328]
imul eax, dword [0x43e630], 0x13ae8dbe
mov dword [0x43e630], eax
mov dword [ebx], edx
add ebx, 4
inc word [0x444ad8]
mov di, word [0x444ad8]
mov eax, dword [0x43ad8c]
mov edx, dword [0x43dc80]
and eax, 0x7e2d4f1e
mov ecx, dword [0x43d254]
xor edx, eax
xor ecx, 0x5b861687
movsx eax, di
or ecx, eax
cmp ecx, edx
jl 0x412022
add dword [0x439058], 0x8b0d1247
mov ecx, dword [0x440c78]
movzx eax, word [0x446d58]
shl ecx, 3
or ecx, 0xeb8f4bcd
xor eax, ecx
mov word [0x446d58], ax
mov eax, dword [ebp + 8]
dec eax
mov dword [ebp + 8], eax
test eax, eax
jg 0x411e90
pop edi
dec word [0x44a2d2]
mov ax, word [0x44a2d2]
mov ecx, dword [0x44167c]
cwde
or eax, dword [0x437e70]
sar ecx, 9
or eax, ecx
or eax, 0x8545f9f
mov dword [0x437e70], eax
movsx eax, word [0x449f1e]
xor eax, 0xfa7e6571
or dword [0x43a7cc], eax
jmp 0x412090
imul eax, dword [0x43949c], 0xa9c77a00
lea ebx, [ebx + 4]
xor eax, 0xc18c262c
sub dword [0x439030], eax
add dword [ebx - 4], esi
mov eax, dword [0x43b43c]
and eax, 0xa6e5c77c
sub dword [0x441e2c], eax
dec dword [0x43b43c]
cmp dword [ebx - 4], esi
mov eax, dword [0x43dc28]
sbb esi, esi
or eax, dword [0x43559c]
mov dword [0x43dc28], eax
dec dword [0x43559c]
xor dword [0x4425e0], 0xe546cfec
neg esi
jne 0x412090
movzx eax, word [0x446628]
add eax, 0x4f408357
pop esi
mov word [0x446628], ax
pop ebx
mov esp, ebp
pop ebp
ret