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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 4], ebx
call fcn.10016ed0
mov dl, 0x16
mov dword [ebp - 0x1c], 0x79647116
mov dword [ebp - 0x18], 0x79496663
xor eax, eax
mov dword [ebp - 0x14], 0x797f6266
mov word [ebp - 0x10], 0x78
xor byte [ebp + eax - 0x1b], dl
inc eax
cmp eax, 0xc
jae 0x10015f71
mov dl, byte [ebp - 0x1c]
jmp 0x10015f62
sub esp, 0x18
mov byte [ebp - 0xf], 0
mov edx, esp
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
cmp dword [edx + 0x14], 0x10
mov dword [edx + 0x10], 0
jb 0x10015fa0
mov eax, dword [edx]
jmp 0x10015fa2
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x1b], 0
jne 0x10015faf
xor ecx, ecx
jmp 0x10015fbe
lea ecx, [ebp - 0x1b]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10015fb5
sub ecx, esi
push ecx
lea eax, [ebp - 0x1b]
mov ecx, edx
push eax
call fcn.100044d0
mov ecx, dword [ebx + 0x10]
call fcn.1000d2f0
movaps xmm0, xmmword [0x10048740]
add esp, 0x18
mov edi, eax
mov dword [ebp - 0x10], 0x21363033
movups xmmword [ebp - 0x20], xmm0
mov byte [ebp - 0xc], 0
xor ecx, ecx
nop
mov al, byte [ebp - 0x20]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0x13
jb 0x10015ff0
sub esp, 0x18
mov byte [ebp - 0xc], 0
mov edx, esp
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
cmp dword [edx + 0x14], 0x10
mov dword [edx + 0x10], 0
jb 0x1001602c
mov eax, dword [edx]
jmp 0x1001602e
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x1f], 0
jne 0x1001603b
xor ecx, ecx
jmp 0x1001604a
lea ecx, [ebp - 0x1f]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10016041
sub ecx, esi
push ecx
lea eax, [ebp - 0x1f]
mov ecx, edx
push eax
call fcn.100044d0
mov ecx, edi
call fcn.1000d2f0
movaps xmm0, xmmword [str._ISbNVTQQbOX_]
add esp, 0x18
mov ebx, eax
xor ecx, ecx
movups xmmword [ebp - 0x1c], xmm0
nop
mov al, byte [ebp - 0x1c]
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0xe
jb 0x10016070
sub esp, 0x18
mov byte [ebp - 0xd], 0
mov edx, esp
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
cmp dword [edx + 0x14], 0x10
mov dword [edx + 0x10], 0
jb 0x100160ac
mov eax, dword [edx]
jmp 0x100160ae
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x1b], 0
jne 0x100160bb
xor ecx, ecx
jmp 0x100160ca
lea ecx, [ebp - 0x1b]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100160c1
sub ecx, esi
push ecx
lea eax, [ebp - 0x1b]
mov ecx, edx
push eax
call fcn.100044d0
mov ecx, ebx
call fcn.1000d2f0
mov edi, dword [ebp - 4]
add esp, 0x18
mov dword [edi], eax
test eax, eax
je 0x100160f7
cmp dword [0x100502d0], 1
sete byte [0x1004ffdb]
movaps xmm0, xmmword [0x10048a20]
xor ecx, ecx
movups xmmword [ebp - 0x20], xmm0
mov word [ebp - 0x10], 0x646d
mov byte [ebp - 0xe], 0
nop
mov al, byte [ebp - 0x20]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0x11
jb 0x10016110
sub esp, 0x18
mov byte [ebp - 0xe], 0
mov edx, esp
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
cmp dword [edx + 0x14], 0x10
mov dword [edx + 0x10], 0
jb 0x1001614c
mov eax, dword [edx]
jmp 0x1001614e
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x1f], 0
jne 0x1001615b
xor ecx, ecx
jmp 0x1001616a
lea ecx, [ebp - 0x1f]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10016161
sub ecx, esi
push ecx
lea eax, [ebp - 0x1f]
mov ecx, edx
push eax
call fcn.100044d0
mov ecx, ebx
call fcn.1000d2f0
movaps xmm0, xmmword [0x10048b20]
add esp, 0x18
mov dword [edi + 4], eax
xor ecx, ecx
movups xmmword [ebp - 0x1c], xmm0
mov byte [ebp - 0xc], 0
mov al, byte [ebp - 0x1c]
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0xf
jb 0x10016194
sub esp, 0x18
mov byte [ebp - 0xc], 0
mov edx, esp
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
cmp dword [edx + 0x14], 0x10
mov dword [edx + 0x10], 0
jb 0x100161d0
mov eax, dword [edx]
jmp 0x100161d2
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x1b], 0
jne 0x100161df
xor ecx, ecx
jmp 0x100161ee
lea ecx, [ebp - 0x1b]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100161e5
sub ecx, esi
push ecx
lea eax, [ebp - 0x1b]
mov ecx, edx
push eax
call fcn.100044d0
mov ecx, ebx
call fcn.1000d2f0
movaps xmm0, xmmword [0x10048c60]
add esp, 0x18
mov dword [edi + 8], eax
xor ecx, ecx
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x10], 0x667177
nop dword [eax + eax]
mov al, byte [ebp - 0x20]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0x12
jb 0x10016220
sub esp, 0x18
mov byte [ebp - 0xd], 0
mov edx, esp
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
cmp dword [edx + 0x14], 0x10
mov dword [edx + 0x10], 0
jb 0x1001625c
mov eax, dword [edx]
jmp 0x1001625e
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x1f], 0
jne 0x1001626b
xor ecx, ecx
jmp 0x1001627a
lea ecx, [ebp - 0x1f]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10016271
sub ecx, esi
push ecx
lea eax, [ebp - 0x1f]
mov ecx, edx
push eax
call fcn.100044d0
mov ecx, ebx
call fcn.1000d2f0
movaps xmm0, xmmword [str.8L__Lg_YU_gLQU_]
add esp, 0x18
mov dword [edi + 0xc], eax
xor ecx, ecx
movups xmmword [ebp - 0x1c], xmm0
mov al, byte [ebp - 0x1c]
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0xe
jb 0x100162a0
sub esp, 0x18
mov byte [ebp - 0xd], 0
mov edx, esp
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
cmp dword [edx + 0x14], 0x10
mov dword [edx + 0x10], 0
jb 0x100162dc
mov eax, dword [edx]
jmp 0x100162de
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x1b], 0
jne 0x100162eb
xor ecx, ecx
jmp 0x100162fa
lea ecx, [ebp - 0x1b]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100162f1
sub ecx, esi
push ecx
lea eax, [ebp - 0x1b]
mov ecx, edx
push eax
call fcn.100044d0
mov ecx, ebx
call fcn.1000d2f0
movaps xmm0, xmmword [0x10048810]
add esp, 0x18
mov dword [edi + 0x1c], eax
xor ecx, ecx
movups xmmword [ebp - 0x20], xmm0
mov word [ebp - 0x10], 0x4a
mov al, byte [ebp - 0x20]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0x10
jb 0x10016326
sub esp, 0x18
mov byte [ebp - 0xf], 0
mov edx, esp
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
cmp dword [edx + 0x14], 0x10
mov dword [edx + 0x10], 0
jb 0x10016362
mov eax, dword [edx]
jmp 0x10016364
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x1f], 0
jne 0x10016371
xor ecx, ecx
jmp 0x10016380
lea ecx, [ebp - 0x1f]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10016377
sub ecx, esi
push ecx
lea eax, [ebp - 0x1f]
mov ecx, edx
push eax
call fcn.100044d0
mov ecx, ebx
call fcn.1000d2f0
mov esi, eax
add esp, 0x18
mov dword [edi + 0x14], esi
mov edi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test esi, esi
je 0x100163b9
push 4
push esi
call edi
test eax, eax
jne 0x100163b9
push 0x17
push eax
mov ecx, esi
call dword [0x10048014]
mov cl, 0x63
mov dword [ebp - 0x18], 0x1b061763
mov dword [ebp - 0x14], 0x2003c17
xor eax, eax
mov dword [ebp - 0x10], 0x211060e
mov byte [ebp - 0xc], 0
xor byte [ebp + eax - 0x17], cl
inc eax
cmp eax, 0xb
jae 0x100163e5
mov cl, byte [ebp - 0x18]
jmp 0x100163d6
sub esp, 0x18
mov byte [ebp - 0xc], 0
mov edx, esp
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov dword [edx + 0x14], 0xf
cmp dword [edx + 0x14], 0x10
mov dword [edx + 0x10], 0
jb 0x10016414
mov eax, dword [edx]
jmp 0x10016416
mov eax, edx
mov byte [eax], 0
cmp byte [ebp - 0x17], 0
jne 0x10016423
xor ecx, ecx
jmp 0x10016439
lea ecx, [ebp - 0x17]
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10016430
sub ecx, esi
push ecx
lea eax, [ebp - 0x17]
mov ecx, edx
push eax
call fcn.100044d0
mov ecx, ebx
call fcn.1000d2f0
mov ecx, dword [ebp - 4]
add esp, 0x18
mov dword [ebp - 0x1c], 0x2c3d2d5e
mov dword [ebp - 0x18], 0x1323231
mov dword [ebp - 0x14], 0x3b333f3d
mov dword [ecx + 0x20], eax
mov cl, 0x5e
mov word [ebp - 0x10], 0x3f2c
xor eax, eax
mov byte [ebp - 0xe], 0
xor byte [ebp + eax - 0x1b], cl
inc eax
cmp eax, 0xd
jae 0x10016487
mov cl, byte [ebp - 0x1c]
jmp 0x10016478
sub esp, 0x18
mov byte [ebp - 0xe], 0
mov edx, esp
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
mov byte [edx], 0
cmp byte [ebp - 0x1b], 0
jne 0x100164ab
xor ecx, ecx
jmp 0x100164ba
lea ecx, [ebp - 0x1b]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100164b1
sub ecx, esi
push ecx
lea eax, [ebp - 0x1b]
mov ecx, edx
push eax
call fcn.100044d0
mov ecx, ebx
call fcn.1000d2f0
mov esi, eax
add esp, 0x18
mov eax, dword [ebp - 4]
mov dword [eax + 0x18], esi
test esi, esi
je 0x100164f0
push 4
push esi
call edi
test eax, eax
jne 0x100164f0
push 0x14
push eax
mov ecx, esi
call dword [0x10048014]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret