Function at 0x1002ddbb
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10064e96
call fcn.10063758
sub esp, 0xfc
push ebx
push esi
mov dword [ebp - 0x58], 0x5c4e
mov eax, ecx
push edi
xor ebx, ebx
mov dword [ebp - 0x10], esp
cmp dword [ebp - 0x58], 0x5eb9
mov dword [ebp - 0x74], eax
jle 0x1002de5b
push 0x920
push ebx
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov esi, ebx
mov dword [ebp - 0x14], ebx
mov edi, ebx
mov dword [ebp - 0x18], esi
mov ecx, edi
mov eax, ebx
sar esi, cl
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x38], esi
and esi, eax
mov dword [ebp - 0x48], ebx
mov eax, esi
mov ecx, 0x10080d98
xor eax, ebx
cdq
push edx
push eax
call fcn.10001b47
inc ebx
cmp ebx, 0x2ffb
jl 0x1002de12
mov eax, dword [ebp - 0x20]
mov esi, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x20], eax
push 0
pop ebx
cmp eax, 0x6070
jl 0x1002de0a
mov esi, dword [ebp - 0x14]
inc edi
cmp edi, 0x5130
jl 0x1002ddfb
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x5b16
jl 0x1002ddf9
mov eax, dword [ebp - 0x74]
cmp byte [ebp + 0x10], 0
je 0x1002e335
mov esi, dword [ebp + 0xc]
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x1002e32a
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], ebx
push eax
push 0x1000
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
call fcn.10019494
mov dword [ebp - 4], ebx
mov edi, 0x112d
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x54]
push dword [ebp - 0x54]
sar eax, 1
push eax
push edi
push 0x1496
call fcn.10044279
pop ecx
pop ecx
call eax
push dword [ebp - 0x54]
lea ecx, [ebp - 0x8c]
call fcn.10007cb1
push 0xe86
mov byte [ebp - 4], 1
call fcn.100186fb
movzx eax, ax
mov dl, 1
mov dword [esp], 0x54f2
mov ecx, 0x13f6
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x8c]
push eax
push 0x4e2
push 1
push 0x3944
push 1
lea eax, [ebp - 0x14]
push 0x1039
push eax
call fcn.1002d7a8
push 1
lea eax, [ebp - 0x8c]
mov edx, 0x5467
push eax
push 1
mov cl, 1
call fcn.1002da39
add esp, 0x2c
lea eax, [ebp - 0x8c]
cmp dword [ebp - 0x78], 8
cmovae eax, dword [ebp - 0x8c]
push ebx
push eax
push edi
push 0x1250
call fcn.10044279
pop ecx
pop ecx
call eax
push 1
push 0x355c
push ecx
lea eax, [ebp - 0x8c]
push eax
lea edx, [ebp - 0x14]
call fcn.1002dbc3
add esp, 0x10
mov dword [ebp - 0x38], ebx
lea eax, [ebp - 0x38]
push 0x1f6f
push eax
push ecx
push esi
push ecx
push 1
push 0x790b
call fcn.1002dcaf
add esp, 0x1c
mov byte [ebp - 0x19], bl
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x44], 0x1d03c102
mov byte [ebp - 0x40], bl
mov dword [ebp - 0x3f], 0xf5a0034b
mov word [ebp - 0x3b], 0x1b8
mov byte [ebp - 0x39], 0x4b
lea eax, [ebp - 0x8c]
push eax
lea ecx, [ebp - 0xa4]
call fcn.10001c5c
push 0x10
pop edx
lea ecx, [ebp - 0x108]
mov byte [ebp - 4], 2
call fcn.1002706f
push ecx
push ecx
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0xa4]
call fcn.1002ef1f
push 0x78
pop eax
push 2
mov ecx, ebx
mov word [ebp - 0x6c], ax
pop esi
mov dword [ebp - 0x18], ecx
cmp esi, 6
jne 0x1002dff6
push 4
pop ecx
push 8
mov dword [ebp - 0x18], ecx
pop esi
jmp 0x1002e034
movzx edx, byte [ebp + esi - 0x43]
mov eax, esi
sub eax, ecx
push 1
push 0x4ee
push 1
movzx eax, byte [ebp + eax - 0x46]
movzx eax, word [ebp + eax*2 - 0x70]
mov ecx, eax
and eax, edx
or ecx, edx
lea edx, [ebp - 0x18]
sub ecx, eax
movzx eax, byte [ebp + esi - 0x44]
mov word [ebp + eax*2 - 0x70], cx
xor cl, cl
call fcn.1002da39
mov ecx, dword [ebp - 0x18]
add esp, 0xc
add esi, 2
cmp esi, 0xc
jb 0x1002dfe6
xor eax, eax
mov dword [ebp - 0xc0], 7
mov word [ebp - 0x68], ax
lea ecx, [ebp - 0xd4]
mov word [ebp - 0xd4], ax
lea eax, [ebp - 0x70]
push eax
mov dword [ebp - 0xc4], ebx
call fcn.10007ef5
push ecx
push ecx
lea eax, [ebp - 0xd4]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0xa4]
call fcn.1002ef1f
push ebx
push 1
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 3
call fcn.100021ce
xor eax, eax
lea edi, [ebp - 0x70]
cmp dword [ebp - 0x90], 8
stosd dword es:[edi], eax
push ebx
push 0x80
push 2
stosd dword es:[edi], eax
push ebx
push ebx
push 0x40000000
stosw word es:[edi], ax
lea eax, [ebp - 0xa4]
cmovae eax, dword [ebp - 0xa4]
mov edi, 0x112d
push eax
push edi
push 0x18c1
call fcn.10044279
pop ecx
pop ecx
call eax
mov esi, eax
cmp esi, 0xffffffff
je 0x1002e115
push ebx
lea eax, [ebp - 0xf0]
push eax
push dword [ebp - 0x38]
mov eax, dword [ebp + 0xc]
push dword [eax]
push esi
push edi
push 0x118e
call fcn.10044279
pop ecx
pop ecx
call eax
push esi
test eax, eax
push edi
push 0x179e
setne bl
call fcn.10044279
pop ecx
pop ecx
call eax
test bl, bl
jne 0x1002e156
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x108]
call fcn.100021ce
push ebx
push 1
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 1
call fcn.100021ce
mov edi, dword [ebp - 0x14]
inc edi
mov dword [ebp - 0x14], edi
cmp edi, 0x12c
jb 0x1002df9b
mov eax, dword [ebp + 0x14]
mov dword [eax], 2
jmp 0x1002e303
push 0x22
pop eax
push 2
pop esi
xor ebx, ebx
mov dword [ebp - 0x2c], 0xec040400
mov ecx, ebx
mov word [ebp - 0x28], 0x703b
push 7
mov byte [ebp - 0x26], 0x1b
mov word [ebp - 0x24], ax
mov dword [ebp - 0x20], ecx
pop edi
cmp esi, 2
jne 0x1002e18a
push 5
pop ecx
push ecx
mov dword [ebp - 0x20], ecx
pop esi
jmp 0x1002e1c7
movzx edx, byte [ebp + esi - 0x2b]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x2e]
movzx eax, word [ebp + eax*2 - 0x24]
mov ecx, eax
and eax, edx
or ecx, edx
mov dl, 1
sub ecx, eax
movzx eax, byte [ebp + esi - 0x2c]
mov word [ebp + eax*2 - 0x24], cx
lea eax, [ebp - 0x20]
push eax
push ecx
push 0x62b1
push ecx
call fcn.1002d86c
mov ecx, dword [ebp - 0x20]
add esp, 0x10
add esi, 2
cmp esi, edi
jb 0x1002e17b
xor eax, eax
mov dword [ebp - 0xa8], edi
mov word [ebp - 0x22], ax
lea ecx, [ebp - 0xbc]
mov word [ebp - 0xbc], ax
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0xac], ebx
call fcn.10007ef5
push ecx
push ecx
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0x24], ebx
call fcn.1002ef1f
push 0x2f
pop eax
push 2
mov dword [ebp - 0x34], 0xd00da02
mov dword [ebp - 0x30], 0x73017103
mov word [ebp - 0x60], ax
pop esi
movzx eax, byte [ebp + esi - 0x36]
movzx ecx, byte [ebp + esi - 0x33]
movzx eax, word [ebp + eax*2 - 0x64]
mov edx, eax
and eax, ecx
or edx, ecx
sub edx, eax
movzx eax, byte [ebp + esi - 0x34]
add esi, 2
mov word [ebp + eax*2 - 0x64], dx
cmp esi, 8
jb 0x1002e229
xor eax, eax
mov dword [ebp - 0xd8], edi
mov word [ebp - 0x5c], ax
lea ecx, [ebp - 0xec]
mov word [ebp - 0xec], ax
lea eax, [ebp - 0x64]
push eax
mov dword [ebp - 0xdc], ebx
call fcn.10007ef5
push ecx
push ecx
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0xbc]
call fcn.1002ef1f
push ebx
push 1
lea ecx, [ebp - 0xec]
mov byte [ebp - 4], 5
call fcn.100021ce
xor eax, eax
lea edi, [ebp - 0x64]
stosd dword es:[edi], eax
push ecx
push ecx
push 1
stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x19]
push eax
push ecx
mov ecx, 0x1e7a
call fcn.1002d8a6
add esp, 0x14
lea edx, [ebp - 0x8c]
lea ecx, [ebp - 0xbc]
call fcn.1002cf35
mov ecx, dword [ebp + 0x14]
push ebx
push 1
mov dword [ecx], eax
lea ecx, [ebp - 0xbc]
call fcn.100021ce
push ebx
push 1
lea ecx, [ebp - 0x108]
call fcn.100021ce
push ebx
push 1
lea ecx, [ebp - 0xa4]
call fcn.100021ce
push ebx
push 1
lea ecx, [ebp - 0x8c]
call fcn.100021ce
lea ecx, [ebp - 0x54]
call fcn.100080a0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov dword [eax], 1
jmp 0x1002e319
cmp byte [eax], 0
je 0x1002e340
call dword [sym.imp.KERNEL32.dll_GetOEMCP]
mov dword [ebp - 4], 7
cmp dword [ebp - 0x58], 0x58ea
jge 0x1002e319
mov edx, str.ilxkbib_viyczpdb_vahz_lyr_jsvx_clukmr_rqs_uaorxy_ickkvz_itki_ucfeameo
mov ecx, 0x10080d98
call fcn.10003a21
jmp 0x1002e319