Function at 0x12ed010
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x100
mov esi, esp
push eax
sub esp, 0x1c
mov edx, esp
push eax
mov dword [esi + 0x10], esp
push eax
mov ecx, esp
sub esp, 0x1c
mov eax, esp
mov dword [esi + 8], edx
mov dword [esi + 0x14], ecx
mov dword [esi + 0x28], eax
sub esp, 8
mov dword [esi + 0x9c], esp
sub esp, 8
mov dword [esi + 0x34], esp
sub esp, 0x14
mov dword [esi + 0x2c], esp
sub esp, 0x28
mov dword [esi + 0xc], esp
sub esp, 0x18
mov dword [esi + 0x30], esp
sub esp, 0x94
mov dword [esi + 0x1c], esp
sub esp, 0x24
mov dword [esi + 0x18], esp
sub esp, 0x10
mov dword [esi + 0x8c], esp
sub esp, 0xc
mov dword [esi + 0x64], esp
sub esp, 0x2c
mov eax, esp
mov dword [esi + 0xbc], eax
mov dword [esi + 0xb8], eax
sub esp, 0x34
mov dword [esi + 0x70], esp
sub esp, 0x18
mov dword [esi + 0xc0], esp
push eax
mov dword [esi + 0x78], esp
push eax
mov dword [esi + 0x84], esp
sub esp, 8
mov dword [esi + 0x94], esp
sub esp, 0x44
mov dword [esi + 0xe0], esp
sub esp, 0x10
mov dword [esi + 0x7c], esp
push eax
mov dword [esi + 0xd8], esp
push eax
mov dword [esi + 0xc4], esp
push eax
mov dword [esi + 0xe4], esp
sub esp, 8
mov dword [esi + 0xa0], esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xac], eax
mov esp, eax
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xb4], eax
mov esp, eax
push eax
sub esp, 0x28
mov dword [esi + 0xc8], esp
push eax
sub esp, 0xffc
mov dword [esi + 0xa8], esp
push eax
mov dword [esi + 0x98], esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xb0], eax
mov esp, eax
push eax
sub esp, 0x64
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x90], eax
mov esp, eax
push eax
sub esp, 0x18
mov dword [esi + 0xdc], esp
sub esp, 0x14
mov dword [esi + 0x80], esp
push eax
mov dword [esi + 0xcc], esp
sub esp, 0xc
mov dword [esi + 0xf4], esp
sub esp, 0x10
mov dword [esi + 0xf0], esp
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x68], eax
mov dword [esi + 0xe8], eax
sub esp, 0xc
mov dword [esi + 0xec], esp
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [eax + edi + 2], 0
lea edi, [edi + 2]
jne 0x12ed190
sar edi, 1
lea ecx, [esi + 0x74]
push ecx
push 0
push 0
push edi
push eax
push 0
call dword [0x1320370]
mov ebx, dword [esi + 0x74]
test ebx, ebx
jns 0x12ed1bd
mov eax, 0xffffffff
jmp 0x12ed1c0
lea eax, [ebx + ebx]
push eax
call fcn.012dc880
add esp, 4
lea ecx, [esi + 0x74]
push ecx
push ebx
mov dword [esi + 0x24], eax
push eax
push edi
mov eax, dword [ebp + 0xc]
push dword [eax + 4]
push 0
call dword [0x1320370]
mov eax, dword [esi + 0x74]
mov ecx, eax
add ecx, 0xd
jns 0x12ed1f2
mov eax, 0xffffffff
jmp 0x12ed1f9
lea eax, [eax*2 + 0x1a]
push eax
call fcn.012dc880
add esp, 4
mov dword [esi + 4], eax
mov dword [esi + 0x38], 0xf520964
mov dword [esi + 0x3c], 0x3750d6d
mov dword [esi + 0x40], 0x7260174
mov dword [esi + 0x44], 0x1b7f056e
mov dword [esi + 0x48], 0x1f69196e
mov dword [esi + 0x4c], 0x13611d65
mov dword [esi + 0x50], 0x17161162
mov dword [esi + 0x54], 0
mov edx, 0x82
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esi + edx - 0x4a]
mov ebx, edi
and ebx, edx
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xbd
mul cl
mov ecx, eax
mov eax, edi
add cl, al
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0x76
mov byte [esi + edx - 0x4a], al
inc edx
cmp edx, 0xa2
jne 0x12ed250
mov eax, dword [esi + 0x24]
movzx ecx, word [eax]
mov edi, dword [esi + 4]
mov eax, edi
test cx, cx
je 0x12ed2c1
mov eax, dword [esi + 0x24]
lea edx, [eax + 2]
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x12ed2b0
mov word [eax], 0
movzx ecx, word [esi + 0x38]
test cx, cx
je 0x12ed2f1
lea edx, [esi + 0x3a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x12ed2e0
mov word [eax], 0
lea eax, [esi + 0xa4]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.01314520
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x131b3b4]