Function at 0x1004eb1e
Capabilities:
Encode data using xor

Disassembly:
push 0x7c
mov eax, 0x101a41ae
call fcn.1017516e
mov ebx, ecx
mov dword [ebp - 0x88], ebx
mov edi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 4], eax
mov edx, edi
push 0x2a
pop eax
mov word [ebp - 0x84], ax
lea ecx, [ebp - 0x80]
xor eax, eax
mov word [ebp - 0x82], ax
lea eax, [ebp - 0x84]
push eax
call fcn.10051b53
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x80]
sub eax, esi
pop ecx
push 0x18
sub eax, 0x48
pop ecx
cmp eax, ecx
jb 0x1004eb8d
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp + 0xc]
push edi
call fcn.1004e5bd
jmp 0x1004ed5b
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x1004eb97
mov eax, dword [esi]
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp + 0xc]
push eax
call fcn.1004e5bd
mov edi, eax
mov dword [ebp - 0x74], edi
test edi, edi
jns 0x1004ed60
lea eax, [esi + 0x18]
cmp dword [eax + 0x14], 8
jb 0x1004ebbd
mov eax, dword [eax]
push 0x10
push 0
push eax
call fcn.100ec40e
lea ecx, [esi + 0x30]
mov dword [ebp - 0x74], eax
add esp, 0xc
cmp dword [ecx + 0x14], 8
jb 0x1004ebd8
mov ecx, dword [ecx]
push 0x10
push 0
push ecx
call fcn.100ec40e
add esp, 0xc
mov ebx, eax
push ebx
push dword [ebp - 0x74]
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1004ed5d
push ebx
push dword [ebp - 0x74]
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
test eax, eax
jne 0x1004ed5d
mov dword [ebp - 0x70], 0xf72d
mov ecx, 0xf740
mov word [ebp - 0x6c], cx
lea eax, [ecx + 8]
mov word [ebp - 0x6a], ax
lea edx, [ecx - 0x28]
mov word [ebp - 0x68], cx
lea esi, [edx + 2]
add eax, 0xffffffcf
mov word [ebp - 0x66], ax
lea eax, [ecx - 0x3e]
mov word [ebp - 0x64], ax
mov word [ebp - 0x62], ax
add eax, 0x54
mov word [ebp - 0x60], ax
lea eax, [ecx - 0x22]
mov word [ebp - 0x5e], ax
lea edi, [eax + 0x4e]
mov word [ebp - 0x5c], dx
add ecx, 0xffffffdc
mov word [ebp - 0x5a], cx
lea ecx, [eax + 0x4d]
mov word [ebp - 0x58], di
mov word [ebp - 0x56], cx
add ecx, 0xffffff95
mov word [ebp - 0x54], ax
add eax, 0xfffffff7
mov word [ebp - 0x52], ax
lea eax, [edx + 3]
mov word [ebp - 0x50], si
mov word [ebp - 0x4e], cx
mov word [ebp - 0x4c], ax
inc eax
mov word [ebp - 0x4a], ax
mov word [ebp - 0x48], dx
inc edx
mov word [ebp - 0x46], di
mov word [ebp - 0x44], cx
mov word [ebp - 0x42], dx
mov word [ebp - 0x40], ax
mov word [ebp - 0x3e], ax
lea eax, [edi + 3]
mov word [ebp - 0x3c], dx
mov word [ebp - 0x3a], cx
mov word [ebp - 0x38], ax
add eax, 0xffffffa5
mov word [ebp - 0x36], ax
lea eax, [edi - 1]
mov word [ebp - 0x34], ax
add eax, 0xfffffffe
mov word [ebp - 0x32], ax
lea eax, [edi - 1]
mov word [ebp - 0x30], cx
lea ecx, [edi + 2]
mov word [ebp - 0x2e], ax
add eax, 0xfffffffd
mov word [ebp - 0x2c], ax
lea eax, [edi - 0x54]
mov word [ebp - 0x2a], si
mov word [ebp - 0x28], di
mov word [ebp - 0x26], cx
mov word [ebp - 0x24], ax
add eax, 0x53
mov word [ebp - 0x22], dx
mov word [ebp - 0x20], ax
lea eax, [edi - 0x4f]
mov word [ebp - 0x1e], ax
add eax, 2
mov word [ebp - 0x1c], cx
add ecx, 0xffffffae
mov word [ebp - 0x1a], cx
mov word [ebp - 0x18], ax
lea eax, [edi - 0x1c]
mov word [ebp - 0x16], ax
xor eax, eax
mov word [ebp - 0x14], ax
xor edx, edx
mov ax, word [ebp - 0x6c]
mov ax, word [ebp + edx*2 - 0x6c]
movzx ecx, ax
movzx eax, word [ebp - 0x70]
xor ecx, eax
mov word [ebp + edx*2 - 0x6c], cx
inc edx
cmp edx, 0x2c
jb 0x1004ed23
push dword [ebp + 0x10]
mov ecx, dword [ebp - 0x88]
xor eax, eax
push ebx
push dword [ebp - 0x74]
mov word [ebp - 0x14], ax
lea eax, [ebp - 0x6c]
push eax
call fcn.1004e251
mov esi, dword [ebp - 0x80]
mov edi, eax
mov dword [ebp - 0x74], edi
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x1004edaa
mov ebx, esi
cmp ebx, dword [ebp - 0x7c]
je 0x1004ed88
mov esi, dword [ebp - 0x7c]
push 0x18
pop edi
mov ecx, ebx
call fcn.1001701c
add ebx, edi
cmp ebx, esi
jne 0x1004ed75
mov esi, dword [ebp - 0x80]
mov edi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
sub eax, esi
push 0x18
pop ecx
cdq
idiv ecx
imul eax, eax, 0x18
push eax
push esi
call fcn.10006a60
xor eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], eax
mov eax, edi
call fcn.10175118
ret 0xc