Function at 0x1004e251
Capabilities:
Encode data using xor

Disassembly:
push 0x28c
mov eax, 0x101a40e2
call fcn.1017516e
mov edi, ecx
mov eax, dword [ebp + 0x14]
mov ecx, 0x48d5
mov dword [edi + 0x1f60], eax
mov eax, 0x48ed
mov dword [ebp - 0x274], 0x4896
mov word [ebp - 0x270], ax
add eax, 0xffffffba
mov word [ebp - 0x26e], ax
lea edx, [ecx - 0x34]
mov word [ebp - 0x26c], cx
lea eax, [ecx - 0x26]
mov word [ebp - 0x26a], dx
mov word [ebp - 0x268], ax
add eax, 0x28
mov word [ebp - 0x266], ax
mov word [ebp - 0x264], cx
add ecx, 0xffffffd2
mov word [ebp - 0x262], cx
lea ecx, [edx + 0xd]
mov word [ebp - 0x260], ax
lea eax, [edx + 0x1a]
mov word [ebp - 0x25e], ax
mov word [ebp - 0x25c], cx
add ecx, 0xfffffff6
mov word [ebp - 0x25a], dx
mov word [ebp - 0x258], cx
lea ecx, [edx + 0x2f]
mov word [ebp - 0x256], cx
inc edx
mov word [ebp - 0x254], ax
add eax, 0x3a
mov word [ebp - 0x252], dx
mov word [ebp - 0x250], ax
lea eax, [ecx + 0x22]
mov word [ebp - 0x24e], ax
inc eax
mov word [ebp - 0x24c], ax
lea eax, [ecx - 0x15]
mov word [ebp - 0x24a], ax
add ecx, 0xffffffdf
mov word [ebp - 0x248], cx
lea ecx, [eax - 0x1a]
mov word [ebp - 0x246], dx
mov word [ebp - 0x244], cx
add ecx, 3
mov word [ebp - 0x242], cx
mov word [ebp - 0x240], ax
add eax, 0xfffffff8
mov word [ebp - 0x23e], ax
mov eax, 0x48a6
mov word [ebp - 0x23c], ax
add eax, 8
mov word [ebp - 0x23a], ax
mov eax, 0x48ee
mov word [ebp - 0x238], ax
add eax, 0xffffffcd
mov word [ebp - 0x236], ax
mov eax, ecx
mov word [ebp - 0x234], ax
mov eax, 0x48ae
mov word [ebp - 0x232], ax
mov esi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
lea ecx, [eax + 0x22]
add eax, 0xfffffff5
mov word [ebp - 0x230], cx
mov word [ebp - 0x22e], ax
lea eax, [ecx - 0x2f]
mov word [ebp - 0x22c], ax
add ecx, 0xffffffdf
mov word [ebp - 0x22a], dx
add eax, 0xd
mov word [ebp - 0x228], cx
mov word [ebp - 0x226], ax
mov eax, 0x48a7
mov word [ebp - 0x224], ax
add eax, 0xfffffff9
mov word [ebp - 0x222], ax
mov eax, 0x48a4
mov word [ebp - 0x220], cx
mov word [ebp - 0x21e], ax
add eax, 0x47
mov word [ebp - 0x21c], ax
xor eax, eax
mov word [ebp - 0x21a], ax
xor edx, edx
mov ax, word [ebp - 0x270]
mov ax, word [ebp + edx*2 - 0x270]
movzx ecx, ax
movzx eax, word [ebp - 0x274]
xor ecx, eax
mov word [ebp + edx*2 - 0x270], cx
inc edx
cmp edx, 0x2b
jb 0x1004e42c
xor eax, eax
push esi
mov word [ebp - 0x21a], ax
call fcn.10016845
push eax
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x218]
push 0x208
push eax
call fcn.10007b06
add esp, 0x10
lea esi, [edi + 0x1f5c]
lea edx, [ebp - 0x218]
mov ecx, esi
call fcn.1004e19e
test eax, eax
js 0x1004e5b5
lea edx, [ebp - 0x27c]
mov dword [ebp - 0x27c], edi
lea ecx, [ebp - 0x294]
call fcn.100514f9
and dword [ebp - 4], 0
and dword [ebp - 0x278], 0
mov byte [ebp - 4], 1
push ecx
push dword [esi]
lea ecx, [ebp - 0x278]
call fcn.100514a7
mov esi, eax
test esi, esi
js 0x1004e585
lea ecx, [ebp - 0x280]
call fcn.10051546
mov byte [ebp - 4], 2
mov ecx, dword [eax]
and dword [eax], 0
mov edx, dword [edi + 0x1f58]
mov dword [edi + 0x1f58], ecx
test edx, edx
je 0x1004e4fe
mov eax, dword [edx]
mov ecx, edx
push 1
call dword [eax]
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x280]
test ecx, ecx
je 0x1004e512
mov eax, dword [ecx]
push 1
call dword [eax]
lea edx, [ebp - 0x284]
mov dword [ebp - 0x284], edi
lea ecx, [ebp - 0x28c]
call fcn.100515af
mov byte [ebp - 4], 3
mov eax, dword [edi + 0x1f58]
push dword [ebp + 0x10]
push ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
mov esi, eax
test esi, esi
js 0x1004e56d
mov ecx, edi
call fcn.1004f3b4
mov esi, eax
test esi, esi
js 0x1004e56d
mov ecx, edi
call fcn.1004f0d0
mov esi, eax
test esi, esi
js 0x1004e56d
mov byte [ebp - 0x28c], 1
xor esi, esi
mov byte [ebp - 0x294], 1
mov byte [ebp - 4], 1
cmp byte [ebp - 0x28c], 0
jne 0x1004e585
lea ecx, [ebp - 0x288]
call fcn.10051a41
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x278]
test eax, eax
je 0x1004e59b
push dword [eax]
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x294], 0
jne 0x1004e5b3
lea ecx, [ebp - 0x290]
call fcn.10051aa1
mov eax, esi
call fcn.10175118
ret 0x10