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

Disassembly:
push 0x158
mov eax, 0x1003a66f
call fcn.10039093
mov edi, ecx
mov esi, dword [ebp + 8]
mov eax, dword [edi + 0x10]
mov dword [0x10050224], eax
test esi, esi
je 0x1001370f
cmp dword [ebp + 0xc], 1
je 0x10013016
cmp dword [ebp + 0xc], 4
je 0x10013016
cmp dword [ebp + 0xc], 0x100
jne 0x1001370f
push 0x104
xor ebx, ebx
lea eax, [ebp - 0x114]
push ebx
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 4], ebx
mov eax, 0x1004f3d8
cmp dword [0x1004f3ec], 0x10
mov dword [ebp - 0x11c], ebx
cmovae eax, dword [0x1004f3d8]
push eax
lea eax, [ebp - 0x114]
mov byte [ebp - 0x12c], bl
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x50
pop ebx
mov cl, 0x3e
mov dword [ebp - 0x144], 0x4a4e713e
mov word [ebp - 0x140], 0x5157
xor edx, edx
mov byte [ebp - 0x13e], bl
mov word [ebp - 0x13d], 0x7710
mov byte [ebp - 0x13b], bl
mov word [ebp - 0x13a], 0x57
xor cl, byte [ebp + edx - 0x143]
mov byte [ebp + edx - 0x143], cl
inc edx
cmp edx, 0xa
jae 0x100130bb
mov cl, byte [ebp - 0x144]
jmp 0x1001309f
lea eax, [ebp - 0x143]
mov byte [ebp - 0x139], 0
push eax
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp dword [edi], 0
je 0x1001319b
cmp esi, dword [edi]
jne 0x1001319b
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x1005447c], 1
setne dl
cmp edx, 1
mov dword [0x1005447c], edx
sete byte [0x10050167]
call fcn.10009970
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x10013118
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x2a281043
mov dl, 0x43
mov dword [ebp - 0x140], 0x31022f2f
mov word [ebp - 0x13c], 0x2226
mov eax, ebx
mov byte [ebp - 0x13a], bl
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 9
jae 0x10013156
mov dl, byte [ebp - 0x144]
jmp 0x10013141
mov byte [ebp - 0x13a], bl
mov dl, 0x17
mov dword [ebp - 0x134], 0x647e5a17
mov eax, ebx
mov word [ebp - 0x130], 0x74
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x10013188
mov dl, byte [ebp - 0x134]
jmp 0x10013173
lea eax, [ebp - 0x114]
push eax
push ecx
lea eax, [ebp - 0x143]
jmp 0x100135b5
cmp dword [edi + 4], 0
je 0x10013290
cmp esi, dword [edi + 4]
jne 0x10013290
mov esi, dword [0x100500a8]
xor eax, eax
cmp dword [0x10054480], 1
setne al
mov dword [0x10054480], eax
test esi, esi
je 0x100131fd
mov esi, dword [esi + 0xc]
test esi, esi
je 0x100131fd
test eax, eax
je 0x100131f3
cmp dword [esi], 0
je 0x100131fd
push 4
push dword [esi]
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100131fd
mov ecx, dword [esi]
push 1
call dword [0x1004619c]
jmp 0x100131fd
sub esp, 0xc
mov ecx, esi
call fcn.10010313
mov edx, dword [0x10054480]
lea ecx, [ebp - 0x164]
call fcn.10009970
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x10013218
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x2d260443
mov dl, 0x43
mov dword [ebp - 0x140], 0x2a15262a
mov dword [ebp - 0x13c], 0x2f212a30
mov eax, ebx
mov word [ebp - 0x138], 0x26
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 0xc
jae 0x1001325a
mov dl, byte [ebp - 0x144]
jmp 0x10013245
mov byte [ebp - 0x137], bl
mov dl, 0x74
mov dword [ebp - 0x134], 0x71d3974
mov eax, ebx
mov word [ebp - 0x130], 0x17
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x10013188
mov dl, byte [ebp - 0x134]
jmp 0x10013277
cmp dword [edi + 8], 0
je 0x10013347
cmp esi, dword [edi + 8]
jne 0x10013347
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x10054488], 1
setne dl
mov dword [0x10054488], edx
call fcn.10009970
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x100132ca
mov edx, dword [edx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x353e095b
mov cl, 0x5b
mov dword [ebp - 0x140], 0x18293e3f
mov dword [ebp - 0x13c], 0x3e2b3a
mov eax, ebx
xor byte [ebp + eax - 0x143], cl
inc eax
cmp eax, 0xa
jae 0x10013303
mov cl, byte [ebp - 0x144]
jmp 0x100132ee
mov byte [ebp - 0x139], bl
mov cl, 0x64
mov dword [ebp - 0x134], 0x170d2964
mov eax, ebx
mov word [ebp - 0x130], 7
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x10013335
mov cl, byte [ebp - 0x134]
jmp 0x10013320
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x143]
jmp 0x100135b4
cmp dword [edi + 0xc], 0
je 0x10013412
cmp esi, dword [edi + 0xc]
jne 0x10013412
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x1005448c], 1
setne dl
mov dword [0x1005448c], edx
call fcn.10009970
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x10013381
mov ecx, dword [ecx]
mov dl, 0x17
mov dword [ebp - 0x148], 0x79764517
mov dword [ebp - 0x144], 0x70797e7c
xor eax, eax
mov dword [ebp - 0x140], 0x72717152
mov word [ebp - 0x13c], 0x6374
mov byte [ebp - 0x13a], 0
xor byte [ebp + eax - 0x147], dl
inc eax
cmp eax, 0xd
jae 0x100133c8
mov dl, byte [ebp - 0x148]
jmp 0x100133b3
mov byte [ebp - 0x13a], 0
xor eax, eax
mov byte [ebp - 0x134], bl
mov dword [ebp - 0x133], 0x3323391d
mov byte [ebp - 0x12f], 0
xor byte [ebp + eax - 0x133], bl
inc eax
cmp eax, 4
jae 0x100133fd
mov bl, byte [ebp - 0x134]
jmp 0x100133e8
lea eax, [ebp - 0x114]
xor ebx, ebx
push eax
push ecx
lea eax, [ebp - 0x147]
jmp 0x100135b5
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x100135dc
cmp esi, ecx
jne 0x100135dc
call fcn.1000b828
mov esi, eax
cmp esi, 0x17
ja 0x100136fb
cmp esi, dword [0x10054484]
je 0x100136fb
mov dword [0x10054484], esi
mov edx, esi
mov ecx, dword [edi + 0x14]
call fcn.1000b805
xor ebx, ebx
mov ecx, ebx
push esi
cmp esi, 0xa
jge 0x10013497
movaps xmm0, xmmword [0x10047e50]
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 0x1001347c
mov byte [ebp - 0x137], bl
jmp 0x100134ce
movaps xmm0, xmmword [0x10047810]
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x13c], 0x4b4b411f
mov byte [ebp - 0x138], bl
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0x13
jb 0x100134b5
mov byte [ebp - 0x138], bl
sub esp, 0x18
lea eax, [ebp - 0x14b]
mov ecx, esp
push eax
call fcn.100040a5
lea eax, [ebp - 0x164]
push eax
call fcn.10003b8a
add esp, 0x20
lea ecx, [ebp - 0x12c]
push eax
call fcn.10006e48
push ebx
push 1
lea ecx, [ebp - 0x164]
call fcn.10003f51
mov ecx, dword [edi + 0x1c]
lea edx, [ebp - 0x12c]
call fcn.1000b8e3
push ecx
push esi
call fcn.100139ef
mov edx, dword [0x10054484]
lea ecx, [ebp - 0x164]
call fcn.10009970
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x10013538
mov edx, dword [edx]
push 0xf
pop ebx
mov byte [ebp - 0x140], bl
xor eax, eax
mov dword [ebp - 0x13f], 0x6a626e48
mov dword [ebp - 0x13b], 0x6a62665b
mov byte [ebp - 0x137], 0
xor byte [ebp + eax - 0x13f], bl
inc eax
cmp eax, 8
jae 0x10013573
mov bl, byte [ebp - 0x140]
jmp 0x1001355e
xor ebx, ebx
mov dword [ebp - 0x134], 0x2b311558
mov byte [ebp - 0x137], bl
mov cl, 0x58
mov word [ebp - 0x130], 0x3b
mov eax, ebx
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x100135a7
mov cl, byte [ebp - 0x134]
jmp 0x10013592
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x13f]
push edx
push eax
lea eax, [ebp - 0x133]
mov byte [ebp - 0x12f], bl
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push ebx
push 1
lea ecx, [ebp - 0x164]
call fcn.10003f51
jmp 0x100136fd
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x100136fb
cmp esi, ecx
jne 0x100136fb
call fcn.1000b828
mov esi, eax
cmp esi, 0x14
ja 0x100136fb
cmp esi, dword [0x10054490]
je 0x100136fb
mov dword [0x10054490], esi
mov edx, esi
mov ecx, dword [edi + 0x18]
call fcn.1000b805
mov ecx, dword [edi + 0x20]
mov edx, esi
call fcn.1000b906
movd xmm0, dword [0x10054490]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x100472c8]
movss dword [0x1004e044], xmm0
call fcn.10012bd9
mov edx, dword [0x10054490]
lea ecx, [ebp - 0x164]
call fcn.10009970
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10013660
mov esi, dword [esi]
push 0x7c
pop ecx
mov dl, 0x12
mov dword [ebp - 0x144], 0x7f735112
mov dword [ebp - 0x140], 0x40736077
xor eax, eax
mov byte [ebp - 0x13c], 0x73
mov byte [ebp - 0x13b], cl
mov word [ebp - 0x13a], 0x7775
mov byte [ebp - 0x138], 0
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 0xb
jae 0x100136ad
mov dl, byte [ebp - 0x144]
jmp 0x10013698
push 0xf
pop ebx
mov byte [ebp - 0x131], bl
xor ebx, ebx
mov byte [ebp - 0x138], 0
mov eax, ebx
mov byte [ebp - 0x134], cl
mov word [ebp - 0x133], 0x1531
mov word [ebp - 0x130], 0x1f
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x100136ee
mov cl, byte [ebp - 0x134]
jmp 0x100136d9
lea eax, [ebp - 0x114]
push eax
push esi
jmp 0x10013190
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x12c]
call fcn.10003f51
mov al, 1
jmp 0x10013711
xor al, al
call fcn.1003903d
ret 8