Function at 0x442bc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov edi, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
mov ecx, ebx
add ecx, ebp
mov edx, edi
adc edx, 0
mov dword [esp + 4], 0
mov esi, 0xfffffffe
cmp esi, ecx
mov ecx, 0
sbb ecx, edx
mov esi, dword [esp + 0x34]
jb 0x442cd2
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
add esi, edx
add edx, ebp
mov ecx, ebx
and ecx, 3
mov eax, ecx
not eax
or eax, 1
add eax, ecx
shr ecx, 1
mov ebx, edx
mov edi, esi
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ebp, eax
inc ebp
je 0x442e7a
mov ecx, dword [esp + 0x38]
and ecx, 2
add edx, ecx
add esi, ecx
mov ebx, ebp
and ebx, 7
je 0x442c62
xor edi, edi
nop
nop
nop
nop
movzx ecx, byte [edx + edi]
mov byte [esi + edi], cl
inc edi
cmp ebx, edi
jne 0x442c50
add edx, edi
add esi, edi
sub ebp, edi
cmp eax, 7
jb 0x442e7a
mov dword [esp + 4], 0
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [edx + edi]
mov byte [esi + edi], al
movzx eax, byte [edx + edi + 1]
mov byte [esi + edi + 1], al
movzx eax, byte [edx + edi + 2]
mov byte [esi + edi + 2], al
movzx eax, byte [edx + edi + 3]
mov byte [esi + edi + 3], al
movzx eax, byte [edx + edi + 4]
mov byte [esi + edi + 4], al
movzx eax, byte [edx + edi + 5]
mov byte [esi + edi + 5], al
movzx eax, byte [edx + edi + 6]
mov byte [esi + edi + 6], al
movzx eax, byte [edx + edi + 7]
mov byte [esi + edi + 7], al
add edi, 8
cmp ebp, edi
jne 0x442c80
jmp 0x442e7a
mov dword [esp + 8], 0xd0cfce66
mov dword [esp + 0xc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x442d39
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
mov edx, eax
xor edx, 0xfb3c9d4d
and eax, 0xfb3c9d4d
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0x7f
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x442d00
mov eax, dword [esp + 8]
mov dword [esp + 4], eax
mov ecx, dword [0x451454]
test ecx, ecx
je 0x442da4
mov eax, edi
xor edx, edx
mov edi, dword [0x451458]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x54ca534e
je 0x442d72
inc edx
cmp ecx, edx
jne 0x442d60
mov edi, eax
jmp 0x442da4
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, dword [esp + 4]
mov edi, eax
je 0x442da4
lea eax, [esp + 0x14]
push 2
push 0
push 0
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 7
push dword [0x45145c]
push ecx
call fcn.00441840
add esp, 0x28
mov dword [esp + 4], eax
cmp dword [esp + 4], 0
js 0x442e7a
push 0xc95dc39
push dword [0x459468]
call fcn.00444110
add esp, 8
push 0
push 0
push ebx
push esi
push edi
push ebp
push dword [esp + 0x2c]
call eax
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 8], 0xd0cfce66
mov dword [esp + 0xc], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x442e39
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
mov esi, eax
xor esi, 0xfb3c9d4d
and eax, 0xfb3c9d4d
lea eax, [esi + eax*2]
xor eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
add al, 0x7f
mov edx, dword [esp]
mov byte [esp + edx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x442e00
mov edx, dword [0x451454]
test edx, edx
je 0x442e7a
mov esi, dword [esp + 8]
xor edi, edi
mov ebx, dword [0x451458]
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x442e60
inc edi
cmp edx, edi
jne 0x442e50
jmp 0x442e7a
mov edx, dword [ebx + edi*8 + 4]
cmp edx, esi
je 0x442e7a
push ecx
push 1
push dword [0x45145c]
push edx
call fcn.00441840
add esp, 0x10
mov eax, dword [esp + 4]
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret