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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
movaps xmm0, xmmword [0x100c7f90]
xor edx, edx
push esi
mov esi, ecx
movups xmmword [esp + 4], xmm0
nop word [eax + eax]
mov al, byte [esp + 4]
xor byte [esp + edx + 5], al
inc edx
cmp edx, 0xe
jb 0x10039c90
cmp byte [esp + 5], 0
mov byte [esp + 0x13], 0
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
jne 0x10039cc3
xor ecx, ecx
jmp 0x10039cd9
lea ecx, [esp + 5]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10039cd0
sub ecx, edx
push ecx
lea eax, [esp + 9]
push eax
lea ecx, [esp + 0x20]
call fcn.10002840
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x18]
call fcn.1001b710
mov dword [esi], eax
mov eax, dword [esp + 0x2c]
cmp eax, 0x10
jb 0x10039d0e
inc eax
lea ecx, [esp + 0x18]
push eax
push dword [esp + 0x1c]
call fcn.10002720
mov cl, 0x69
mov dword [esp + 4], 0x110c3d69
mov dword [esp + 8], 0x82b361d
xor eax, eax
mov dword [esp + 0xc], 0xa070805
mov word [esp + 0x10], 0xc
xor byte [esp + eax + 5], cl
inc eax
cmp eax, 0xc
jae 0x10039d41
mov cl, byte [esp + 4]
jmp 0x10039d31
cmp byte [esp + 5], 0
mov byte [esp + 0x11], 0
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
jne 0x10039d66
xor ecx, ecx
jmp 0x10039d79
lea ecx, [esp + 5]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10039d70
sub ecx, edx
push ecx
lea eax, [esp + 9]
push eax
lea ecx, [esp + 0x20]
call fcn.10002840
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x18]
call fcn.1001b710
mov dword [esi + 4], eax
mov eax, dword [esp + 0x2c]
cmp eax, 0x10
jb 0x10039daf
inc eax
lea ecx, [esp + 0x18]
push eax
push dword [esp + 0x1c]
call fcn.10002720
mov cl, 0x3c
mov dword [esp + 4], 0x52487e3c
mov dword [esp + 8], 0x4e486f63
xor eax, eax
mov dword [esp + 0xc], 0x485b5259
mov word [esp + 0x10], 0x54
xor byte [esp + eax + 5], cl
inc eax
cmp eax, 0xc
jae 0x10039de2
mov cl, byte [esp + 4]
jmp 0x10039dd2
cmp byte [esp + 5], 0
mov byte [esp + 0x11], 0
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
jne 0x10039e07
xor ecx, ecx
jmp 0x10039e19
lea ecx, [esp + 5]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10039e10
sub ecx, edx
push ecx
lea eax, [esp + 9]
push eax
lea ecx, [esp + 0x20]
call fcn.10002840
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x18]
call fcn.1001b710
mov dword [esi + 0x10], eax
mov eax, dword [esp + 0x2c]
cmp eax, 0x10
jb 0x10039e4f
inc eax
lea ecx, [esp + 0x18]
push eax
push dword [esp + 0x1c]
call fcn.10002720
mov cl, 0x3e
mov dword [esp + 4], 0x504a7c3e
mov dword [esp + 8], 0x5f4a6d61
xor eax, eax
mov dword [esp + 0xc], 0x5f505753
mov byte [esp + 0x10], 0
xor byte [esp + eax + 5], cl
inc eax
cmp eax, 0xb
jae 0x10039e80
mov cl, byte [esp + 4]
jmp 0x10039e70
cmp byte [esp + 5], 0
mov byte [esp + 0x10], 0
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
jne 0x10039ea5
xor ecx, ecx
jmp 0x10039eb9
lea ecx, [esp + 5]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10039eb0
sub ecx, edx
push ecx
lea eax, [esp + 9]
push eax
lea ecx, [esp + 0x20]
call fcn.10002840
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x18]
call fcn.1001b710
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x2c]
cmp eax, 0x10
jb 0x10039eef
inc eax
lea ecx, [esp + 0x18]
push eax
push dword [esp + 0x1c]
call fcn.10002720
mov cl, 0x4d
mov dword [esp + 4], 0x23390f4d
mov dword [esp + 8], 0x35280912
xor eax, eax
mov dword [esp + 0xc], 0x243f2839
mov word [esp + 0x10], 0x3439
mov byte [esp + 0x12], 0
xor byte [esp + eax + 5], cl
inc eax
cmp eax, 0xd
jae 0x10039f27
mov cl, byte [esp + 4]
jmp 0x10039f17
cmp byte [esp + 5], 0
mov byte [esp + 0x12], 0
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
jne 0x10039f4c
xor ecx, ecx
jmp 0x10039f5c
lea ecx, [esp + 5]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10039f53
sub ecx, edx
push ecx
lea eax, [esp + 9]
push eax
lea ecx, [esp + 0x20]
call fcn.10002840
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x18]
call fcn.1001b710
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x2c]
cmp eax, 0x10
jb 0x10039f92
inc eax
lea ecx, [esp + 0x18]
push eax
push dword [esp + 0x1c]
call fcn.10002720
movaps xmm0, xmmword [0x100c90d0]
xor ecx, ecx
movups xmmword [esp + 4], xmm0
mov byte [esp + 0x14], 0
mov al, byte [esp + 4]
xor byte [esp + ecx + 5], al
inc ecx
cmp ecx, 0xf
jb 0x10039fa5
cmp byte [esp + 5], 0
mov byte [esp + 0x14], 0
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
jne 0x10039fd8
xor ecx, ecx
jmp 0x10039fe9
lea ecx, [esp + 5]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10039fe0
sub ecx, edx
push ecx
lea eax, [esp + 9]
push eax
lea ecx, [esp + 0x20]
call fcn.10002840
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x18]
call fcn.1001b710
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x2c]
cmp eax, 0x10
jb 0x1003a01f
inc eax
lea ecx, [esp + 0x18]
push eax
push dword [esp + 0x1c]
call fcn.10002720
movaps xmm0, xmmword [0x100c8340]
xor ecx, ecx
movups xmmword [esp + 4], xmm0
mov word [esp + 0x14], 0xf
mov al, byte [esp + 4]
xor byte [esp + ecx + 5], al
inc ecx
cmp ecx, 0x10
jb 0x1003a034
cmp byte [esp + 5], 0
mov byte [esp + 0x15], 0
mov dword [esp + 0x2c], 0xf
mov dword [esp + 0x28], 0
mov byte [esp + 0x18], 0
jne 0x1003a067
xor ecx, ecx
jmp 0x1003a079
lea ecx, [esp + 5]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003a070
sub ecx, edx
push ecx
lea eax, [esp + 9]
push eax
lea ecx, [esp + 0x20]
call fcn.10002840
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x18]
call fcn.1001b710
mov dword [esi + 0x20], eax
mov eax, dword [esp + 0x2c]
cmp eax, 0x10
jb 0x1003a0af
inc eax
lea ecx, [esp + 0x18]
push eax
push dword [esp + 0x1c]
call fcn.10002720
pop esi
mov esp, ebp
pop ebp
ret