Function at 0x441f50
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x70]
mov dword [esp], eax
test esi, esi
cmove esi, dword [esp + 0x7c]
call fcn.00458c20
cmp ebx, 0xffffffff
mov dword [esp + 0x1c], eax
je 0x4420a4
cmp ebx, 0xfffffffe
je 0x441f94
jl 0x442220
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0042d5a0
test eax, eax
jne 0x442072
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00422a60
mov dword [esp], ebp
sub eax, 1
mov dword [esp + 0x20], eax
and dword [esp + 0x20], 7
call fcn.00420340
mov edx, dword [esp + 0x20]
test edx, edx
mov dword [esp + 0x24], eax
jne 0x441fe5
mov eax, dword [esp + 0x74]
sub dword [esp + 0x24], 1
mov byte [eax], 0
add eax, 1
mov dword [esp + 0x74], eax
cmp ebx, 0xfffffffe
je 0x4420b0
mov eax, dword [esp + 0x1c]
lea eax, [eax + ebx + 2]
cmp dword [esp + 0x24], eax
jb 0x442247
test ebx, ebx
jle 0x442240
mov dword [esp], ebx
call sub.msvcrt.dll_malloc
test eax, eax
mov edi, eax
je 0x442264
mov dword [esp + 4], ebx
xor ebp, ebp
mov dword [esp], eax
call fcn.00451fc0
test eax, eax
je 0x442060
lea eax, [esp + 0x38]
xor ebp, ebp
mov dword [esp], eax
call fcn.00458c40
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
lea eax, [esp + 0x38]
mov dword [esp], eax
call fcn.00458f80
test eax, eax
jne 0x4420e3
nop
mov dword [esp], edi
call fcn.0049e1d0
add esp, 0x5c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x10], 0x2b3
mov dword [esp + 0xc], 0x4c6720
mov dword [esp + 8], 0x75
mov dword [esp + 4], 0x6c
xor edi, edi
xor ebp, ebp
mov dword [esp], 4
call fcn.00429d90
jmp 0x442060
mov ebx, eax
jmp 0x441f94
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov eax, ecx
sub ebx, ecx
add eax, 2
add ebx, edx
cmp edx, eax
jae 0x442000
mov dword [esp + 0x10], 0x2c1
mov dword [esp + 0xc], 0x4c6720
mov dword [esp + 8], 0x6f
jmp 0x44208a
lea eax, [esp + 0x38]
mov dword [esp + 8], 8
mov dword [esp + 4], 0x4c674c
mov dword [esp], eax
call fcn.004590d0
test eax, eax
je 0x442060
mov eax, dword [esp + 0x1c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
lea eax, [esp + 0x38]
mov dword [esp], eax
call fcn.004590d0
test eax, eax
je 0x442060
test ebx, ebx
je 0x44214b
lea eax, [esp + 0x38]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.004590d0
test eax, eax
je 0x442060
mov eax, dword [esp + 0x1c]
xor ebp, ebp
mov dword [esp + 8], 0
not eax
add eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
add eax, dword [esp + 0x74]
mov dword [esp + 0x2c], eax
mov dword [esp + 4], eax
lea eax, [esp + 0x38]
mov dword [esp], eax
call fcn.00459100
test eax, eax
je 0x442060
lea eax, [esp + 0x38]
mov dword [esp], eax
call fcn.00458cd0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.00441380
test eax, eax
jne 0x442060
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x74]
sub eax, esi
sub ecx, ebx
lea esi, [ecx + eax - 2]
xor eax, eax
xor byte [esi], 1
test ebx, ebx
jle 0x4421e7
movzx edx, byte [edi + eax]
xor byte [esi + eax + 1], dl
add eax, 1
cmp eax, ebx
jne 0x4421d8
mov eax, dword [esp + 0x20]
test eax, eax
je 0x442205
mov ecx, 8
mov eax, 0xff
sub ecx, dword [esp + 0x20]
sar eax, cl
mov ecx, dword [esp + 0x74]
and byte [ecx], al
mov eax, dword [esp + 0x74]
mov ebp, 1
mov ecx, dword [esp + 0x24]
mov byte [eax + ecx - 1], 0xbc
jmp 0x442060
mov dword [esp + 0x10], 0x2ad
mov dword [esp + 0xc], 0x4c6720
mov dword [esp + 8], 0x85
jmp 0x44208a
xor edi, edi
jmp 0x44202c
mov dword [esp + 0x10], 0x2c7
mov dword [esp + 0xc], 0x4c6720
mov dword [esp + 8], 0x6f
jmp 0x44208a
mov dword [esp + 0x10], 0x2ce
xor ebp, ebp
mov dword [esp + 0xc], 0x4c6720
mov dword [esp + 8], 0x41
mov dword [esp + 4], 0x6c
mov dword [esp], 4
call fcn.00429d90
jmp 0x442060