Function at 0x410a30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
add dword [0x435c3c], 0xfe66af5e
add dword [0x436ea8], 0xf774ff0a
mov eax, dword [0x435c88]
imul eax, eax, 0x1ea9b039
push ebx
push esi
push edi
sub dword [0x436ce4], eax
inc word [0x4378f4]
movzx eax, word [0x4378f4]
movzx ecx, word [0x437a20]
and ecx, eax
mov eax, dword [ebp + 0xc]
add eax, 4
and ecx, 0x973ec142
mov word [0x437a20], cx
push eax
call fcn.0041b540
mov ebx, dword [ebp + 8]
mov esi, eax
movzx eax, word [0x43796a]
add esp, 4
and eax, 0xdfdfbf67
mov dword [ebp - 4], esi
mov word [0x43796a], ax
movzx eax, word [0x4384da]
or eax, 0x8021
mov word [0x4384da], ax
mov eax, dword [0x43667c]
mov ecx, 0xfffffbee
not eax
cmp eax, 0xa57ebce0
jne 0x410ad8
add dword [0x436340], 0x9a2caf21
movzx eax, byte [ebx + 0x430198]
mov byte [esi], al
mov eax, dword [0x43535c]
sub eax, dword [0x4370dc]
mov dword [0x43535c], eax
mov eax, dword [0x438cd4]
movzx eax, byte [eax + ebx]
xor byte [esi], al
cmp dword [0x4357f4], 0xfa34b449
jle 0x410b22
mov eax, dword [0x4364c4]
or eax, 0x602a432
cmp eax, 0x39c96c9b
jne 0x410b65
mov word [0x438cac], cx
jmp 0x410b65
dec dword [0x436310]
mov ecx, dword [0x436310]
movsx eax, word [0x438ad0]
sub ecx, eax
movsx eax, word [0x437bb0]
dec word [0x438ad0]
add eax, ecx
inc word [0x437bb0]
cmp eax, 0x2502856e
jne 0x410b65
mov eax, dword [0x4377f8]
mov eax, dword [0x435140]
dec dword [0x4377f8]
mov dword [0x436d78], 0xfd6aafda
mov eax, dword [0x437648]
not eax
add eax, 0x7a17b130
mov dword [0x4356ac], eax
movzx eax, byte [ebx + 0x430199]
mov byte [esi + 1], al
dec dword [0x4359a0]
mov eax, dword [0x4359a0]
add eax, 0xde9a0849
imul eax, dword [0x435a74]
mov dword [0x435a74], eax
mov eax, dword [0x438cd4]
movzx eax, byte [eax + ebx + 1]
add ebx, 2
xor byte [esi + 1], al
imul eax, dword [0x436dec], 0x93eb5e7f
mov dword [0x436dec], eax
movzx eax, word [0x4381ba]
add eax, 0x77868e90
mov word [0x4381ba], ax
add dword [0x4350dc], 0xad80bad4
mov eax, dword [0x436958]
movzx edi, word [esi]
sar eax, 3
or eax, 0x20491100
mov dword [ebp + 8], edi
xor dword [0x437380], eax
lea eax, [edi + 3]
push eax
lea eax, [ebx + 0x430198]
push eax
push esi
call fcn.00423640
movzx eax, word [0x4388ce]
mov ecx, 0xa563a517
imul eax, eax, 0x958f2c8d
add edi, 3
add esp, 0xc
add edi, esi
mov word [0x4388ce], ax
xor dword [0x436804], 0x4523131d
mov eax, dword [0x435618]
sub ecx, eax
mov edx, dword [0x437124]
mov eax, dword [0x437388]
add edx, ecx
inc dword [0x437388]
mov ecx, 0xb1257ce6
sub ecx, eax
cmp edx, ecx
jle 0x410c6a
mov eax, dword [0x435798]
and eax, 0xdca31595
mov word [0x438a46], ax
mov eax, dword [0x436148]
mov edx, dword [0x438cd4]
not eax
imul eax, eax, 0x82cc68f6
add edx, ebx
mov dword [0x4376f0], eax
cmp esi, edi
je 0x410cc1
sub edx, esi
lea ebx, [ebx]
imul eax, dword [0x4353b4], 0x2000c450
mov dword [0x4353b4], eax
mov al, byte [edx + esi]
xor byte [esi], al
inc esi
mov eax, dword [0x435b20]
mov ecx, dword [0x437144]
add eax, 0xc4ae5105
add ecx, eax
mov dword [0x435b20], ecx
cmp esi, edi
jne 0x410c90
inc dword [0x436448]
mov eax, dword [0x436448]
and eax, 0xfe711896
xor eax, 0x36ca3066
cmp eax, 0xf5bdadeb
jge 0x410cf0
movsx eax, word [0x4378c8]
lea eax, [eax*2 - 0x500d0e3c]
mov dword [0x436f94], eax
mov edx, dword [ebp + 0xc]
cmp edx, dword [ebp + 8]
je 0x410d91
add dword [0x436f4c], 0x1876a0c2
mov byte [edi], 0
mov eax, dword [0x4351a8]
mov ecx, dword [0x436b74]
imul eax, eax, 0xd5560e32
xor ecx, eax
mov dword [0x436b5c], ecx
mov ecx, dword [0x4365d0]
movsx eax, word [0x438222]
not ecx
xor ecx, 0x38bea2da
shl eax, 0xa
or eax, ecx
cmp eax, 0x1436846a
je 0x410d55
movzx eax, word [0x437c28]
xor eax, 0xefbf4883
mov word [0x437c28], ax
imul eax, dword [0x435798], 0x62638141
lea esi, [edi - 3]
mov ebx, dword [edi - 3]
sub edx, dword [ebp + 8]
mov dword [ebp + 0xc], edx
mov dword [0x435798], eax
movsx eax, word [0x438958]
and eax, 0x20abee31
or dword [0x437034], eax
xor dword [0x437370], 0x48986886
jmp 0x410abb
dec word [0x4382ce]
mov cx, word [0x4382ce]
mov eax, dword [ebp - 4]
pop edi
movsx ecx, cx
pop esi
mov dword [0x437108], ecx
pop ebx
mov esp, ebp
pop ebp
ret