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

Disassembly:
push 0x158
mov eax, 0x10035496
call fcn.10034326
mov esi, ecx
mov ebx, dword [ebp + 8]
mov eax, dword [esi + 0x10]
mov dword [0x100461a0], eax
test ebx, ebx
je 0x1001006f
cmp dword [ebp + 0xc], 1
je 0x1000f9b7
cmp dword [ebp + 0xc], 4
je 0x1000f9b7
cmp dword [ebp + 0xc], 0x100
jne 0x1001006f
push 0x103
lea eax, [ebp - 0x113]
mov byte [ebp - 0x114], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
xor eax, eax
lea edi, [ebp - 0x12c]
stosd dword es:[edi], eax
add esp, 0xc
stosd dword es:[edi], eax
push 0xf
pop ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [ebp - 0x118], ecx
xor eax, eax
mov dword [ebp - 4], eax
cmp dword [0x1004547c], ecx
mov dword [ebp - 0x11c], eax
mov byte [ebp - 0x12c], al
mov eax, 0x10045468
cmova eax, dword [0x10045468]
push eax
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
xor edx, edx
mov dword [ebp - 0x144], 0x1a1e216e
mov cl, 0x6e
mov dword [ebp - 0x140], 0x40000107
mov dword [ebp - 0x13c], 0x70027
mov eax, edx
xor byte [ebp + eax - 0x143], cl
inc eax
cmp eax, 0xa
jae 0x1000fa53
mov cl, byte [ebp - 0x144]
jmp 0x1000fa3e
lea eax, [ebp - 0x143]
mov byte [ebp - 0x139], dl
push eax
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp dword [esi], 0
je 0x1000fb28
cmp ebx, dword [esi]
jne 0x1000fb28
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x10046380], 1
setne dl
mov dword [0x10046380], edx
mov byte [0x100460fe], dl
call fcn.10007e47
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x1000faab
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x1a182073
mov dl, 0x73
mov dword [ebp - 0x140], 0x1321f1f
mov word [ebp - 0x13c], 0x1216
mov eax, ebx
mov byte [ebp - 0x13a], bl
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 9
jae 0x1000fae9
mov dl, byte [ebp - 0x144]
jmp 0x1000fad4
mov byte [ebp - 0x13a], bl
mov dl, 0x5d
mov dword [ebp - 0x134], 0x2e34105d
mov eax, ebx
mov word [ebp - 0x130], 0x3e
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x1000fb1b
mov dl, byte [ebp - 0x134]
jmp 0x1000fb06
lea eax, [ebp - 0x114]
push eax
push ecx
jmp 0x1001002f
cmp dword [esi + 4], 0
je 0x1000fc1d
cmp ebx, dword [esi + 4]
jne 0x1000fc1d
mov esi, dword [0x1007cfb8]
xor eax, eax
cmp dword [0x10046384], 1
setne al
mov dword [0x10046384], eax
test esi, esi
je 0x1000fb8a
mov esi, dword [esi + 0xc]
test esi, esi
je 0x1000fb8a
test eax, eax
je 0x1000fb80
cmp dword [esi], 0
je 0x1000fb8a
push 4
push dword [esi]
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1000fb8a
mov ecx, dword [esi]
push 1
call dword [0x1003cc20]
jmp 0x1000fb8a
sub esp, 0xc
mov ecx, esi
call fcn.1000ce36
mov edx, dword [0x10046384]
lea ecx, [ebp - 0x164]
call fcn.10007e47
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x1000fba5
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x212a084f
mov dl, 0x4f
mov dword [ebp - 0x140], 0x26192a26
mov dword [ebp - 0x13c], 0x232d263c
mov eax, ebx
mov word [ebp - 0x138], 0x2a
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 0xc
jae 0x1000fbe7
mov dl, byte [ebp - 0x144]
jmp 0x1000fbd2
mov byte [ebp - 0x137], bl
mov dl, 0xb
mov dword [ebp - 0x134], 0x7862460b
mov eax, ebx
mov word [ebp - 0x130], 0x68
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x1000fb1b
mov dl, byte [ebp - 0x134]
jmp 0x1000fc04
cmp dword [esi + 8], 0
je 0x1000fcc6
cmp ebx, dword [esi + 8]
jne 0x1000fcc6
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x1004638c], 1
setne dl
mov dword [0x1004638c], edx
call fcn.10007e47
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x1000fc57
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x63685f0d
mov dl, 0xd
mov dword [ebp - 0x140], 0x4e7f6869
mov dword [ebp - 0x13c], 0x687d6c
mov eax, ebx
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 0xa
jae 0x1000fc90
mov dl, byte [ebp - 0x144]
jmp 0x1000fc7b
mov byte [ebp - 0x139], bl
mov dl, 0x38
mov dword [ebp - 0x134], 0x4b517538
mov eax, ebx
mov word [ebp - 0x130], 0x5b
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x1000fb1b
mov dl, byte [ebp - 0x134]
jmp 0x1000fcad
cmp dword [esi + 0xc], 0
je 0x1000fd8d
cmp ebx, dword [esi + 0xc]
jne 0x1000fd8d
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x10046390], 1
setne dl
mov dword [0x10046390], edx
call fcn.10007e47
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x1000fd00
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x148], 0x434c7f2d
mov dl, 0x2d
mov dword [ebp - 0x144], 0x4a434446
mov dword [ebp - 0x140], 0x484b4b68
mov eax, ebx
mov word [ebp - 0x13c], 0x594e
mov byte [ebp - 0x13a], bl
xor byte [ebp + eax - 0x147], dl
inc eax
cmp eax, 0xd
jae 0x1000fd48
mov dl, byte [ebp - 0x148]
jmp 0x1000fd33
mov byte [ebp - 0x13a], bl
mov dl, 0x52
mov dword [ebp - 0x134], 0x213b1f52
mov eax, ebx
mov word [ebp - 0x130], 0x31
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x1000fd7a
mov dl, byte [ebp - 0x134]
jmp 0x1000fd65
lea eax, [ebp - 0x114]
push eax
push ecx
lea eax, [ebp - 0x147]
jmp 0x10010035
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x1000ff32
cmp ebx, ecx
jne 0x1000ff32
call fcn.10009ad4
mov edi, eax
cmp edi, 0x17
ja 0x10010054
cmp edi, dword [0x10046388]
je 0x10010054
mov dword [0x10046388], edi
mov edx, edi
mov ecx, dword [esi + 0x14]
call fcn.10009ab1
push 0x13
pop ebx
xor ecx, ecx
push edi
cmp edi, 0xa
jge 0x1000fe14
movaps xmm0, xmmword [0x1003e640]
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x13c], 0x59530d05
mov word [ebp - 0x138], 0x59
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0x14
jb 0x1000fdf8
mov byte [ebp - 0x137], 0
jmp 0x1000fe4c
movaps xmm0, xmmword [0x1003e760]
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x13c], 0x6060c52
mov byte [ebp - 0x138], 0
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, ebx
jb 0x1000fe33
mov byte [ebp - 0x138], 0
sub esp, 0x18
lea eax, [ebp - 0x14b]
mov ecx, esp
push eax
call fcn.10002604
lea eax, [ebp - 0x164]
push eax
call fcn.1000485c
add esp, 0x20
lea ecx, [ebp - 0x12c]
push eax
call fcn.10005397
lea ecx, [ebp - 0x164]
call fcn.10002410
mov ecx, dword [esi + 0x1c]
lea edx, [ebp - 0x12c]
call fcn.10009b96
push ecx
push edi
call fcn.10010365
mov edx, dword [0x10046388]
lea ecx, [ebp - 0x164]
call fcn.10007e47
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x1000feb3
mov ecx, dword [ecx]
mov byte [ebp - 0x140], bl
xor eax, eax
mov dword [ebp - 0x13f], 0x767e7254
mov dword [ebp - 0x13b], 0x767e7a47
mov byte [ebp - 0x137], 0
xor byte [ebp + eax - 0x13f], bl
inc eax
cmp eax, 8
jae 0x1000feeb
mov bl, byte [ebp - 0x140]
jmp 0x1000fed6
xor ebx, ebx
mov dword [ebp - 0x134], 0x72684c01
mov byte [ebp - 0x137], bl
mov dl, 1
mov word [ebp - 0x130], 0x62
mov eax, ebx
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x1000ff1f
mov dl, byte [ebp - 0x134]
jmp 0x1000ff0a
lea eax, [ebp - 0x114]
push eax
push ecx
lea eax, [ebp - 0x13f]
jmp 0x10010035
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x10010054
cmp ebx, ecx
jne 0x10010054
call fcn.10009ad4
mov edi, eax
cmp edi, 0x14
ja 0x10010054
cmp edi, dword [0x10046394]
je 0x10010054
mov dword [0x10046394], edi
mov edx, edi
mov ecx, dword [esi + 0x18]
call fcn.10009ab1
mov ecx, dword [esi + 0x20]
mov edx, edi
call fcn.10009bb9
movd xmm0, dword [0x10046394]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x1003dc08]
movss dword [0x100440a4], xmm0
call fcn.1000f58a
mov edx, dword [0x10046394]
lea ecx, [ebp - 0x164]
call fcn.10007e47
mov edx, eax
cmp dword [edx + 0x14], 0xf
jbe 0x1000ffb6
mov edx, dword [edx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x626e4c0f
mov cl, 0xf
mov dword [ebp - 0x140], 0x5d6e7d6a
mov dword [ebp - 0x13c], 0x6a68616e
mov eax, ebx
mov byte [ebp - 0x138], bl
xor byte [ebp + eax - 0x143], cl
inc eax
cmp eax, 0xb
jae 0x1000fff5
mov cl, byte [ebp - 0x144]
jmp 0x1000ffe0
mov byte [ebp - 0x138], bl
mov cl, 0xe
mov dword [ebp - 0x134], 0x7d67430e
mov eax, ebx
mov word [ebp - 0x130], 0x6d
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x10010027
mov cl, byte [ebp - 0x134]
jmp 0x10010012
lea eax, [ebp - 0x114]
push eax
push edx
lea eax, [ebp - 0x143]
push eax
lea eax, [ebp - 0x133]
mov byte [ebp - 0x12f], bl
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x164]
call fcn.10002410
mov edx, dword [ebp - 0x118]
cmp edx, 0xf
jbe 0x1001006b
mov ecx, dword [ebp - 0x12c]
inc edx
call fcn.100023e3
mov al, 1
jmp 0x10010071
xor al, al
call fcn.100342e4
ret 8