Function at 0x100cfa80
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x58
mov ecx, dword [0x10163304]
xor edx, edx
push esi
push edi
mov dword [ebp - 0xf], 0x487f737d
mov eax, dword [ecx]
mov dword [ebp - 0xb], 0x5741574c
mov word [ebp - 7], 0x56
mov byte [ebp - 5], 1
mov esi, dword [eax + 0x34]
lea eax, [edx + 0x1e]
xor byte [ebp + edx - 0xf], al
inc edx
cmp edx, 9
jb 0x100cfac0
lea eax, [ebp - 0xf]
mov byte [ebp - 5], 0
push eax
call esi
mov edi, dword [0x10163304]
lea ecx, [ebp - 0x12]
mov dword [0x1015dee0], eax
mov eax, dword [edi]
mov dword [ebp - 0x12], 0x527f737d
mov dword [ebp - 0xe], 0x5641474b
mov dword [ebp - 0xa], 0x4d4d4256
mov esi, dword [eax + 0x34]
mov word [ebp - 6], 0x100
call fcn.1000bc50
push eax
mov ecx, edi
call esi
vmovdqa xmm0, xmmword [0x1014ec20]
mov ecx, dword [0x10163304]
mov edx, 8
vmovdqu xmmword [ebp - 0x25], xmm0
vmovq xmm0, xmm0
vpmovsxbd ymm0, xmm0
vpxor ymm0, ymm0, ymmword [0x1014fce0]
vpshufb ymm0, ymm0, ymmword [0x1014fc40]
vpermq ymm0, ymm0, 0xd8
vpshufb ymm0, ymm0, ymmword [0x10150520]
mov dword [0x1015dee4], eax
mov eax, dword [ecx]
vextracti128 xmm0, ymm0, 0
mov byte [ebp - 0x15], 1
vmovq qword [ebp - 0x25], xmm0
mov esi, dword [eax + 0x34]
nop dword [eax]
lea eax, [edx + 0x1e]
xor byte [ebp + edx - 0x25], al
inc edx
cmp edx, 0xf
jb 0x100cfb70
lea eax, [ebp - 0x25]
mov byte [ebp - 0x15], 0
push eax
vzeroupper
call esi
mov ecx, dword [0x10163304]
mov edx, 8
mov dword [ebp - 0x13], 0x547f737d
mov dword [ebp - 0xf], 0x51454752
vpmovsxbd ymm0, qword [ebp - 0x13]
vpxor ymm0, ymm0, ymmword [0x1014fce0]
vpshufb ymm0, ymm0, ymmword [0x1014fc40]
vpermq ymm0, ymm0, 0xd8
vpshufb ymm0, ymm0, ymmword [0x10150520]
mov dword [0x1015dee8], eax
mov eax, dword [ecx]
vextracti128 xmm0, ymm0, 0
mov dword [ebp - 0xb], 0x5d495543
mov word [ebp - 7], 0x4f
mov esi, dword [eax + 0x34]
mov byte [ebp - 5], 1
vmovq qword [ebp - 0x13], xmm0
nop
lea eax, [edx + 0x1e]
xor byte [ebp + edx - 0x13], al
inc edx
cmp edx, 0xd
jb 0x100cfbf0
lea eax, [ebp - 0x13]
mov byte [ebp - 5], 0
push eax
vzeroupper
call esi
mov edi, dword [0x10163304]
lea ecx, [ebp - 0x34]
vmovdqa xmm0, xmmword [0x1014fb20]
mov dword [0x1015deec], eax
vmovdqu xmmword [ebp - 0x34], xmm0
mov eax, dword [edi]
mov dword [ebp - 0x24], 0x7d524c7e
mov dword [ebp - 0x20], 0x4d465141
mov dword [ebp - 0x1c], 0x49765c42
mov esi, dword [eax + 0x34]
mov dword [ebp - 0x18], 0x1005c4a
call fcn.1004c770
push eax
mov ecx, edi
call esi
vmovdqu ymm0, ymmword [0x10150960]
vmovdqu ymm1, ymmword [0x1014fc40]
vmovdqu ymmword [ebp - 0x57], ymm0
vmovdqu ymm2, ymmword [0x10150520]
vmovq xmm0, xmm0
vpmovsxbd ymm0, xmm0
vpxor ymm0, ymm0, ymmword [0x1014fca0]
vpshufb ymm0, ymm0, ymm1
vpermq ymm0, ymm0, 0xd8
vpshufb ymm0, ymm0, ymm2
vextracti128 xmm0, ymm0, 0
vmovq qword [ebp - 0x57], xmm0
vpmovsxbd ymm0, qword [ebp - 0x4f]
vpxor ymm0, ymm0, ymmword [0x1014fcc0]
vpshufb ymm0, ymm0, ymm1
vpermq ymm0, ymm0, 0xd8
vpshufb ymm0, ymm0, ymm2
mov ecx, dword [0x10163304]
lea edx, [ebp - 0x57]
vextracti128 xmm0, ymm0, 0
vmovq qword [ebp - 0x4f], xmm0
vpmovsxbd ymm0, qword [ebp - 0x47]
vpxor ymm0, ymm0, ymmword [0x1014fd00]
vpshufb ymm0, ymm0, ymm1
vpermq ymm0, ymm0, 0xd8
vpshufb ymm0, ymm0, ymm2
vextracti128 xmm0, ymm0, 0
vmovq qword [ebp - 0x47], xmm0
vpmovsxbd ymm0, qword [ebp - 0x3f]
vpxor ymm0, ymm0, ymmword [0x1014fd20]
vpshufb ymm0, ymm0, ymm1
vpermq ymm0, ymm0, 0xd8
mov dword [0x1015def0], eax
mov eax, dword [ecx]
vpshufb ymm0, ymm0, ymm2
vextracti128 xmm0, ymm0, 0
mov word [ebp - 0x37], 0x42
mov eax, dword [eax + 0x34]
vmovq qword [ebp - 0x3f], xmm0
mov byte [ebp - 0x37], 0x6d
mov byte [ebp - 0x35], 0
push edx
vzeroupper
call eax
mov edi, dword [0x10163304]
lea ecx, [ebp - 0x58]
vmovdqu ymm0, ymmword [0x10151a80]
mov dword [0x1015def4], eax
mov eax, dword [edi]
vmovdqu ymmword [ebp - 0x58], ymm0
mov dword [ebp - 0x38], 0x1004443
mov esi, dword [eax + 0x34]
vzeroupper
call fcn.1004c170
push eax
mov ecx, edi
call esi
mov ecx, dword [0x10163304]
mov dword [0x1015def8], eax
mov eax, dword [ecx]
mov esi, dword [eax + 0x34]
mov dword [ebp - 0x10], 0x467f696d
xor edx, edx
mov dword [ebp - 0xc], 0x4c524250
mov dword [ebp - 8], 0x1005e52
lea eax, [edx + 0x1e]
xor byte [ebp + edx - 0x10], al
inc edx
cmp edx, 0xa
jb 0x100cfd96
lea eax, [ebp - 0x10]
mov byte [ebp - 5], 0
push eax
call esi
mov edi, dword [0x10163304]
lea ecx, [ebp - 0x27]
vmovdqa xmm0, xmmword [0x1014f410]
mov dword [0x1015defc], eax
vmovdqu xmmword [ebp - 0x27], xmm0
mov eax, dword [edi]
mov word [ebp - 0x17], 0x5d
mov byte [ebp - 0x15], 1
mov esi, dword [eax + 0x34]
call fcn.1000c0c0
push eax
mov ecx, edi
call esi
mov ecx, dword [0x10163304]
xor edx, edx
mov dword [0x1015df00], eax
mov dword [ebp - 0x11], 0x4c7f696d
mov dword [ebp - 0xd], 0x4b515b43
mov eax, dword [ecx]
mov dword [ebp - 9], 0x4f464a
mov byte [ebp - 5], 1
mov esi, dword [eax + 0x34]
nop dword [eax]
lea eax, [edx + 0x1e]
xor byte [ebp + edx - 0x11], al
inc edx
cmp edx, 0xb
jb 0x100cfe10
lea eax, [ebp - 0x11]
mov byte [ebp - 5], 0
push eax
call esi
mov edi, dword [0x10163304]
lea ecx, [ebp - 0x33]
vmovdqa xmm0, xmmword [0x1014f460]
mov dword [0x1015df04], eax
vmovdqu xmmword [ebp - 0x33], xmm0
mov eax, dword [edi]
mov dword [ebp - 0x23], 0x4755467e
mov dword [ebp - 0x1f], 0x43577b51
mov dword [ebp - 0x1b], 0x5d485854
mov esi, dword [eax + 0x34]
mov word [ebp - 0x17], 0x45
mov byte [ebp - 0x15], 1
call fcn.1004cae0
push eax
mov ecx, edi
call esi
mov edi, dword [0x10163304]
lea ecx, [ebp - 0x30]
vmovdqa xmm0, xmmword [0x1014fa50]
mov dword [0x1015df08], eax
mov eax, dword [edi]
vmovdqu xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x20], 0x7d55437a
mov dword [ebp - 0x1c], 0x44444a46
mov esi, dword [eax + 0x34]
mov dword [ebp - 0x18], 0x1004d4b
call fcn.1003d790
push eax
mov ecx, edi
call esi
mov edi, dword [0x10163304]
lea ecx, [ebp - 0x2e]
vmovdqa xmm0, xmmword [0x1014f2c0]
mov dword [0x1015df0c], eax
mov eax, dword [edi]
vmovdqu xmmword [ebp - 0x2e], xmm0
mov dword [ebp - 0x1e], 0x2c27392d
mov dword [ebp - 0x1a], 0x233d2320
mov esi, dword [eax + 0x34]
mov word [ebp - 0x16], 0x100
call fcn.10010a70
push eax
mov ecx, edi
call esi
mov edi, dword [0x10163304]
lea ecx, [ebp - 0x34]
vmovdqa xmm0, xmmword [0x1014f980]
mov dword [0x1015df10], eax
mov eax, dword [edi]
vmovdqu xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], 0x4d454c70
mov dword [ebp - 0x20], 0x557a4a54
mov esi, dword [eax + 0x34]
mov dword [ebp - 0x1c], 0x44464b42
mov dword [ebp - 0x18], 0x1005f4f
call fcn.1004c770
push eax
mov ecx, edi
call esi
mov ecx, dword [0x10163304]
mov edx, 8
mov dword [ebp - 0x14], 0x487f6f73
mov dword [ebp - 0x10], 0x48414f46
vpmovsxbd ymm0, qword [ebp - 0x14]
vpxor ymm0, ymm0, ymmword [0x1014fce0]
vpshufb ymm0, ymm0, ymmword [0x1014fc40]
vpermq ymm0, ymm0, 0xd8
vpshufb ymm0, ymm0, ymmword [0x10150520]
mov dword [0x1015df14], eax
mov eax, dword [ecx]
vextracti128 xmm0, ymm0, 0
mov dword [ebp - 0xc], 0x405c5f47
mov dword [ebp - 8], 0x1004e47
mov esi, dword [eax + 0x34]
vmovq qword [ebp - 0x14], xmm0
lea eax, [edx + 0x1e]
xor byte [ebp + edx - 0x14], al
inc edx
cmp edx, 0xe
jb 0x100cff95
lea eax, [ebp - 0x14]
mov byte [ebp - 5], 0
push eax
vzeroupper
call esi
mov edi, dword [0x10163304]
lea ecx, [ebp - 0x2e]
vmovdqa xmm0, xmmword [0x1014f010]
mov dword [0x1015df18], eax
vmovdqu xmmword [ebp - 0x2e], xmm0
mov eax, dword [edi]
mov dword [ebp - 0x1e], 0x3b3d3e29
mov dword [ebp - 0x1a], 0x20393239
mov word [ebp - 0x16], 0x100
mov esi, dword [eax + 0x34]
call fcn.10010a70
push eax
mov ecx, edi
call esi
vmovdqu ymm0, ymmword [0x10150c20]
vmovdqu ymm1, ymmword [0x1014fc40]
vmovdqu ymmword [ebp - 0x56], ymm0
vmovdqu ymm2, ymmword [0x10150520]
vmovq xmm0, xmm0
vpmovsxbd ymm0, xmm0
vpxor ymm0, ymm0, ymmword [0x1014fca0]
vpshufb ymm0, ymm0, ymm1
vpermq ymm0, ymm0, 0xd8
vpshufb ymm0, ymm0, ymm2
vextracti128 xmm0, ymm0, 0
vmovq qword [ebp - 0x56], xmm0
vpmovsxbd ymm0, qword [ebp - 0x4e]
vpxor ymm0, ymm0, ymmword [0x1014fcc0]
vpshufb ymm0, ymm0, ymm1
vpermq ymm0, ymm0, 0xd8
vpshufb ymm0, ymm0, ymm2
mov ecx, dword [0x10163304]
lea edx, [ebp - 0x56]
vextracti128 xmm0, ymm0, 0
vmovq qword [ebp - 0x4e], xmm0
vpmovsxbd ymm0, qword [ebp - 0x46]
vpxor ymm0, ymm0, ymmword [0x1014fd00]
vpshufb ymm0, ymm0, ymm1
vpermq ymm0, ymm0, 0xd8
vpshufb ymm0, ymm0, ymm2
vextracti128 xmm0, ymm0, 0
vmovq qword [ebp - 0x46], xmm0
vpmovsxbd ymm0, qword [ebp - 0x3e]
vpxor ymm0, ymm0, ymmword [0x1014fd20]
vpshufb ymm0, ymm0, ymm1
vpermq ymm0, ymm0, 0xd8
mov dword [0x1015df1c], eax
mov eax, dword [ecx]
vpshufb ymm0, ymm0, ymm2
vextracti128 xmm0, ymm0, 0
mov word [ebp - 0x36], 0
mov eax, dword [eax + 0x34]
vmovq qword [ebp - 0x3e], xmm0
push edx
vzeroupper
call eax
mov ecx, dword [0x10163304]
mov dword [0x1015df20], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
mov esi, eax
test esi, esi
je 0x100d016b
nop dword [eax]
mov eax, dword [esi]
mov ecx, esi
and dword [esi + 0x14], 0xffbfbfed
mov eax, dword [eax + 0x18]
call eax
cmp eax, str.name
jne 0x100d011e
mov eax, dword [esi]
mov ecx, esi
push 0
mov dword [esi + 0x44], 0
call dword [eax + 0x3c]
mov dword [esi + 0x44], 0
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x18]
call eax
mov ecx, eax
mov al, byte [ecx]
test al, al
jne 0x100d0136
mov eax, 0x811c9dc5
jmp 0x100d014a
movsx eax, al
inc ecx
xor eax, 0x811c9dc5
imul edx, eax, 0x1000193
call fcn.100cfa60
mov dword [ebp - 4], eax
mov ecx, 0x1015df24
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0xc]
push eax
call fcn.100d0270
mov eax, dword [eax]
mov dword [eax + 0xc], esi
mov esi, dword [esi + 4]
test esi, esi
jne 0x100d00f0
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret