Function at 0x4279ae
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1c
mov dword [esp + 0x10], 0
mov dword [esp + 2], 0xf1f2f3f4
mov eax, 0x755e92e3
mov ecx, 0x8aa16d1c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x755e92e1]
mov esi, ecx
xor esi, edx
lea edi, [ecx + 0x755e9300]
and edi, edx
not edx
and edx, ecx
sub edx, esi
add edx, eax
or edx, edi
add dl, 0xe8
mov byte [esp + eax - 0x755e92e1], dl
inc eax
dec ecx
cmp eax, 0x755e92e7
jne 0x4278f0
mov eax, dword [esp + 2]
mov ecx, dword [0x449650]
test ecx, ecx
je 0x427974
xor edx, edx
mov esi, dword [0x449654]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x67f3d776
je 0x427950
inc edx
cmp ecx, edx
jne 0x427940
jmp 0x427974
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x427974
lea eax, [esp + 0x10]
push eax
push 0
push 0
push 5
push 0x10
push ecx
push dword [0x449658]
call fcn.0043c060
add esp, 0x1c
mov dword [esp + 2], 0x97565550
xor ecx, ecx
mov edi, 0xb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx + 2]
mov esi, edi
or esi, ebx
not ebx
or ebx, ecx
or ebx, 0xf4
and ebx, esi
mov dl, 0x5f
sub dl, bl
mov byte [esp + ecx + 2], dl
inc ecx
dec edi
cmp ecx, 4
jne 0x427990
cmp eax, dword [esp + 2]
jne 0x427a50
push dword [esp + 0x10]
call fcn.0043a640
add esp, 4
mov edi, eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 2], 0xf1f2f3f4
mov eax, 0x755e92e3
mov edx, 0x8aa16d1c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax - 0x755e92e1]
mov esi, edx
xor esi, ebx
lea ebp, [edx + 0x755e9300]
and ebp, ebx
not ebx
and ebx, edx
sub ebx, esi
add ebx, eax
or ebx, ebp
add bl, 0xe8
mov byte [esp + eax - 0x755e92e1], bl
inc eax
dec edx
cmp eax, 0x755e92e7
jne 0x4279f0
mov eax, dword [esp + 2]
mov edx, dword [0x449650]
test edx, edx
je 0x427a76
xor esi, esi
mov ebx, dword [0x449654]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x67f3d776
je 0x427a57
inc esi
cmp edx, esi
jne 0x427a40
jmp 0x427a76
xor ebx, ebx
jmp 0x427c6b
mov edx, dword [ebx + esi*8 + 4]
cmp edx, eax
je 0x427a76
push 0
push ecx
push edi
push 5
push 0x10
push edx
push dword [0x449658]
call fcn.0043c060
add esp, 0x1c
xor ebx, ebx
test eax, eax
js case.0x43c0f4.10
mov esi, dword [edi]
mov eax, esi
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea edx, [ecx + eax]
inc ebx
mov eax, dword [ecx + eax]
mov ecx, edx
test eax, eax
jne 0x427a90
mov eax, ebx
and eax, 0xfffffefb
mov ecx, ebx
and ecx, 0x104
or ebx, 0x104
imul ebx, ecx
xor ecx, 0x104
imul ecx, eax
add ebx, ecx
jns 0x427ac9
mov ebx, 0xffffffff
jmp 0x427acb
add ebx, ebx
push ebx
call fcn.00408b20
add esp, 4
mov ebp, eax
mov ecx, edi
jmp 0x427af0
add ecx, esi
mov word [eax], 0xa
add eax, 2
mov esi, dword [ecx]
test esi, esi
je 0x427b13
mov edx, dword [ecx + esi + 0x3c]
movzx ebx, word [edx]
mov bh, 0x1a
test bx, bx
je 0x427ae0
add edx, 2
nop
mov word [eax], bx
add eax, 2
movzx ebx, word [edx]
add edx, 2
test bx, bx
jne 0x427b00
jmp 0x427ae0
xor ebx, ebx
cmp eax, ebp
je 0x427c59
mov word [eax], 0
movzx ecx, word [ebp]
test cx, cx
je 0x427b7b
mov eax, ebp
add eax, 2
xor ebx, ebx
jmp 0x427b4c
inc ebx
movzx ecx, word [eax]
add eax, 2
test cx, cx
je 0x427b7b
cmp cx, 0x7f
jbe 0x427b40
movzx edx, cx
cmp edx, 0x7ff
ja 0x427b70
add ebx, 2
jmp 0x427b41
cmp cx, 0xffff
je 0x427b41
add ebx, 3
jmp 0x427b41
mov dword [esp + 0x18], edi
lea edi, [ebx + 1]
push edi
call fcn.00408b20
add esp, 4
mov esi, eax
mov dword [esp + 0x14], ebp
push ebp
push edi
push eax
call fcn.00409b50
add esp, 0xc
mov dword [esp + 2], 0x69565a67
mov dword [esp + 6], 0x6b5e5f6e
mov dword [esp + 0xa], 0x4a551e5c
mov word [esp + 0xe], 0xc457
mov eax, 0x6dc23af
mov ecx, 0x3123dc50
xor dword [eax - 0x6f6f6f70], edx
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x6dc23ad]
mov edi, edx
xor edi, 0x28500373
mov ebp, edx
or ebp, 0x8c
int 0x8c
add byte [eax], al
add byte [ecx], ah
std
and edx, 0x73
xor edx, 0x28500373
or edx, ebp
mov edi, ecx
and edi, 0x20028053
mov ebp, eax
and ebp, 0x60c208c
or ebp, edi
xor ebp, edx
xor ebp, 0x40828000
add ebp, 0x891ee287
mov edx, ebp
and edx, 1
xor ebp, 1
lea edx, [edx*2]
add byte [eax], al
add byte [ecx], al
ljmp 0x23dc
fsub qword [ebx]
stc
inc eax
dec ecx
cmp eax, 0x6dc23bd
jne 0x427bd0
lea eax, [esp + 2]
mov ecx, dword [esp + 0x30]
push ebx
push esi
push eax
call fcn.00409ca0
mov ebx, eax
push esi
call fcn.00408b30
add esp, 4
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
and al, 0x14
push ebp
call fcn.00408b30
add esp, 4
invalid
invalid
push edi
call fcn.0043a680
add esp, 4
mov eax, ebx
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret