Function at 0x1000dd93
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 4]
mov edx, eax
mov ecx, dword [esp + 0x10]
xor edx, 0x7b7
push ebx
push ebp
lea ebp, [eax + 0x401]
lea ebx, [eax - 0x404f]
mov eax, dword [esp + 0x14]
push esi
push edi
mov esi, ecx
lea edi, [eax - 0xb]
xor esi, 0x43bc
add eax, 0xfffffd32
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], eax
lea edi, [ecx - 0x331]
add eax, 0x76e
lea ecx, [edx - 0x252]
cmp edx, eax
mov eax, ebx
cmovge ecx, edx
xor eax, 0x43bc
mov dword [esp + 0x20], ecx
cmp ecx, eax
jl 0x1000dfe2
lea eax, [edi + 0x759]
cmp ecx, eax
jge 0x1000df3d
xor esi, 0x476c
cmp edi, esi
mov esi, dword [esp + 0x24]
jge 0x1000df1c
xor edi, edi
mov eax, dword [0x100614e0]
mov ebx, dword [edi + eax]
add edi, 4
mov eax, dword [0x1004b8b4]
imul ebx, dword [esi + 0x3c]
mov eax, dword [eax + 0xe0]
add eax, dword [esi + 0x34]
xor eax, dword [esi + 0xc0]
mov edx, ebx
xor eax, 0x31402
shr edx, 0x18
mov dword [esi + 0xc0], eax
mov eax, dword [0x100614b0]
mov ecx, dword [esi + 0x8c]
mov byte [eax + ecx], dl
mov edx, ebx
inc dword [0x100614b0]
mov eax, dword [0x10061530]
add eax, 0xfffc289c
shr edx, 0x10
xor dword [esi + 0x50], eax
mov ecx, dword [esi + 0x50]
mov eax, dword [0x1004b8b4]
xor ecx, 0x157c02
add dword [eax + 0xf4], ecx
mov eax, dword [0x10061538]
mov ecx, dword [esi + 0x8c]
add eax, 0xffffffed
add eax, dword [esi + 0x6c]
add dword [esi + 0xcc], eax
mov eax, dword [0x100614b0]
mov byte [eax + ecx], dl
mov ecx, ebx
mov edx, dword [0x100614b0]
inc edx
shr ecx, 8
mov dword [0x100614b0], edx
mov eax, dword [esi + 0x8c]
mov byte [edx + eax], cl
inc dword [0x100614b0]
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x8c]
mov byte [ecx + eax], bl
inc dword [esi + 0x58]
mov eax, dword [0x1004b8b4]
mov ecx, dword [esi + 0xe0]
sub ecx, dword [eax + 0xcc]
add ecx, 0xdcf10
add dword [esi + 0x28], ecx
cmp edi, 0x15dec
jl 0x1000de1a
cmp dword [esi + 0xb0], 0x32c
jae 0x1000df1c
mov eax, dword [esi + 0xe0]
add eax, dword [0x10061524]
xor eax, 0xa89b
mov dword [esi + 0x3c], eax
mov eax, dword [0x1004b8b4]
mov eax, dword [eax + 0xd8]
add eax, dword [0x10061508]
xor eax, dword [esi + 0x3c]
xor eax, 0xbef55f77
mov dword [esi + 0x3c], eax
jmp 0x1000dfe2
mov edx, dword [0x1004b8b4]
mov edi, dword [esp + 0x24]
mov eax, dword [edx + 0x4c]
sub eax, 0x40b9
cmp dword [edi + 0x7c], eax
jae 0x1000dfe2
mov eax, dword [edx + 0xf0]
mov ecx, dword [esp + 0x14]
sub eax, ecx
add eax, 0x4450
cmp dword [esp + 0x20], eax
jbe 0x1000dfe2
mov eax, dword [edi + 0xd8]
and eax, dword [edi + 0xa8]
push eax
mov eax, dword [edx + 0x34]
xor eax, ecx
or eax, dword [edi + 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_ActivateActCtx]
mov ecx, dword [0x1004b8b4]
xor ebx, ebp
mov edx, dword [esp + 0x14]
sub ebx, 0x426d
mov eax, dword [ecx + 0x74]
xor eax, 0x3edf
sub eax, dword [edi + 0xa8]
push eax
lea eax, [edx + esi]
mov esi, dword [esp + 0x20]
and eax, 0x40ee
push eax
mov eax, dword [ecx + 0x7c]
imul ecx, dword [ecx + 0x6c], 0x47f8
or eax, 0x4464
sub eax, dword [edi + 0xb8]
push eax
mov eax, esi
xor eax, edx
push eax
lea eax, [esi + ebp]
and ecx, edx
push eax
push ebx
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
pop edi
xor ebp, 0x7e1
pop esi
mov eax, ebp
pop ebp
pop ebx
ret