Function at 0x10d2b72
Capabilities:
Encode data using xor

Disassembly:
jmp 0x10d2b88
pop ecx
sti
jmp 0x10d2bbe
cmp dword [ebp + 0x122d014d], 0
je 0x10d2bd5
mov dword [ebp + 0x122d2d03], 1
mov eax, dword [ebp + 0x122d0061]
mov esi, eax
mov ecx, dword [esi + 0x3c]
add esi, ecx
mov ecx, 0x400000
mov dword [ebp + 0x1245da14], ecx
mov edi, dword [ebp + 0x122d2e3b]
test edi, edi
jne 0x10d2c00
jmp 0x10d2d41
mov esi, edi
mov ecx, 0x4a94
lodsb al, byte [esi]
xor al, 0x37
stosb byte es:[edi], al
dec ecx
jne 0x10d2c07
mov ecx, dword [ebp + 0x122d2e3b]
mov edi, dword [ebp + 0x122d0061]
mov esi, dword [ebp + 0x1245da14]
cmp edi, esi
jne 0x10d2c31
jmp 0x10d2d32
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
sub dword [ebp + 0x122d0fe1], edx
sub edx, 8
add ecx, 8
add eax, edi
pushal
mov ebx, eax
push ebx
push 0x1000
push ebx
call dword [ebp + 0x122d2257]
pop ebx
test eax, eax
je 0x10d2c72
lea eax, [ebp + 0x122d325e]
push eax
push 0x40
push 0x1000
push ebx
call dword [ebp + 0x122d3145]
popal
mov bx, word [ecx]
test bx, 0xf000
je 0x10d2d19
and ebx, 0xfff
add ebx, eax
cmp dword [ebp + 0x122d2e03], 1
jne 0x10d2caf
cmp byte [ebx - 2], 0xe8
jne 0x10d2caf
cmp byte [ebx + 3], 0x90
jne 0x10d2caf
jmp 0x10d2d19
cmp byte [ebx - 1], 0xc5
jne 0x10d2cdc
cmp dword [ebp + 0x122d2c8b], 0
je 0x10d2cdc
cmp dword [ebp + 0x122d0db5], 0
je 0x10d2cdc
mov byte [ebx - 1], 0xe9
jmp 0x10d2d19
cmp dword [ebp + 0x122d014d], 0
je 0x10d2d09
cmp byte [ebx - 1], 0xc5
jne 0x10d2d09
cmp dword [ebp + 0x122d2c8b], 0
je 0x10d2d09
mov byte [ebx - 1], 0xe9
jmp 0x10d2d19
cmp dword [ebx], 0x90909090
je 0x10d2d19
sub dword [ebx], esi
add dword [ebx], edi
add ecx, 2
sub edx, 2
jne 0x10d2c73
cmp dword [ebp + 0x122d0fe1], 0
jne 0x10d2c31
mov edi, dword [ebp + 0x122d2e3b]
mov ecx, 0x4a94
xor al, al
rep stosb byte es:[edi], al
mov edx, 0x28639002
mov edi, dword [ebp + 0x122d09f1]
mov ecx, 0x79
lea esi, [ebp + 0x12529d94]
rep movsb byte es:[edi], byte [esi]
xor edx, 0x28634112
mov edi, dword [ebp + 0x122d09f1]
add edi, 0xe
test edx, edx
je 0x10d2d76
add edx, dword [ebp + 0x122d0061]
mov dword [edi + 1], edx
mov edx, dword [ebp + 0x122d25da]
mov edi, dword [ebp + 0x122d09f1]
add edi, 0x54
mov dword [edi + 1], edx
mov edi, dword [ebp + 0x122d09f1]
add edi, 0x49
mov dword [edi + 1], ebp
mov edi, dword [ebp + 0x122d09f1]
add edi, 0x25
mov dword [edi + 1], ebp
jmp 0x10d2e21
mov eax, 0x10000000
push eax
cmp dword [esp], 0
jne 0x10d2dcb
add esp, 4
mov eax, 1
ret
ret
add byte [eax], dl
inc dword [ebp + 0x122d2e53]
mov eax, dword [ebp + 0x122d1659]
cmp dword [ebp + 0x122d2e53], eax
pop ebp
ja 0x10d2db6
mov eax, 1
ret 0xc
xchg ebp, eax
mov eax, edx
push ebp
in eax, dx
std
jne 0x10d2e86
pop esi
jp 0x10d2e20
jbe 0x10d2dd0
imul esp, esi, 0xfd49bc56
and al, 0x69
jae 0x10d2e32
lcall 0x7353, 0xdbfc7344
cld
cmp ecx, ebx
jae 0x10d2e3e
sub ebx, dword [ebx + esi*2]
cld
add esi, edi
jae 0x10d2e46
out dx, al
invalid
iretd
jae 0x10d2e4e
mov edx, 0xe1fc736b
inc esp
loope 0x10d2e9c
jae 0x10d2e56
mov esi, 0x13fc7353
adc ebx, ebx
invalid
jae 0x10d2e5e
jl 0x10d2e81
jae 0x10d2e62
pop ebp
push dword [ebx - 4]
invalid
dec edx
jno 0x10d2e60
ficomp word [ebp + edi*4 + 0x4b]
pop esp
mov ebp, 0x5a5cf44b
hlt
pop esp
pop edx
jp 0x10d2e87
jne 0x10d2eb3
jb 0x10d2e83
jne 0x10d2e27
xchg edi, eax
jns 0x10d2e8f
je 0x10d2e5f
retf
js 0x10d2e93
jae 0x10d2e85
jge 0x10d2e8f
je 0x10d2e8f
jnp 0x10d2e9a
je 0x10d2f18
jnp 0x10d2e9e
cld
jne 0x10d2e60
mov esp, 0x5e75fd7a
jp 0x10d2ea3
jne 0x10d2f06
pop esi
jp 0x10d2ea7
jbe 0x10d2ea0
test eax, 0xae5e74fb
pop esi
scasb al, byte es:[edi]
sti
je 0x10d2e7f
retf
jp 0x10d2eb3
jne 0x10d2e9c
jnp 0x10d2eb6
je 0x10d2eaf
jnp 0x10d2eba
je 0x10d2e50
mov dl, 0xf8
jne 0x10d2e80
sbb dh, byte [eax - 0x10]
jns 0x10d2ea1
scasd eax, dword es:[edi]
cmpsb byte [si], byte es:[di]
jmp dword [ebx + 0x7068c5eb]
xlatb
call edi
jmp 0x10d2f89
push 0xda92f070
scasd eax, dword es:[edi]
invalid
scasd eax, dword es:[edi]
cmpsb byte [si], byte es:[di]
invalid