Function at 0x100d8250
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x1024b8c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
cmp eax, 0x12
ja case.default.0x100d8270
jmp dword [eax*4 + 0x100d8530]
lea eax, [ebp - 0x1c]
mov ecx, 0x10246de0
push eax
call fcn.1004fa20
cmp dword [ebp - 8], 0xf
lea ecx, [ebp - 0x1c]
cmova ecx, dword [ebp - 0x1c]
push ecx
mov ecx, esi
call fcn.10044e70
lea ecx, [ebp - 0x1c]
call fcn.10045300
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10103042
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1c]
mov ecx, 0x10246df0
push eax
call fcn.1004fa20
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
mov ecx, esi
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.10044e70
lea ecx, [ebp - 0x1c]
call fcn.10045300
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10103042
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1c]
mov ecx, 0x10246e00
push eax
call fcn.1005b890
jmp 0x100d82bf
lea eax, [ebp - 0x1c]
mov ecx, 0x10246e18
push eax
call fcn.1004fcd0
jmp 0x100d82bf
lea eax, [ebp - 0x1c]
mov ecx, 0x10246e30
push eax
call fcn.10051220
jmp 0x100d82bf
lea eax, [ebp - 0x1c]
mov ecx, 0x10246e48
push eax
call fcn.1004fb60
jmp 0x100d82bf
lea eax, [ebp - 0x1c]
mov ecx, 0x10246e58
push eax
call fcn.10051220
jmp 0x100d82bf
lea eax, [ebp - 0x1c]
mov ecx, 0x10246e70
push eax
call fcn.10051150
jmp 0x100d82bf
lea eax, [ebp - 0x1c]
mov ecx, 0x10246e88
push eax
call fcn.10051220
jmp 0x100d82bf
lea eax, [ebp - 0x1c]
mov ecx, 0x10246ea0
push eax
call fcn.10050390
jmp 0x100d82bf
lea eax, [ebp - 0x1c]
mov ecx, 0x10246eb8
push eax
call fcn.10051150
jmp 0x100d82bf
lea eax, [ebp - 0x1c]
mov ecx, 0x10246ed0
push eax
call fcn.10050390
jmp 0x100d82bf
lea eax, [ebp - 0x1c]
mov ecx, 0x10246ee8
push eax
call fcn.10051150
jmp 0x100d82bf
lea eax, [ebp - 0x1c]
mov ecx, 0x10246f00
push eax
call fcn.10050390
jmp 0x100d82bf
lea eax, [ebp - 0x1c]
mov ecx, 0x10246f18
push eax
call fcn.10051150
jmp 0x100d82bf
lea eax, [ebp - 0x1c]
mov ecx, 0x10246f30
push eax
call fcn.10051490
jmp 0x100d82bf
lea eax, [ebp - 0x1c]
mov ecx, 0x10246f50
push eax
call fcn.100512f0
jmp 0x100d82bf
cmp byte [0x10246f68], 0
push ebx
push edi
je 0x100d8467
cmp byte [0x10246f69], 0
jne 0x100d84af
mov byte [0x10246f69], 1
xor edi, edi
nop word [eax + eax]
xor edx, edx
mov ebx, edi
xor edx, dword [0x10246f84]
xor ebx, dword [0x10246f80]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [edi + 0x10246f6a]
xor al, bl
mov byte [edi + 0x10246f6a], al
inc edi
cmp edi, 0x10
jb 0x100d8420
jmp 0x100d84af
xor edi, edi
nop dword [eax]
xor edx, edx
mov ebx, edi
xor edx, dword [0x10246f84]
xor ebx, dword [0x10246f80]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, bl
xor byte [edi + 0x10246f6a], al
inc edi
cmp edi, 0x10
jb 0x100d8470
lea eax, [ebp - 0x1d]
push eax
push 0x10246f79
push 0x10246f6a
lea ecx, [ebp - 0x1c]
call fcn.1004f960
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
mov ecx, esi
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.10044e70
lea ecx, [ebp - 0x1c]
call fcn.10045300
pop edi
pop ebx
mov eax, esi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10103042
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x1c]
mov ecx, 0x10246f88
push eax
call fcn.100513c0
jmp 0x100d82bf
mov ecx, dword [ebp - 4]
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov eax, esi
mov dword [esi + 0x14], 0xf
xor ecx, ebp
mov byte [esi], 0
pop esi
call fcn.10103042
mov esp, ebp
pop ebp
ret