Function at 0x1001ff93
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10050741
call fcn.1004fab8
sub esp, 0x9c
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x10], esp
mov esi, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x34], edi
call fcn.1001c74b
push ecx
push eax
lea ecx, [ebp - 0x40]
call fcn.1002092e
mov dword [ebp - 4], edi
mov dword [ebp - 0x20], 4
push 2
mov dword [ebp - 0x1c], 0xfffffffb
pop ecx
mov dword [ebp - 0x18], 0xfffffffa
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x24], ecx
jmp 0x1001fff3
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x2c], 3
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1001ffe5
xor ebx, ebx
mov dword [ebp - 0x14], edi
inc ebx
jmp 0x1002000e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x50], 0x275dd361
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10020000
mov dword [ebp - 0x14], edi
jmp 0x10020026
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x30], 0xede5c489
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jl 0x10020018
mov dword [ebp - 0x28], 0x15
jmp 0x100200f9
mov dword [ebp - 0x14], 0xfffc
xor edx, edx
mov dword [ebp - 0x1c], 0x963f6d1d
mov dword [ebp - 0x1c], 0xc8c74c3e
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp ecx, eax
mov ecx, dword [ebp - 0x14]
setne dl
add ecx, edx
xor edx, edx
imul ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setge dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, 0x18ebdb8
jle 0x10020083
cmp dword [ebp - 0x20], edi
jne 0x1002008f
cmp dword [ebp - 0x28], edi
jne 0x1002008f
mov ecx, edi
cmp dword [ebp - 0x14], edi
je 0x10020091
mov ecx, ebx
mov eax, dword [ebp - 0x20]
sub ecx, eax
mov dword [ebp - 0x1c], ecx
jne 0x1002009e
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jne 0x100200b6
mov eax, edi
cmp dword [ebp - 0x18], edi
je 0x100200b8
mov eax, ebx
mov ecx, 0xfff8
cmp ecx, eax
mov ecx, 0xa0b8
sbb eax, eax
neg eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
sub eax, 0xfffffff7
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
sub ecx, eax
mov dword [ebp - 0x1c], ecx
dec dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xffffffe4
jl 0x10020037
mov edx, dword [ebp - 0x40]
add esi, 0xffffeb55
mov ecx, edx
mov eax, dword [edx + 4]
cmp byte [eax + 0xd], 0
jne 0x1002013c
cmp dword [eax + 0x10], esi
jge 0x10020121
mov eax, dword [eax + 8]
jmp 0x10020125
mov ecx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x10020117
cmp ecx, edx
je 0x1002013c
cmp esi, dword [ecx + 0x10]
jl 0x1002013c
mov dword [ebp - 0x48], ecx
lea esi, [ebp - 0x48]
jmp 0x10020142
mov dword [ebp - 0x38], edx
lea esi, [ebp - 0x38]
mov esi, dword [esi]
mov eax, dword [0x10069fc8]
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x4c], esi
test al, 1
jne 0x1002017d
or eax, ebx
mov dword [0x10069fe0], 7
mov dword [0x10069fc8], eax
xor eax, eax
push 0x10050fd7
mov dword [0x10069fdc], edi
mov word [0x10069fcc], ax
call fcn.100379b9
pop ecx
mov dword [ebp - 0x14], 0xde19d29b
mov dword [ebp - 0x18], 0xfffffffd
mov dword [ebp - 0x18], 0xc9ed9ba0
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], 0x4055
cmp dword [ebp - 0x18], 0x4239
jle 0x100201da
mov esi, edi
mov dword [ebp - 0x1c], edi
mov eax, edi
mov ecx, 0x10067998
xor eax, esi
cdq
push edx
push eax
call fcn.100032d3
inc edi
cmp edi, 0x211b
jl 0x100201b1
inc esi
push 0
pop edi
cmp esi, 0x1416
jl 0x100201ae
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x5c], ebx
mov byte [ebp - 4], bl
cmp dword [ebp - 0x18], 0x3edd
jge 0x10020201
mov edx, str.jjwe_qwdo_kzqa
mov ecx, 0x10067998
call fcn.100056ca
push 2
mov dword [ebp - 4], edi
pop ecx
mov dword [ebp - 0x18], 0xf9034e10
mov dword [ebp - 0x14], edi
jmp 0x1002024e
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x58], 0x6482
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x10020240
mov dword [ebp - 0x14], edi
jmp 0x10020265
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x8c], ebx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x10020258
mov dword [ebp - 0x14], edi
jmp 0x10020281
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + eax*4 - 0x58]
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x58], ecx
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x10020270
inc dword [ebp - 0x18]
cmp esi, dword [ebp - 0x40]
je 0x100202b0
push dword [esi + 0x18]
mov edx, dword [esi + 0x14]
lea ecx, [ebp - 0xa4]
call fcn.10019b80
pop ecx
mov ecx, eax
mov eax, ebx
mov byte [ebp - 4], 3
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x34], eax
jmp 0x100202cd
push 0x10069fcc
lea ecx, [ebp - 0x80]
call fcn.100033e8
mov ecx, eax
mov dword [ebp - 4], 4
mov dword [ebp - 0x34], 2
mov esi, dword [ebp - 0x44]
push ecx
mov ecx, esi
call fcn.100033e8
mov eax, dword [ebp - 0x24]
or eax, 4
test al, 2
je 0x100202f5
push edi
and eax, 0xfffffffd
lea ecx, [ebp - 0x80]
push ebx
mov dword [ebp - 0x24], eax
call fcn.100039bf
mov eax, dword [ebp - 0x24]
test al, 1
je 0x10020306
push edi
push ebx
lea ecx, [ebp - 0xa4]
call fcn.100039bf
lea ecx, [ebp - 0x40]
call fcn.100206e7
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret