Function at 0x40cfae
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
and dword [ebp - 0x14], 0
mov eax, edx
push ebx
mov dword [ebp - 4], 0x1d44
cmp dword [ebp - 4], 0x1f7a
push esi
push edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], ecx
jle 0x40d02c
xor esi, esi
mov ebx, esi
mov dword [ebp - 8], 0x2463
xor edi, edi
lea eax, [ebx + edi]
cdq
lea ecx, [ebp - 0x7c]
push edx
push eax
call fcn.00402594
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x40cffb
mov eax, dword [eax]
push eax
call fcn.004f1488
pop ecx
push 0
push 1
lea ecx, [ebp - 0x7c]
call fcn.00401a98
inc edi
cmp edi, 0x10da
jl 0x40cfe3
dec ebx
dec dword [ebp - 8]
jne 0x40cfe1
inc esi
cmp esi, 0x728a
jl 0x40cfd8
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
push eax
push ecx
call fcn.0045fd00
cmp dword [ebp - 4], 0x1ab5
pop ecx
pop ecx
mov dword [ebp - 0x14], eax
jge 0x40d04c
push str.feipe_yijbr_gyfgydxxt_hrsid_yxr_reqjobuaj_fclbdyr_mjvog
call fcn.004f1488
pop ecx
mov dword [ebp - 0x10], 0x24df
cmp dword [ebp - 0x10], 0x2719
jle 0x40d0a6
xor esi, esi
xor edi, edi
xor ebx, ebx
mov eax, ebx
lea ecx, [ebp - 0x4c]
xor eax, edi
or eax, esi
cdq
push edx
push eax
call fcn.00402594
pop ecx
pop ecx
mov ecx, eax
call fcn.0041722f
push eax
call fcn.004f1488
pop ecx
lea ecx, [ebp - 0x4c]
call fcn.00401711
inc ebx
cmp ebx, 0x705d
jl 0x40d062
inc edi
cmp edi, 0x7dc1
jl 0x40d060
inc esi
cmp esi, 0x6559
jl 0x40d05e
push 2
lea ecx, [ebp - 0x34]
call fcn.004179d7
mov dword [ebp - 8], 0x8d4081c2
mov dword [ebp - 8], 0x7de1
cmp dword [ebp - 8], 0x7ea2
jle 0x40d106
xor esi, esi
xor edi, edi
mov ecx, edi
mov eax, esi
shl eax, cl
lea ecx, [ebp - 0x64]
cdq
push edx
push eax
call fcn.00402594
pop ecx
pop ecx
mov ecx, eax
call fcn.0041722f
push eax
call fcn.004f1488
pop ecx
lea ecx, [ebp - 0x64]
call fcn.00401711
inc edi
cmp edi, 0x1d3c
jl 0x40d0cb
inc esi
cmp esi, 0x180e
jl 0x40d0c9
cmp dword [ebp - 8], 0x7c9d
jge 0x40d11a
push str.rgrwnlha_ncktc_osbieame_iflbmwdkk_nyc_vxwoqr_wvqgkdee_eapcwsdvk_nbwfwc_uad_hboqgf
call fcn.004f1488
pop ecx
mov dword [ebp - 4], 0
jmp 0x40d137
push dword [ebp - 4]
lea ecx, [ebp - 0x34]
call fcn.00417bb8
mov dword [eax], 0x1713
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x40d123
mov dword [ebp - 8], 1
cmp dword [ebp - 8], 0
jl 0x40d225
push 3
lea ecx, [ebp - 0x28]
call fcn.004179d7
mov dword [ebp - 0xc], 0x619d
cmp dword [ebp - 0xc], 0x621d
jle 0x40d1d4
xor esi, esi
mov dword [ebp - 0x1c], esi
xor edi, edi
mov dword [ebp - 0x18], 0x7e13
xor ebx, ebx
mov dword [ebp - 4], 0x7aea
xor esi, esi
mov eax, ebx
lea ecx, [ebp - 0x94]
or eax, esi
cdq
push edx
push eax
call fcn.00402594
pop ecx
pop ecx
mov ecx, eax
call fcn.0041722f
push eax
call fcn.004f1488
pop ecx
lea ecx, [ebp - 0x94]
call fcn.00401711
inc esi
cmp esi, 0x29fc
jl 0x40d181
add ebx, edi
dec dword [ebp - 4]
jne 0x40d17f
mov esi, dword [ebp - 0x1c]
add edi, esi
dec dword [ebp - 0x18]
jne 0x40d176
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x420a
jl 0x40d16d
cmp dword [ebp - 0xc], 0x5f2f
jge 0x40d1e8
push str.sishh_xpglnqxc_tehowgndx_jgkcux
call fcn.004f1488
pop ecx
mov dword [ebp - 4], 0
jmp 0x40d202
push dword [ebp - 4]
call fcn.00417bb8
mov dword [eax], 0x751c
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
lea ecx, [ebp - 0x28]
jl 0x40d1f1
push 2
call fcn.00417bb8
lea ecx, [ebp - 0x28]
inc dword [eax]
call fcn.00417aef
dec dword [ebp - 8]
jns 0x40d14e
lea ecx, [ebp - 0x34]
call fcn.00417aef
cmp dword [ebp - 0x10], 0x2358
jge 0x40d241
push str.gvymfqha_gnenlwcet_mkv
call fcn.004f1488
pop ecx
mov eax, dword [ebp - 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret