Function at 0x10028370
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x1008d200]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [0x10098794]
mov eax, dword [esi + 8]
cmp eax, 0x80
jge 0x1002839b
mov ecx, dword [esi + 4]
mov dword [ecx + eax*4], 0x10010ca0
mov eax, dword [esi + 0xc]
cmp eax, 0x80
jge 0x100283af
mov edx, dword [esi + 4]
mov dword [edx + eax*4], section..text
mov eax, dword [esi + 0x10]
cmp eax, 0x80
jge 0x100283c3
mov ecx, dword [esi + 4]
mov dword [ecx + eax*4], 0x1002a1a0
mov eax, dword [esi + 0x14]
cmp eax, 0x80
jge 0x100283d7
mov edx, dword [esi + 4]
mov dword [edx + eax*4], 0x10004cc0
mov eax, dword [esi + 0x18]
cmp eax, 0x80
jge 0x100283eb
mov ecx, dword [esi + 4]
mov dword [ecx + eax*4], 0x1002a010
mov eax, dword [esi + 0x1c]
cmp eax, 0x80
jge 0x100283ff
mov edx, dword [esi + 4]
mov dword [edx + eax*4], 0x10004cf0
mov eax, dword [esi + 0x20]
cmp eax, 0x80
jge 0x10028413
mov ecx, dword [esi + 4]
mov dword [ecx + eax*4], 0x10025770
mov eax, dword [esi + 0x24]
cmp eax, 0x80
jge 0x10028427
mov edx, dword [esi + 4]
mov dword [edx + eax*4], 0x100258d0
mov eax, dword [esi + 0x28]
cmp eax, 0x80
jge 0x1002843b
mov ecx, dword [esi + 4]
mov dword [ecx + eax*4], 0x10004cd0
mov eax, dword [esi + 0x2c]
cmp eax, 0x80
jge 0x1002844f
mov edx, dword [esi + 4]
mov dword [edx + eax*4], 0x10001040
mov eax, dword [esi + 0x30]
cmp eax, 0x80
jge 0x10028463
mov ecx, dword [esi + 4]
mov dword [ecx + eax*4], 0x1000f330
mov eax, dword [esi + 0x34]
cmp eax, 0x80
jge 0x10028477
mov edx, dword [esi + 4]
mov dword [edx + eax*4], 0x1000ee20
mov eax, dword [esi + 0x38]
cmp eax, 0x80
jge 0x1002848b
mov ecx, dword [esi + 4]
mov dword [ecx + eax*4], 0x10001290
mov eax, dword [esi + 0x3c]
cmp eax, 0x80
jge 0x1002849f
mov edx, dword [esi + 4]
mov dword [edx + eax*4], fcn.10014570
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push edi
push str.User32.dll
xor edi, edi
call ebx
test eax, eax
jne 0x100284c3
push str.User32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x100284fa
mov dword [ebp - 0x14], 0xf1f2e532
mov dword [ebp - 0x10], 0xc4e0e3e2
mov dword [ebp - 0xc], 0x8adef0e8
xor ecx, ecx
lea ebx, [ebx]
lea edx, [ecx + 0x7f]
xor byte [ebp + ecx - 0x14], dl
inc ecx
cmp ecx, 0xc
jb 0x100284e0
lea ecx, [ebp - 0x14]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
mov eax, dword [esi + 0x40]
cmp eax, 0x80
jge 0x1002850a
mov edx, dword [esi + 4]
mov dword [edx + eax*4], edi
push str.kernel32.dll
xor edi, edi
call ebx
test eax, eax
jne 0x10028526
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x10028562
mov dword [ebp - 0x18], 0xeff3e52b
mov dword [ebp - 0x14], 0xf2e4eaea
mov dword [ebp - 0x10], 0xe5fbd8e2
mov dword [ebp - 0xc], 0xfdfee9e8
mov byte [ebp - 8], 0x8f
xor ecx, ecx
lea edx, [ecx + 0x7f]
xor byte [ebp + ecx - 0x18], dl
inc ecx
cmp ecx, 0x11
jb 0x10028548
lea ecx, [ebp - 0x18]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, eax
mov eax, dword [esi + 0x44]
cmp eax, 0x80
jge 0x10028572
mov edx, dword [esi + 4]
mov dword [edx + eax*4], edi
mov eax, dword [esi + 0x48]
pop edi
pop ebx
cmp eax, 0x80
jge 0x10028588
mov ecx, dword [esi + 4]
mov dword [ecx + eax*4], 0x1002a350
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.1005c755
mov esp, ebp
pop ebp
ret