Function at 0x10019cc0
Capabilities:
Encode data using xor

Disassembly:
push ecx
mov ecx, dword [sym.imp.ucrtbased.dll_malloc]
push ebx
mov dword [esp + 4], 0x10031800
mov ebx, dword [esp + 4]
push ebp
push esi
mov esi, dword [esp + 0xc]
add esi, 0x14
mov dword [0x100410d0], 0
cmp byte [ebx + 0x13], 0
push edi
mov dword [0x10041020], 1
je 0x10019d32
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 0x10019d26
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 0x10019d10
mov ecx, dword [sym.imp.ucrtbased.dll_malloc]
mov esi, edi
mov byte [edi + ebp], 0
mov dword [esp + 0x10], 0x10031820
mov ebx, dword [esp + 0x10]
mov dword [0x10040fec], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [0x10041070], 1
cmp byte [ebx + 0x13], 0
je 0x10019d8e
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 0x10019d88
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 0x10019d72
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x10031868
mov ebx, dword [esp + 0x10]
mov dword [0x10040ff0], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [0x1004106c], 0
cmp byte [ebx + 0x13], 0
mov dword [0x100410bc], 0
mov dword [0x100410dc], 0xea60
mov dword [0x100410c4], 0
mov dword [0x100410d8], 0x927c0
je 0x10019e1c
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 0x10019e16
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 0x10019e00
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x10031888
mov ebx, dword [esp + 0x10]
mov dword [0x10040fd8], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
cmp byte [ebx + 0x13], 0
je 0x10019e72
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 0x10019e6c
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 0x10019e56
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x100318a4
mov ebx, dword [esp + 0x10]
mov dword [0x10040fdc], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
cmp byte [ebx + 0x13], 0
je 0x10019ecc
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 0x10019ec6
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 0x10019eb0
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x1003193c
mov ebx, dword [esp + 0x10]
mov dword [0x10040fe0], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [0x1004107c], 0
cmp byte [ebx + 0x13], 0
mov dword [0x100410cc], 0x2710
mov dword [0x1004101c], 0
mov dword [0x10041114], 0x21f
mov dword [0x10040fa0], 0x100318c0
mov dword [0x10040fd0], 0x100318dc
mov dword [0x10040fc8], 0x1003190c
je 0x10019f6c
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 0x10019f66
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 0x10019f50
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x10031984
mov ebx, dword [esp + 0x10]
mov dword [0x10040fd4], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [0x10041068], 0
cmp byte [ebx + 0x13], 0
mov dword [0x10041118], 0x21b
mov dword [0x10040fc4], 0x1003195c
mov dword [0x10040fe8], 0x1003196c
mov dword [0x10040fcc], 0x10031978
mov dword [0x10041084], 0
mov dword [0x10041040], 0
mov dword [0x10041128], 0x43faab90
je 0x1001a012
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 0x1001a00c
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 0x10019ff6
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x100319a8
mov ebx, dword [esp + 0x10]
mov dword [0x10040fa4], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [0x1004108c], 0
cmp byte [ebx + 0x13], 0
mov dword [0x10041048], 0
mov dword [0x1004112c], 0x5b9c9abf
je 0x1001a08c
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 0x1001a086
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 0x1001a070
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x100319c4
mov ebx, dword [esp + 0x10]
mov dword [0x10040fbc], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
cmp byte [ebx + 0x13], 0
je 0x1001a0e2
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 0x1001a0dc
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 0x1001a0c6
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x100319e4
mov ebx, dword [esp + 0x10]
mov dword [0x10040fb0], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
cmp byte [ebx + 0x13], 0
je 0x1001a13c
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 0x1001a136
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 0x1001a120
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x10031a04
mov ebx, dword [esp + 0x10]
mov dword [0x10040fb4], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
cmp byte [ebx + 0x13], 0
je 0x1001a192
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 0x1001a18c
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 0x1001a176
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x10031a24
mov ebx, dword [esp + 0x10]
mov dword [0x10040fb8], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [0x10041090], 0
cmp byte [ebx + 0x13], 0
mov dword [0x10041044], 0
mov dword [0x10041130], 0x70ab5cfb
je 0x1001a20c
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 0x1001a206
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 0x1001a1f0
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x10031a60
mov ebx, dword [esp + 0x10]
mov dword [0x10040fac], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
cmp byte [ebx + 0x13], 0
je 0x1001a262
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 0x1001a25c
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 0x1001a246
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x10031ac4
mov ebx, dword [esp + 0x10]
mov dword [0x10040fa8], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [0x10041094], 0
cmp byte [ebx + 0x13], 0
mov dword [0x10041098], 0
mov dword [0x1004109c], 0
mov dword [0x10041088], 0
mov dword [0x1004100c], 0
mov dword [0x100410c0], 0
mov dword [0x100410d4], 0x218
mov dword [0x10041060], 1
mov dword [0x10041064], 0
mov dword [0x100410e0], 0x223
mov dword [0x100410a0], 1
mov dword [0x10041028], 0
mov dword [0x100410e4], 0x218
mov dword [0x100410b8], 1
mov dword [0x10041024], 1
mov dword [0x100410e8], 0x21a
mov dword [0x10041078], 1
mov dword [0x100410f8], 0x22c
mov dword [0x100410a8], 0
mov dword [0x10041104], 0x20e
mov dword [0x100410b0], 0
mov dword [0x1004110c], 0x222
mov dword [0x100410a4], 0
mov dword [0x10041100], 0x218
mov dword [0x100410ac], 0
mov dword [0x10041108], 0x221
mov dword [0x10041074], 0
mov dword [0x100410fc], 0x1f4
mov dword [0x100410b4], 0
mov dword [0x100410f4], 0x22f
mov dword [0x10041054], 1
mov dword [0x100410ec], 0x22c
mov dword [0x1004102c], 1
mov dword [0x100410f0], 0x9c4
mov dword [0x10041018], 0
mov dword [0x10041080], 0
mov dword [0x10041110], 0x2df
mov dword [0x100410c8], 0
mov dword [0x10041014], 0
je 0x1001a43e
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 0x1001a438
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 0x1001a422
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x10031a44
mov ebx, dword [esp + 0x10]
mov dword [0x10040ffc], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
cmp byte [ebx + 0x13], 0
je 0x1001a494
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 0x1001a48e
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 0x1001a478
mov byte [edi + ebp], 0
mov esi, edi
mov dword [esp + 0x10], 0x10031aec
mov ebx, dword [esp + 0x10]
mov dword [0x10041000], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
cmp byte [ebx + 0x13], 0
je 0x1001a4ec
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 0x1001a4e6
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 0x1001a4d0
mov byte [edi + ebp], 0
mov esi, edi
movaps xmm0, xmmword [0x10031fb0]
mov dword [esp + 0x10], 0x10031b10
mov ebx, dword [esp + 0x10]
mov dword [0x10041004], esi
mov esi, dword [esp + 0x10]
add esi, 0x14
mov dword [0x10041030], 1
cmp byte [ebx + 0x13], 0
mov dword [0x10041050], 1
mov dword [0x1004111c], 0x28131ef0
mov dword [0x1004103c], 1
mov dword [0x10041124], 0x145393e2
mov dword [0x10041038], 0
mov dword [0x10041120], 0xd77eb164
mov dword [0x1004104c], 0
mov dword [0x10041134], 0xacdd7f2e
mov dword [0x10041034], 0
movups xmmword [0x10041138], xmm0
mov dword [0x10041148], 0x76487ad9
mov dword [0x1004114c], 0xb3b0cf70
mov dword [0x10041150], 0x98fb5fca
mov dword [0x10041058], 0
mov dword [0x1004105c], 0
je 0x1001a5f6
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 0x1001a5e6
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 0x1001a5d0
mov byte [edi + ebp], 0
mov dword [0x10040fe4], edi
pop edi
pop esi
pop ebp
pop ebx
pop ecx
ret
pop edi
mov dword [0x10040fe4], esi
pop esi
pop ebp
pop ebx
pop ecx
ret