Function at 0x42e070
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add dword [0x4378b4], 0xecd3a376
sub esp, 0x48
mov dword [0x439a18], 0xa27cbc83
mov eax, dword [0x43b270]
add eax, dword [0x434dfc]
mov dword [0x43b270], eax
mov eax, 0xf59
mov word [0x4406f8], ax
add dword [0x4392c8], 0x62aa4369
movzx eax, word [0x442286]
imul eax, eax, 0x22bbbd21
push esi
push edi
mov edi, dword [ebp + 8]
mov word [0x442286], ax
mov ecx, dword [0x4342f8]
mov edx, dword [edi + 4]
mov eax, dword [edi]
shr eax, 0x1d
shl edx, 3
or edx, eax
shl ecx, 6
mov eax, dword [0x437ef4]
or eax, ecx
cmp eax, 0x27f4a887
jle 0x42e0f5
add dword [0x43b928], 0x5db7259d
mov eax, dword [0x435dfc]
shl eax, 4
push ebx
mov ebx, dword [edi]
sub dword [0x43af00], eax
mov eax, edx
or dword [0x43d288], 0x75f117b1
shr eax, 0x18
mov byte [ebp - 8], al
mov eax, dword [0x436ed0]
or eax, 0x498df0e9
shl ebx, 3
cmp eax, 0x1fa62a
jne 0x42e136
add dword [0x437cc4], 0x558cc8e0
mov eax, edx
shr eax, 0x10
mov byte [ebp - 7], al
mov eax, edx
and dword [0x43a6c8], 0xd67f576e
shr eax, 8
mov byte [ebp - 6], al
mov eax, 0x3a58
mov word [0x44036e], ax
movzx eax, word [0x43ff92]
add eax, 0x6110ae22
mov byte [ebp - 5], dl
mov word [0x43ff92], ax
mov eax, dword [0x43c954]
not eax
add dword [0x437e14], eax
movsx eax, word [0x43e976]
imul eax, eax, 0x4ae235b0
sub dword [0x43736c], eax
dec word [0x43e976]
movzx eax, word [0x4418c0]
mov ecx, dword [0x437370]
cwde
and ecx, eax
mov eax, ebx
shr eax, 0x18
mov byte [ebp - 4], al
mov eax, ebx
shr eax, 0x10
mov word [0x4418c0], cx
xor dword [0x43c6d4], 0xf81da53a
mov byte [ebp - 3], al
mov eax, dword [0x435fc0]
not eax
cmp eax, 0xf1ab1b26
jge 0x42e202
movsx eax, word [0x440ff2]
inc word [0x440ff2]
and eax, 0x5882ab46
cmp eax, 0xf7fdfd23
jle 0x42e202
movzx eax, word [0x43e5e2]
sub eax, 0x4cc47931
mov word [0x43e5e2], ax
mov eax, ebx
shr eax, 8
mov byte [ebp - 2], al
dec dword [0x43953c]
mov eax, dword [0x43953c]
cmp eax, 0x489a3737
jl 0x42e226
add dword [0x43d3a4], 0xe86289ec
movsx eax, word [0x440a7e]
movsx ecx, word [0x43f772]
add eax, eax
and ecx, eax
mov byte [ebp - 1], bl
mov dword [0x438028], ecx
inc word [0x43f772]
movzx eax, word [0x43f0dc]
sub eax, 0x41a5cb41
mov word [0x43f0dc], ax
mov dword [0x43d1b0], 0x595d7fff
mov ecx, dword [edi]
and ecx, 0x3f
cmp dword [0x43ab78], 0xcfc81305
pop ebx
jne 0x42e291
mov eax, dword [0x43b3bc]
and eax, 0x86216aa4
xor eax, 0xb79bf52b
or dword [0x434e10], eax
inc dword [0x43b3bc]
mov esi, 0x38
cmp ecx, 0x38
jb 0x42e2a0
mov esi, 0x78
inc dword [0x4367d0]
sub esi, ecx
mov eax, dword [0x4367d0]
or eax, 0xc83b34da
imul eax, dword [0x439ee8]
push 0x40
push 0
mov dword [0x439ee8], eax
lea eax, [ebp - 0x48]
push eax
call fcn.00410f40
mov eax, dword [0x438cec]
add esp, 0xc
inc dword [0x438cec]
add eax, 0x24943eb3
cmp eax, 0x75156710
jne 0x42e319
dec dword [0x43a628]
mov eax, dword [0x43a628]
add eax, 0xd02ff847
or eax, 0x4d2c86d4
cmp eax, 0x7e2a5046
jle 0x42e319
mov eax, dword [0x43ace4]
mov ecx, 0x18a43d65
sub ecx, eax
xor ecx, 0x1bb9f30a
mov dword [0x435998], ecx
imul eax, dword [0x439e78], 0x6014110
mov byte [ebp - 0x48], 0x80
push esi
mov dword [0x439e78], eax
lea eax, [ebp - 0x48]
push eax
push edi
call fcn.0040c1b0
dec dword [0x434928]
mov eax, dword [0x434928]
and eax, 0xffdfe9fb
or eax, 0xbd92e8d9
mov dword [0x4377c8], eax
lea eax, [ebp - 8]
push 8
push eax
push edi
call fcn.0040c1b0
mov eax, dword [0x4372e0]
add esp, 0x18
dec dword [0x4372e0]
xor eax, 0xd747115b
cmp eax, 0x230a44d6
jle 0x42e387
dec dword [0x437f50]
mov eax, dword [0x437f50]
mov dword [0x43b8b0], eax
mov edx, dword [ebp + 0xc]
add edi, 8
add edx, 2
mov esi, 8
jmp 0x42e3a0
mov ecx, dword [0x43c418]
lea edi, [edi + 4]
mov eax, dword [0x43a79c]
lea edx, [edx + 4]
or ecx, eax
mov eax, dword [0x43546c]
imul eax, ecx
mov dword [0x43546c], eax
inc dword [0x43a79c]
dec dword [0x43c418]
movsx eax, word [0x441202]
not eax
sub eax, 0x1a8810a0
and eax, 0x383b768e
add dword [0x439238], eax
movzx eax, byte [edi - 1]
mov byte [edx - 6], al
or dword [0x436bb8], 0xd3a19574
movzx eax, byte [edi - 2]
mov byte [edx - 5], al
mov eax, dword [0x438ba4]
add eax, 0x6e86fe95
mov dword [0x4392b4], eax
mov eax, dword [edi - 4]
shr eax, 8
mov byte [edx - 4], al
mov eax, dword [0x434818]
xor eax, dword [0x4343d8]
mov dword [0x434818], eax
movzx eax, byte [edi - 4]
mov byte [edx - 3], al
mov eax, dword [0x4373e0]
imul ecx, eax, 0xc4d28d1
movzx eax, word [0x43de9e]
add eax, 0x27d1085a
add eax, ecx
mov word [0x43de9e], ax
inc dword [0x4373e0]
mov dword [0x435ecc], 0x18341200
mov eax, dword [0x437c58]
imul eax, eax, 0xa4d0b41
add dword [0x43c2c4], eax
dec esi
jne 0x42e3a0
dec dword [0x436160]
mov ecx, dword [0x436160]
mov eax, dword [0x43850c]
add eax, 0x98e3d501
add eax, ecx
pop edi
mov dword [0x43850c], eax
pop esi
mov esp, ebp
pop ebp
ret