Function at 0x4270f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
dec dword [0x43ad9c]
mov ecx, dword [0x43ad9c]
movsx eax, word [0x44da5a]
or ecx, 0x4b41fce2
or eax, 0xc7668a01
cmp ecx, eax
je 0x427120
mov dword [0x4351fc], 0x20d150d2
movzx eax, word [0x4509a4]
and eax, 0xdb77ffda
mov word [0x4509a4], ax
or dword [0x446364], 0xdf4ea9f
movsx eax, word [0x4527ce]
or eax, 0x3fe3b831
cmp eax, 0x45e0c285
jg 0x427159
add dword [0x445600], 0xf61494ee
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
lea eax, [ebx + 4]
push eax
call fcn.004255c0
or dword [0x438ac8], 0x36fc2dd3
mov esi, eax
dec dword [0x444d18]
add esp, 4
mov eax, dword [0x444d18]
mov ecx, dword [0x4498bc]
mov edi, dword [ebp + 8]
xor ecx, eax
xor ecx, 0x22046012
mov dword [ebp - 4], esi
mov dword [0x4498bc], ecx
lea esp, [esp]
add dword [0x43b550], 0xb8e77768
movzx eax, byte [edi + 0x4301a0]
mov byte [esi], al
mov eax, dword [0x459ad0]
mov dword [0x444448], 0x685285fc
movzx eax, byte [eax + edi]
xor byte [esi], al
mov dword [0x43dcf8], 0x4ea5befe
mov eax, dword [0x43d004]
sub eax, dword [0x437988]
mov dword [0x43d004], eax
movzx eax, byte [edi + 0x4301a1]
mov dword [0x43fc10], 0x5dffbdd2
mov byte [esi + 1], al
inc dword [0x436700]
mov eax, dword [0x436700]
add dword [0x435a24], eax
mov eax, dword [0x459ad0]
movzx eax, byte [eax + edi + 1]
add edi, 2
xor byte [esi + 1], al
dec dword [0x43f0a4]
mov ecx, dword [0x43f0a4]
mov eax, dword [0x44053c]
sub ecx, eax
or ecx, 0x31a46a02
xor dword [0x438974], ecx
dec dword [0x44053c]
mov ax, word [0x45031a]
cwde
sub dword [0x43fd54], eax
inc word [0x45031a]
and dword [0x438b14], 0x67e07eef
imul eax, dword [0x444b68], 0x4f39a38d
movzx ecx, word [esi]
mov dword [ebp + 0xc], ecx
cmp eax, 0x35759b18
jge 0x42727b
add dword [0x44b780], 0xf8efff8b
movzx eax, cx
add eax, 3
push eax
lea eax, [edi + 0x4301a0]
push eax
push esi
call fcn.0040bd90
xor dword [0x43dfc0], 0xa8268020
add esp, 0xc
mov ecx, dword [ebp + 0xc]
mov dword [0x43e8b8], 0x91d58a98
dec dword [0x444ef8]
mov eax, dword [0x444ef8]
movzx edx, cx
imul ecx, eax, 0x1971dfeb
add edx, 3
movsx eax, word [0x44e27c]
add edx, esi
add eax, ecx
movzx ecx, word [0x4529aa]
add edi, dword [0x459ad0]
add ecx, eax
mov word [0x44e27c], cx
mov eax, dword [0x440114]
mov ecx, dword [0x43e378]
add eax, 0x25434833
and ecx, eax
cmp ecx, 0x264798a1
jl 0x427305
add dword [0x435ef8], 0xa269db46
cmp esi, edx
je 0x427338
sub edi, esi
jmp 0x427310
mov dword [0x443cd8], 0x20715de0
mov al, byte [edi + esi]
xor byte [esi], al
inc esi
movsx eax, word [0x45548e]
sar eax, 9
sub eax, 0x3e27f6c3
mov dword [0x44351c], eax
cmp esi, edx
jne 0x427310
imul eax, dword [0x446cd8], 0x459102
mov ecx, dword [ebp + 0xc]
mov dword [0x446cd8], eax
movzx eax, cx
cmp ebx, eax
je 0x427443
imul eax, dword [0x43bc50], 0x333551d7
cmp eax, 0xca43de30
jg 0x42737f
dec dword [0x438110]
mov eax, dword [0x438110]
cmp eax, 0xccd37097
jle 0x4273a0
mov eax, dword [0x439f68]
jmp 0x4273a0
dec word [0x44e15c]
mov ax, word [0x44e15c]
movsx ecx, ax
mov eax, dword [0x44b800]
add eax, 0xf0bf2513
add eax, ecx
mov dword [0x44b800], eax
mov byte [edx], 0
inc dword [0x446990]
mov ecx, dword [0x446990]
imul eax, dword [0x44a680], 0x67627a80
sub ecx, eax
mov eax, dword [0x43ebdc]
add eax, 0x6ff3f34d
cmp eax, ecx
jne 0x4273f0
mov eax, dword [0x441618]
or eax, 0x60018a81
cmp eax, 0xba3c0f26
jle 0x4273e6
mov dword [0x43e5a8], 0x7b22d136
jmp 0x4273f0
mov eax, dword [0x438684]
mov eax, dword [0x4443e4]
movzx eax, word [0x454594]
lea esi, [edx - 3]
mov ecx, dword [ebp + 0xc]
sub eax, 0x495cf548
mov word [0x454594], ax
movzx eax, word [0x45692a]
mov edi, dword [edx - 3]
xor eax, 0x5fbd1912
mov word [0x45692a], ax
add dword [0x446280], 0x7cf096c9
movzx eax, cx
sub ebx, eax
movzx eax, word [0x451f1a]
and eax, 0x92000310
mov word [0x451f1a], ax
jmp 0x4271a0
mov eax, dword [0x4461dc]
mov ecx, dword [0x43ca74]
add eax, 0x8d4d4e16
not ecx
or ecx, eax
mov eax, dword [0x4362fc]
pop edi
or eax, 0xb8552d86
pop esi
cmp ecx, eax
mov eax, dword [ebp - 4]
pop ebx
je 0x42748a
mov edx, dword [0x44945c]
movzx ecx, word [0x4588c6]
sar edx, 2
sub ecx, edx
add ecx, 0x6339601
mov word [0x4588c6], cx
mov esp, ebp
pop ebp
ret