Function at 0x10022df0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
movaps xmm0, xmmword [0x100aeee0]
xor edx, edx
push esi
push edi
mov edi, ecx
movups xmmword [ebp - 0x18], xmm0
mov al, byte [ebp - 0x18]
xor byte [ebp + edx - 0x17], al
inc edx
cmp edx, 0xe
jb 0x10022e07
sub esp, 0x18
mov byte [ebp - 9], 0
mov edx, esp
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10022e35
mov eax, dword [edx]
jmp 0x10022e37
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x17], 0
jne 0x10022e44
xor ecx, ecx
jmp 0x10022e59
lea ecx, [ebp - 0x17]
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10022e50
sub ecx, esi
push ecx
lea eax, [ebp - 0x17]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi]
call fcn.10014550
add esp, 0x18
mov dword [edi + 4], eax
mov cl, 0x3f
mov dword [ebp - 0x14], 0x514b7d3f
mov dword [ebp - 0x10], 0x4d4b6c60
xor eax, eax
mov dword [ebp - 0xc], 0x4b58515a
mov word [ebp - 8], 0x57
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xc
jae 0x10022ea0
mov cl, byte [ebp - 0x14]
jmp 0x10022e91
sub esp, 0x18
mov byte [ebp - 7], 0
mov edx, esp
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10022ec1
mov eax, dword [edx]
jmp 0x10022ec3
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x13], 0
jne 0x10022ed0
xor ecx, ecx
jmp 0x10022edf
lea ecx, [ebp - 0x13]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10022ed6
sub ecx, esi
push ecx
lea eax, [ebp - 0x13]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi]
call fcn.10014550
add esp, 0x18
mov dword [edi + 8], eax
mov cl, 0x3c
mov dword [ebp - 0x14], 0x52487e3c
mov dword [ebp - 0x10], 0x5d486f63
xor eax, eax
mov dword [ebp - 0xc], 0x5d525551
mov byte [ebp - 8], 0
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xb
jae 0x10022f24
mov cl, byte [ebp - 0x14]
jmp 0x10022f15
sub esp, 0x18
mov byte [ebp - 8], 0
mov edx, esp
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10022f45
mov eax, dword [edx]
jmp 0x10022f47
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x13], 0
jne 0x10022f54
xor ecx, ecx
jmp 0x10022f69
lea ecx, [ebp - 0x13]
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10022f60
sub ecx, esi
push ecx
lea eax, [ebp - 0x13]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi]
call fcn.10014550
add esp, 0x18
mov dword [edi + 0xc], eax
mov cl, 0x60
mov dword [ebp - 0x18], 0xe142260
mov dword [ebp - 0x14], 0x1805243f
xor eax, eax
mov dword [ebp - 0x10], 0x9120514
mov word [ebp - 0xc], 0x1914
mov byte [ebp - 0xa], 0
xor byte [ebp + eax - 0x17], cl
inc eax
cmp eax, 0xd
jae 0x10022fb4
mov cl, byte [ebp - 0x18]
jmp 0x10022fa5
sub esp, 0x18
mov byte [ebp - 0xa], 0
mov edx, esp
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10022fd5
mov eax, dword [edx]
jmp 0x10022fd7
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x17], 0
jne 0x10022fe4
xor ecx, ecx
jmp 0x10022ff9
lea ecx, [ebp - 0x17]
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10022ff0
sub ecx, esi
push ecx
lea eax, [ebp - 0x17]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi]
call fcn.10014550
movaps xmm0, xmmword [0x100af240]
add esp, 0x18
mov dword [edi + 0x10], eax
xor ecx, ecx
movups xmmword [ebp - 0x18], xmm0
mov byte [ebp - 8], 0
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0xf
jb 0x10023023
sub esp, 0x18
mov byte [ebp - 8], 0
mov edx, esp
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
cmp dword [edx + 0x14], 0x10
jb 0x10023051
mov eax, dword [edx]
jmp 0x10023053
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x17], 0
jne 0x10023060
xor ecx, ecx
jmp 0x1002306f
lea ecx, [ebp - 0x17]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10023066
sub ecx, esi
push ecx
lea eax, [ebp - 0x17]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi]
call fcn.10014550
movaps xmm0, xmmword [0x100afd40]
add esp, 0x18
mov dword [edi + 0x14], eax
xor ecx, ecx
movups xmmword [ebp - 0x18], xmm0
mov word [ebp - 8], 0x70
nop dword [eax + eax]
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0x10
jb 0x100230a0
sub esp, 0x18
mov byte [ebp - 7], 0
mov edx, esp
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
mov byte [edx], 0
cmp byte [ebp - 0x17], 0
jne 0x100230d1
xor ecx, ecx
jmp 0x100230e0
lea ecx, [ebp - 0x17]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100230d7
sub ecx, esi
push ecx
lea eax, [ebp - 0x17]
mov ecx, edx
push eax
call fcn.10004a40
mov ecx, dword [edi]
call fcn.10014550
add esp, 0x18
mov dword [edi + 0x18], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret