Function at 0x42c45f
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
movzx eax, word [0x440094]
sub eax, 0x3f8da3b5
mov word [0x440094], ax
movzx eax, word [0x43d5ae]
add eax, 0x74ac892a
push esi
mov esi, dword [ebp + 0x10]
mov word [0x43d5ae], ax
add dword [0x437ef8], 0xcf4b4999
test esi, esi
jle 0x42c753
movzx eax, word [0x43df26]
add eax, 0x1de89f1d
mov word [0x43df26], ax
movzx eax, word [0x440ca8]
push ebx
xor eax, 0x4b7df1b5
push edi
mov edi, dword [ebp + 8]
push 0x40
mov ebx, dword [edi]
mov word [0x440ca8], ax
and ebx, 0x3f
pop eax
sub eax, ebx
mov dword [ebp - 8], ebx
mov dword [ebp + 0x10], eax
mov eax, dword [0x43680c]
mov dword [0x435c00], eax
dec dword [0x43680c]
add dword [edi], esi
dec word [0x43e0f8]
mov ax, word [0x43e0f8]
cwde
cmp eax, 0x808c5724
je 0x42c524
mov eax, dword [0x434aa4]
dec dword [0x434aa4]
cmp eax, 0x144282b4
je 0x42c539
movzx eax, word [0x43eedc]
or eax, 0x1c38fbb3
mov word [0x43eedc], ax
jmp 0x42c539
movsx eax, word [0x43ea40]
sar eax, 9
add eax, 0xb7bf5e96
xor dword [0x43c360], eax
imul eax, dword [0x437cf4], 0x153fc560
add eax, 0x16908904
or dword [0x4396bc], eax
dec dword [0x437cf4]
cmp dword [edi], esi
jae 0x42c55b
inc dword [edi + 4]
inc dword [0x43bf54]
mov edx, dword [0x43bf54]
mov eax, dword [0x435e24]
shl eax, 0xa
sub edx, eax
mov ax, word [0x43c5d4]
movsx ecx, ax
mov eax, dword [0x43bcf0]
sub ecx, eax
dec word [0x43c5d4]
cmp ecx, edx
jne 0x42c5ae
mov eax, dword [0x434964]
not eax
and eax, 0xf7bf9dff
or eax, 0x75b61df6
cmp eax, 0xb3e5da05
jle 0x42c5ae
mov eax, dword [0x437738]
mov dword [0x433be0], eax
test ebx, ebx
je 0x42c656
mov edx, dword [ebp + 0x10]
cmp esi, edx
jl 0x42c656
mov ax, word [0x43d520]
mov ecx, dword [0x43ab48]
mov ebx, dword [ebp + 0xc]
cwde
and ecx, eax
movzx eax, word [0x43ddb6]
xor ecx, 0x5720e521
and eax, ecx
mov word [0x43ddb6], ax
mov eax, dword [ebp - 8]
push edx
add eax, 0x28
add eax, edi
push ebx
push eax
call fcn.004275ee
mov eax, 0x3b9a
mov word [0x440198], ax
lea eax, [edi + 0x28]
push eax
push edi
call fcn.0042b5e5
mov eax, dword [0x436ba0]
mov ecx, 0x32d611dc
add ebx, dword [ebp + 0x10]
add esp, 0x14
sub esi, dword [ebp + 0x10]
and dword [ebp - 8], 0
sar eax, 0xa
add eax, 0x365e1027
and dword [0x4357c0], eax
mov eax, dword [0x4343b4]
sub ecx, eax
mov dword [0x433ff4], ecx
mov eax, 0x19b
mov word [0x43d662], ax
and dword [0x439858], 0x483ba35
jmp 0x42c659
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 4], ebx
cmp esi, 0x40
jl 0x42c6c9
mov ebx, esi
shr ebx, 6
imul eax, ebx, 0xffffffc0
add esi, eax
mov dword [ebp + 0x10], esi
mov esi, dword [ebp - 4]
add dword [0x4358b8], 0xa794f184
push esi
push edi
call fcn.0042b5e5
movzx eax, word [0x43c86a]
add esi, 0x40
sub eax, 0x259ebf01
mov word [0x43c86a], ax
movsx eax, word [0x44071e]
imul eax, eax, 0xa2df5a00
pop ecx
pop ecx
xor dword [0x438af8], eax
inc word [0x44071e]
add dword [0x43ae38], 0x461c6394
dec ebx
jne 0x42c671
mov dword [ebp - 4], esi
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp - 4]
dec dword [0x43b9d0]
mov eax, dword [0x43b9d0]
cmp eax, 0x8ef89d35
jl 0x42c707
movsx eax, word [0x43ddc2]
movsx ecx, word [0x43fb36]
not eax
imul eax, eax, 0x753a1ed0
sub ecx, eax
mov eax, dword [0x4387cc]
imul eax, ecx
mov dword [0x4387cc], eax
dec word [0x43fb36]
test esi, esi
jle 0x42c747
mov eax, dword [0x439bf8]
not eax
add eax, 0x757bc8dc
or eax, 0x1d8030e1
sub dword [0x4370b0], eax
mov eax, dword [ebp - 8]
push esi
add eax, 0x28
add eax, edi
push ebx
push eax
call fcn.004275ee
movzx eax, word [0x43e80c]
add esp, 0xc
and eax, 0xa66e9e0a
mov word [0x43e80c], ax
and dword [0x4392c0], 0x3cb7013
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret