Function at 0x1001d4f2
Capabilities:
Encode data using xor

Disassembly:
push 0x124
mov eax, 0x1019f17d
call fcn.101751dc
mov edi, ecx
mov dword [ebp - 0x9c], edi
call fcn.1001c69c
lea eax, [edi + 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov esi, dword [edi + 0x2e4]
mov dword [ebp - 0x98], 0xcfab
mov eax, 0xcfd3
mov word [ebp - 0x94], ax
add eax, 0xfffffff6
mov word [ebp - 0x92], ax
mov eax, 0xcfca
mov word [ebp - 0x90], ax
lea ecx, [eax + 0xe]
mov word [ebp - 0x8e], cx
add eax, 4
mov word [ebp - 0x8c], ax
lea eax, [ecx - 0x47]
mov word [ebp - 0x8a], ax
mov word [ebp - 0x88], ax
lea ebx, [ecx - 0x4d]
mov word [ebp - 0x86], bx
add eax, 0x3e
mov word [ebp - 0x84], ax
lea eax, [ecx - 0x16]
mov word [ebp - 0x82], ax
mov word [ebp - 0x80], cx
lea edx, [ecx + 3]
mov word [ebp - 0x7e], dx
add eax, 8
mov word [ebp - 0x7c], ax
lea eax, [ecx + 7]
mov word [ebp - 0x7a], ax
add ecx, 0xfffffff0
mov word [ebp - 0x78], cx
add eax, 0xffffffe4
mov word [ebp - 0x76], ax
lea eax, [ebx + 0x43]
mov word [ebp - 0x74], ax
add eax, 0xb
mov word [ebp - 0x72], ax
mov word [ebp - 0x70], bx
mov word [ebp - 0x6e], cx
mov word [ebp - 0x6c], dx
lea eax, [ebx + 0x53]
mov word [ebp - 0x6a], ax
mov word [ebp - 0x68], bx
mov word [ebp - 0x66], ax
add eax, 0xfffffffa
mov word [ebp - 0x64], ax
lea eax, [ebx + 0x3f]
mov word [ebp - 0x62], ax
add eax, 2
mov word [ebp - 0x60], ax
lea eax, [ebx + 0x43]
mov word [ebp - 0x5e], ax
mov word [ebp - 0x5c], bx
add eax, 0xffffffc8
mov word [ebp - 0x5a], ax
lea eax, [ebx + 0xa]
mov word [ebp - 0x58], ax
xor eax, eax
mov word [ebp - 0x56], ax
mov ax, word [ebp - 0x94]
xor edx, edx
mov ax, word [ebp + edx*2 - 0x94]
movzx ecx, ax
movzx eax, word [ebp - 0x98]
xor ecx, eax
mov word [ebp + edx*2 - 0x94], cx
inc edx
cmp edx, 0x1f
jb 0x1001d61a
xor eax, eax
mov word [ebp - 0x56], ax
push esi
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x130]
call fcn.1001e53a
and dword [ebp - 4], 0
mov ecx, dword [edi + 0x2e4]
test ecx, ecx
je 0x1001d747
mov eax, dword [ecx]
push ecx
call dword [eax + 0x34]
test eax, eax
je 0x1001d747
mov ebx, dword [edi + 0x2e4]
mov dword [ebp - 0x54], 0x4862
mov eax, 0x481a
mov word [ebp - 0x50], ax
add eax, 0xffffffe6
mov word [ebp - 0x4e], ax
mov eax, 0x4803
mov word [ebp - 0x4c], ax
lea ecx, [eax + 0xe]
mov word [ebp - 0x4a], cx
add eax, 4
mov word [ebp - 0x48], ax
lea eax, [ecx + 0x47]
mov word [ebp - 0x46], ax
mov word [ebp - 0x44], ax
lea esi, [ecx + 0x31]
mov word [ebp - 0x42], si
mov word [ebp - 0x40], cx
lea edx, [ecx - 0xb]
mov word [ebp - 0x3e], dx
add eax, 0xffffffb3
mov word [ebp - 0x3c], ax
mov word [ebp - 0x3a], cx
lea eax, [ecx + 1]
mov word [ebp - 0x38], ax
mov word [ebp - 0x36], si
add ecx, 0x36
mov word [ebp - 0x34], cx
mov word [ebp - 0x32], dx
mov word [ebp - 0x30], si
add eax, 0x4d
mov word [ebp - 0x2e], ax
lea eax, [esi + 0x1a]
mov word [ebp - 0x2c], ax
mov word [ebp - 0x2a], si
mov word [ebp - 0x28], cx
mov word [ebp - 0x26], dx
xor eax, eax
mov word [ebp - 0x24], ax
mov ax, word [ebp - 0x50]
xor edx, edx
mov ax, word [ebp + edx*2 - 0x50]
movzx ecx, ax
movzx eax, word [ebp - 0x54]
xor ecx, eax
mov word [ebp + edx*2 - 0x50], cx
inc edx
cmp edx, 0x16
jb 0x1001d711
xor eax, eax
mov word [ebp - 0x24], ax
mov esi, dword [ebx]
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
push dword [edi + 8]
lea eax, [ebp - 0x50]
push eax
push ebx
call dword [esi + 0x20]
add esp, 0x10
mov ecx, edi
call fcn.1001c1c2
lea eax, [ebp - 0xa0]
push eax
mov ecx, edi
call fcn.1001c13d
test eax, eax
je 0x1001d803
mov byte [ebp - 4], 1
push dword [ebp - 0xa0]
lea eax, [ebp - 0x130]
push eax
mov ecx, edi
call fcn.1001ca6d
and dword [ebp - 4], 0
jmp 0x1001d7ed
mov eax, dword [edi]
push edi
call dword [eax + 0x2c]
mov eax, dword [edi]
push 0
push edi
call dword [eax + 0x28]
test eax, eax
je 0x1001d74e
mov esi, dword [edi]
push edi
call dword [esi + 0xc]
push eax
push edi
call dword [esi + 0x28]
test eax, eax
je 0x1001d747
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0xc0]
lea ecx, [ebp - 0x130]
call fcn.1001e16b
call fcn.10175129
ret