Function at 0x4292a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x43629c]
not eax
mov dword [ebp - 4], 0
and eax, 0xcdc80b2c
xor eax, 0xb7701e18
or dword [0x4362e0], eax
mov eax, dword [0x4358d8]
shl eax, 8
xor eax, 0xf679f51
or dword [0x4351f0], eax
mov eax, dword [0x4358d0]
and eax, 0x7d6714c6
xor eax, 0x21139a0c
cmp eax, 0xcbbdc6cd
jle 0x429310
mov eax, dword [0x4356b0]
mov ecx, dword [0x435d60]
sar eax, 3
imul eax, eax, 0x5d1e649f
and ecx, eax
mov eax, dword [0x435918]
imul eax, ecx
mov dword [0x435918], eax
jmp 0x42931a
and dword [0x43661c], 0x2873f2fb
push ebx
push esi
mov esi, dword [ebp + 0xc]
mov eax, esi
cdq
and edx, 0x1f
push edi
mov edi, dword [ebp + 8]
push edi
lea ebx, [edx + eax]
movsx eax, word [0x43687c]
mov ecx, dword [0x4351d4]
not eax
imul eax, eax, 0x48c62b83
sar ebx, 5
xor ecx, eax
mov eax, dword [0x4364f8]
xor eax, ecx
mov dword [0x4351d4], eax
mov eax, esi
and eax, 0x1f
mov dword [ebp + 0xc], eax
mov eax, dword [0x43663c]
and eax, 0x7c257daf
xor dword [0x43510c], eax
call fcn.0042c0e0
mov cx, word [0x436f16]
add eax, esi
movsx edx, cx
add esp, 4
mov ecx, dword [0x435c74]
sub edx, ecx
or edx, 0x219d807d
mov dword [ebp + 8], eax
and dword [0x4353c4], edx
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 8]
shl eax, 5
cmp eax, ecx
jge 0x4293c1
lea eax, [ecx + 0x1f]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
push eax
push edi
call fcn.00417690
add esp, 8
test eax, eax
jne 0x4295ed
mov eax, dword [0x435304]
inc dword [0x435304]
xor eax, 0xbb053c75
cmp eax, 0xeb2cfab8
jg 0x4293e4
add dword [0x435134], 0x317b318e
jmp 0x4293fd
mov eax, dword [0x436304]
and eax, 0xfea82400
shl eax, 6
cmp eax, 0xe9fb1fe7
jge 0x4293fd
mov eax, dword [0x435fe4]
dec dword [0x435cb4]
mov eax, dword [0x435cb4]
mov ecx, dword [0x436548]
inc dword [0x436548]
xor ecx, eax
xor ecx, 0xcdf53909
cmp ecx, 0xc5931da8
jg 0x42942e
add dword [0x436590], 0x259f2e71
test ebx, ebx
jle 0x4294aa
mov dword [0x435684], 0x8d5224d3
mov eax, dword [edi + 4]
dec eax
cmp eax, ebx
jl 0x429462
mov esi, eax
sub esi, ebx
shl esi, 2
jmp 0x429450
mov edx, dword [edi + 8]
lea esi, [esi - 4]
mov ecx, dword [esi + edx + 4]
mov dword [edx + eax*4], ecx
dec eax
cmp eax, ebx
jge 0x429450
xor dword [0x435f54], 0xf52897c7
test eax, eax
js 0x42947d
mov ecx, dword [edi + 8]
mov dword [ecx + eax*4], 0
dec eax
jns 0x429470
mov eax, dword [0x4351c8]
sar eax, 8
cmp eax, 0xb0acda4f
jg 0x4294aa
mov ecx, dword [0x436230]
movzx eax, word [0x437158]
sar ecx, 5
xor ecx, 0x86120000
or eax, ecx
mov word [0x437158], ax
xor dword [0x435780], 0xae1c50ed
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jle 0x4295c3
mov eax, dword [0x435e30]
shl eax, 8
xor eax, 0x30400464
cmp eax, 0x47b8dda8
jle 0x429501
movsx eax, word [0x436e8a]
cmp eax, 0xcec3a325
jg 0x42950b
inc word [0x436a4c]
mov ax, word [0x436a4c]
cwde
xor eax, dword [0x436098]
xor eax, 0x182eb597
mov dword [0x436098], eax
jmp 0x42950b
add dword [0x435658], 0xfa13addb
cmp ebx, dword [edi + 4]
jge 0x4295b1
mov esi, 0x20
sub esi, ecx
jmp 0x429520
movsx ecx, word [0x436d2e]
movzx eax, word [0x436ba8]
not ecx
xor eax, ecx
mov ecx, esi
mov word [0x436ba8], ax
mov eax, dword [edi + 8]
mov edx, dword [eax + ebx*4]
inc dword [0x4357e8]
mov eax, dword [0x4357e8]
shr edx, cl
movsx ecx, word [0x436f6c]
imul ecx, eax
or dword [0x435720], ecx
mov eax, dword [edi + 8]
mov ecx, dword [ebp + 0xc]
shl dword [eax + ebx*4], cl
or dword [0x4356e4], 0x161560c7
mov eax, dword [edi + 8]
mov ecx, dword [ebp - 4]
mov dword [ebp - 4], edx
or dword [eax + ebx*4], ecx
inc ebx
mov ecx, dword [0x435578]
mov eax, dword [0x4354cc]
not ecx
and ecx, 0xfb56adfa
or ecx, 0xe91280d0
imul eax, ecx
mov dword [0x4354cc], eax
mov dword [0x435328], 0x3bfde825
cmp ebx, dword [edi + 4]
jl 0x429520
movzx eax, word [0x436c8e]
add eax, 0x3ddf8f38
mov word [0x436c8e], ax
mov edx, dword [0x435924]
mov ecx, dword [0x435748]
or edx, ecx
mov ecx, dword [0x4365f4]
or ecx, edx
or ecx, 0x700f62b
mov dword [0x4365f4], ecx
dec dword [0x435924]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret