Function at 0x10018ff0
Capabilities:
Encode data using xor

Disassembly:
push ecx
mov ecx, dword [sym.imp.ucrtbased.dll_malloc]
push ebx
mov dword [esp + 4], 0x100314e8
mov ebx, dword [esp + 4]
push ebp
push esi
mov esi, dword [esp + 0xc]
add esi, 0x14
mov dword [0x100411f0], 0
cmp byte [ebx + 0x13], 0
push edi
mov dword [0x10041140], 1
je 0x10019062
mov eax, dword [ebx + 0xf]
inc eax
push eax
call ecx
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x10019056
sub esi, edi
nop
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [esi + ecx]
mov byte [ecx], al
cmp edx, ebp
jb 0x10019040
mov ecx, dword [sym.imp.ucrtbased.dll_malloc]
mov esi, edi
mov byte [edi + ebp], 0
mov dword [esp + 0x10], 0x10031508
mov ebx, dword [esp + 0x10]
mov dword [0x1004110c], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [0x10041190], 1
cmp byte [ebx + 0x13], 0
je 0x100190be
mov eax, dword [ebx + 0xf]
inc eax
push eax
call ecx
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x100190b8
sub esi, edi
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [esi + ecx]
mov byte [ecx], al
cmp edx, ebp
jb 0x100190a2
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x10031550
mov ebx, dword [esp + 0x10]
mov dword [0x10041110], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [0x1004118c], 0
cmp byte [ebx + 0x13], 0
mov dword [0x100411dc], 0
mov dword [0x100411fc], 0xea60
mov dword [0x100411e4], 0
mov dword [0x100411f8], 0x927c0
je 0x1001914c
mov eax, dword [ebx + 0xf]
inc eax
push eax
call dword [sym.imp.ucrtbased.dll_malloc]
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x10019146
sub esi, edi
nop word [eax + eax]
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [esi + ecx]
mov byte [ecx], al
cmp edx, ebp
jb 0x10019130
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x10031570
mov ebx, dword [esp + 0x10]
mov dword [0x100410f8], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
cmp byte [ebx + 0x13], 0
je 0x100191a2
mov eax, dword [ebx + 0xf]
inc eax
push eax
call dword [sym.imp.ucrtbased.dll_malloc]
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x1001919c
sub esi, edi
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [esi + ecx]
mov byte [ecx], al
cmp edx, ebp
jb 0x10019186
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x1003158c
mov ebx, dword [esp + 0x10]
mov dword [0x100410fc], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
cmp byte [ebx + 0x13], 0
je 0x100191fc
mov eax, dword [ebx + 0xf]
inc eax
push eax
call dword [sym.imp.ucrtbased.dll_malloc]
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x100191f6
sub esi, edi
nop dword [eax]
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [esi + ecx]
mov byte [ecx], al
cmp edx, ebp
jb 0x100191e0
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x10031624
mov ebx, dword [esp + 0x10]
mov dword [0x10041100], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [0x1004119c], 0
cmp byte [ebx + 0x13], 0
mov dword [0x100411ec], 0x2710
mov dword [0x1004113c], 0
mov dword [0x10041234], 0x21f
mov dword [0x100410c0], 0x100315a8
mov dword [0x100410f0], 0x100315c4
mov dword [0x100410e8], 0x100315f4
je 0x1001929c
mov eax, dword [ebx + 0xf]
inc eax
push eax
call dword [sym.imp.ucrtbased.dll_malloc]
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x10019296
sub esi, edi
nop dword [eax]
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [esi + ecx]
mov byte [ecx], al
cmp edx, ebp
jb 0x10019280
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x10031668
mov ebx, dword [esp + 0x10]
mov dword [0x100410f4], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [0x10041188], 0
cmp byte [ebx + 0x13], 0
mov dword [0x10041238], 0x21b
mov dword [0x100410e4], 0x10031640
mov dword [0x10041108], 0x10031650
mov dword [0x100410ec], 0x1003165c
mov dword [0x100411a4], 0
mov dword [0x10041160], 0
mov dword [0x10041248], 0x43faab90
je 0x10019342
mov eax, dword [ebx + 0xf]
inc eax
push eax
call dword [sym.imp.ucrtbased.dll_malloc]
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x1001933c
sub esi, edi
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [esi + ecx]
mov byte [ecx], al
cmp edx, ebp
jb 0x10019326
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x1003168c
mov ebx, dword [esp + 0x10]
mov dword [0x100410c4], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [0x100411ac], 0
cmp byte [ebx + 0x13], 0
mov dword [0x10041168], 0
mov dword [0x1004124c], 0x5b9c9abf
je 0x100193bc
mov eax, dword [ebx + 0xf]
inc eax
push eax
call dword [sym.imp.ucrtbased.dll_malloc]
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x100193b6
sub esi, edi
nop word [eax + eax]
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + esi]
mov byte [ecx], al
cmp edx, ebp
jb 0x100193a0
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x100316a8
mov ebx, dword [esp + 0x10]
mov dword [0x100410dc], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
cmp byte [ebx + 0x13], 0
je 0x10019412
mov eax, dword [ebx + 0xf]
inc eax
push eax
call dword [sym.imp.ucrtbased.dll_malloc]
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x1001940c
sub esi, edi
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + esi]
mov byte [ecx], al
cmp edx, ebp
jb 0x100193f6
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x100316c8
mov ebx, dword [esp + 0x10]
mov dword [0x100410d0], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
cmp byte [ebx + 0x13], 0
je 0x1001946c
mov eax, dword [ebx + 0xf]
inc eax
push eax
call dword [sym.imp.ucrtbased.dll_malloc]
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x10019466
sub esi, edi
nop dword [eax]
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + esi]
mov byte [ecx], al
cmp edx, ebp
jb 0x10019450
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x100316e8
mov ebx, dword [esp + 0x10]
mov dword [0x100410d4], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
cmp byte [ebx + 0x13], 0
je 0x100194c2
mov eax, dword [ebx + 0xf]
inc eax
push eax
call dword [sym.imp.ucrtbased.dll_malloc]
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x100194bc
sub esi, edi
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + esi]
mov byte [ecx], al
cmp edx, ebp
jb 0x100194a6
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x10031708
mov ebx, dword [esp + 0x10]
mov dword [0x100410d8], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [0x100411b0], 0
cmp byte [ebx + 0x13], 0
mov dword [0x10041164], 0
mov dword [0x10041250], 0x70ab5cfb
je 0x1001953c
mov eax, dword [ebx + 0xf]
inc eax
push eax
call dword [sym.imp.ucrtbased.dll_malloc]
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x10019536
sub esi, edi
nop word [eax + eax]
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + esi]
mov byte [ecx], al
cmp edx, ebp
jb 0x10019520
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x10031728
mov ebx, dword [esp + 0x10]
mov dword [0x100410cc], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
cmp byte [ebx + 0x13], 0
je 0x10019592
mov eax, dword [ebx + 0xf]
inc eax
push eax
call dword [sym.imp.ucrtbased.dll_malloc]
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x1001958c
sub esi, edi
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + esi]
mov byte [ecx], al
cmp edx, ebp
jb 0x10019576
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x1003178c
mov ebx, dword [esp + 0x10]
mov dword [0x100410c8], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [0x100411b4], 0
cmp byte [ebx + 0x13], 0
mov dword [0x100411b8], 0
mov dword [0x100411bc], 0
mov dword [0x100411a8], 0
mov dword [0x1004112c], 0
mov dword [0x100411e0], 0
mov dword [0x100411f4], 0x218
mov dword [0x10041180], 1
mov dword [0x10041184], 0
mov dword [0x10041200], 0x223
mov dword [0x100411c0], 1
mov dword [0x10041148], 0
mov dword [0x10041204], 0x218
mov dword [0x100411d8], 1
mov dword [0x10041144], 1
mov dword [0x10041208], 0x21a
mov dword [0x10041198], 1
mov dword [0x10041218], 0x22c
mov dword [0x100411c8], 0
mov dword [0x10041224], 0x20e
mov dword [0x100411d0], 0
mov dword [0x1004122c], 0x222
mov dword [0x100411c4], 0
mov dword [0x10041220], 0x218
mov dword [0x100411cc], 0
mov dword [0x10041228], 0x221
mov dword [0x10041194], 0
mov dword [0x1004121c], 0x1f4
mov dword [0x100411d4], 0
mov dword [0x10041214], 0x22f
mov dword [0x10041174], 1
mov dword [0x1004120c], 0x22c
mov dword [0x1004114c], 1
mov dword [0x10041210], 0x9c4
mov dword [0x10041138], 0
mov dword [0x100411a0], 0
mov dword [0x10041230], 0x2df
mov dword [0x100411e8], 0
mov dword [0x10041134], 0
je 0x1001976e
mov eax, dword [ebx + 0xf]
inc eax
push eax
call dword [sym.imp.ucrtbased.dll_malloc]
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x10019768
sub esi, edi
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + esi]
mov byte [ecx], al
cmp edx, ebp
jb 0x10019752
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x100317b4
mov ebx, dword [esp + 0x10]
mov dword [0x1004111c], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
cmp byte [ebx + 0x13], 0
je 0x100197c4
mov eax, dword [ebx + 0xf]
inc eax
push eax
call dword [sym.imp.ucrtbased.dll_malloc]
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x100197be
sub esi, edi
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + esi]
mov byte [ecx], al
cmp edx, ebp
jb 0x100197a8
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x100317d0
mov ebx, dword [esp + 0x10]
mov dword [0x10041120], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
cmp byte [ebx + 0x13], 0
je 0x1001981c
mov eax, dword [ebx + 0xf]
inc eax
push eax
call dword [sym.imp.ucrtbased.dll_malloc]
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x10019816
sub esi, edi
nop
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + esi]
mov byte [ecx], al
cmp edx, ebp
jb 0x10019800
mov byte [edi + ebp], 0
mov esi, edi
movaps xmm0, xmmword [0x10031ca0]
mov dword [esp + 0x10], 0x100317f4
mov ebx, dword [esp + 0x10]
mov dword [0x10041124], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [0x10041150], 1
cmp byte [ebx + 0x13], 0
mov dword [0x10041170], 1
mov dword [0x1004123c], 0x6f0b61f
mov dword [0x1004115c], 1
mov dword [0x10041244], 0x145393e2
mov dword [0x10041158], 0
mov dword [0x10041240], 0xd77eb164
mov dword [0x1004116c], 0
mov dword [0x10041254], 0xacdd7f2e
mov dword [0x10041154], 0
movups xmmword [0x10041258], xmm0
mov dword [0x10041268], 0x76487ad9
mov dword [0x1004126c], 0xb3b0cf70
mov dword [0x10041270], 0x98fb5fca
mov dword [0x10041178], 0
mov dword [0x1004117c], 0
je 0x10019926
mov eax, dword [ebx + 0xf]
inc eax
push eax
call dword [sym.imp.ucrtbased.dll_malloc]
mov ebp, dword [ebx + 0xf]
add esp, 4
xor edx, edx
mov edi, eax
test ebp, ebp
je 0x10019916
sub esi, edi
nop word [eax + eax]
mov eax, edx
lea ecx, [edx + edi]
and eax, 7
inc edx
mov al, byte [eax + ebx + 7]
xor al, byte [ecx + esi]
mov byte [ecx], al
cmp edx, ebp
jb 0x10019900
mov byte [edi + ebp], 0
mov dword [0x10041104], edi
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
pop edi
mov dword [0x10041104], esi
pop esi
pop ebp
pop ebx
pop ecx
ret