Function at 0x1000d8a0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x18
mov edx, dword [esp + 0x1c]
add ecx, 0xffffee69
add dword [esp + 0x2c], 0x99
push ebx
mov ebx, dword [esp + 0x28]
lea eax, [edx - 0x1a46]
add ebx, 0x5b6
push ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x14], eax
add ebp, 0xfffff8e2
mov eax, dword [esp + 0x3c]
push esi
push edi
lea edi, [edx - 0x4b6]
mov dword [esp + 0x10], ebp
mov edx, dword [esp + 0x3c]
lea esi, [eax - 0xd9]
add eax, 0x83
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], ecx
cmp edx, eax
jl 0x1000d978
lea eax, [ebx - 0x252]
cmp ebp, eax
jg 0x1000d978
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0x64]
xor ecx, 0x19ad
mov dword [eax + 0xc], ecx
mov eax, dword [esi + 0x12c]
mov eax, dword [eax + 0x14c]
xor eax, 0xdc8
cmp eax, 0x1112
jbe 0x1000d953
mov eax, dword [esi + 0x24]
imul eax, dword [eax + 0xfc], 0xffffe9b8
add dword [esi + 0x94], eax
lea eax, [esi + 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov ecx, dword [esp + 0x30]
sub edi, 0x1f5
mov edx, dword [esp + 0x3c]
mov dword [esi + 0x110], eax
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x14]
lea eax, [edi - 0x3d8]
cmp ecx, eax
jg 0x1000d994
pop edi
pop esi
pop ebp
lea eax, [ebx - 0x351]
pop ebx
add esp, 0x18
ret
mov eax, dword [esi + 0x12c]
mov ecx, dword [esi + 0x14c]
sub eax, 0x1839
mov dword [esp + 0x44], ecx
cmp ecx, eax
jae 0x1000dad5
imul eax, edx, 0x156f
mov dword [esp + 0x20], eax
nop dword [eax + eax]
mov eax, dword [esi + 0x13c]
xor eax, dword [esp + 0x1c]
mov edx, dword [esi + 0x50]
mov ebp, edx
mov ebx, dword [esi + 0x10c]
imul ecx, eax, 0x190f
xor ebx, edx
mov eax, dword [esi + 0xc8]
xor ebx, dword [esp + 0x30]
or eax, edx
sub eax, dword [esp + 0x34]
imul ebp, edi
mov edi, dword [esi + 0xf8]
push ecx
push esi
push eax
push ecx
push ecx
push ecx
or edi, 0x1784
push edi
push ecx
push ebx
push ebp
call fcn.10008a70
mov ebp, dword [esi + 0x12c]
add esp, 0x24
mov ecx, dword [esp + 0x30]
mov edi, dword [esi + 0x108]
mov dword [esp + 0x38], eax
mov ebx, dword [esp + 0x34]
lea eax, [ebp - 0x252]
add dword [esi + 8], eax
mov eax, dword [esi + 0x58]
add eax, dword [esp + 0x1c]
add dword [esi + 0xfc], eax
mov eax, dword [esi + 0x38]
sub eax, dword [esi + 0x13c]
or ebp, dword [esp + 0x14]
or ecx, eax
mov eax, dword [esi + 0x50]
add ebx, ecx
add eax, dword [esp + 0x40]
imul ebx, dword [esi + 0x1b8]
mov edx, dword [esi + 0xd0]
push ebp
mov dword [esp + 0x2c], eax
xor edx, 0x13a4
mov eax, dword [esp + 0x3c]
xor edi, eax
and eax, dword [esi + 0x2c]
push eax
sub esp, 0x10
mov dword [esp + 0x48], ecx
mov ecx, dword [esi + 0x94]
xor ecx, dword [esp + 0x3c]
push esi
push ecx
push ecx
mov ecx, dword [esp + 0x58]
imul ecx, dword [esp + 0x5c]
push edi
push edx
mov edx, dword [esp + 0x54]
push ebx
add ecx, 0x190f
call fcn.10004c40
mov ecx, dword [esi + 0x12c]
mov ebp, eax
mov edi, dword [esp + 0x48]
sub ecx, 0x1839
mov dword [esp + 0x44], eax
add esp, 0x34
mov eax, dword [esp + 0x44]
add eax, 2
mov dword [esp + 0x44], eax
cmp eax, ecx
jb 0x1000d9c0
mov ebx, dword [esp + 0x18]
mov ecx, ebp
sub ecx, dword [esi + 0x14c]
cmp ebp, ecx
ja 0x1000daf1
imul eax, dword [esi + 0x194], 0x1869
add dword [esi + 0x12c], eax
pop edi
pop esi
pop ebp
lea eax, [ebx + 0x58]
pop ebx
add esp, 0x18
ret