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

Disassembly:
push 0x158
mov eax, 0x1003a70f
call fcn.10039131
mov esi, ecx
mov edi, dword [ebp + 8]
mov eax, dword [esi + 0x10]
mov dword [0x10050224], eax
test edi, edi
je 0x1001370d
cmp dword [ebp + 0xc], 1
je 0x1001301a
cmp dword [ebp + 0xc], 4
je 0x1001301a
cmp dword [ebp + 0xc], 0x100
jne 0x1001370d
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 0x6c
pop ebx
mov cl, 3
mov dword [ebp - 0x144], 0x77734c03
mov byte [ebp - 0x140], 0x6a
xor edx, edx
mov byte [ebp - 0x13f], bl
mov dword [ebp - 0x13e], 0x6d4a2d6d
mov word [ebp - 0x13a], 0x6a
xor cl, byte [ebp + edx - 0x143]
mov byte [ebp + edx - 0x143], cl
inc edx
cmp edx, 0xa
jae 0x100130b8
mov cl, byte [ebp - 0x144]
jmp 0x1001309c
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 [esi], 0
je 0x10013199
cmp edi, dword [esi]
jne 0x10013199
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.1000995f
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x10013115
mov ecx, dword [ecx]
mov dl, 0x75
mov dword [ebp - 0x144], 0x1c1e2675
mov dword [ebp - 0x140], 0x7341919
xor eax, eax
mov word [ebp - 0x13c], 0x1410
mov byte [ebp - 0x13a], 0
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 9
jae 0x10013152
mov dl, byte [ebp - 0x144]
jmp 0x1001313d
mov byte [ebp - 0x13a], 0
xor eax, eax
mov byte [ebp - 0x134], bl
mov dword [ebp - 0x133], 0xf1f0521
mov byte [ebp - 0x12f], 0
xor byte [ebp + eax - 0x133], bl
inc eax
cmp eax, 4
jae 0x10013187
mov bl, byte [ebp - 0x134]
jmp 0x10013172
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x143]
jmp 0x100135bc
cmp dword [esi + 4], 0
je 0x1001329a
cmp edi, dword [esi + 4]
jne 0x1001329a
mov esi, dword [0x100500a8]
xor eax, eax
cmp dword [0x10054480], 1
setne al
mov dword [0x10054480], eax
test esi, esi
je 0x100131fb
mov esi, dword [esi + 0xc]
test esi, esi
je 0x100131fb
test eax, eax
je 0x100131f1
cmp dword [esi], 0
je 0x100131fb
push 4
push dword [esi]
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100131fb
mov ecx, dword [esi]
push 1
call dword [0x100461ac]
jmp 0x100131fb
sub esp, 0xc
mov ecx, esi
call fcn.1001030a
mov edx, dword [0x10054480]
lea ecx, [ebp - 0x164]
call fcn.1000995f
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x10013216
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0xb002265
mov dl, 0x65
mov dword [ebp - 0x140], 0xc33000c
mov dword [ebp - 0x13c], 0x9070c16
mov eax, ebx
mov word [ebp - 0x138], bx
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 0xc
jae 0x10013256
mov dl, byte [ebp - 0x144]
jmp 0x10013241
mov byte [ebp - 0x137], bl
mov dl, 0x54
mov dword [ebp - 0x134], 0x273d1954
mov eax, ebx
mov word [ebp - 0x130], 0x37
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x10013288
mov dl, byte [ebp - 0x134]
jmp 0x10013273
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x143]
jmp 0x100135be
cmp dword [esi + 8], 0
je 0x10013343
cmp edi, dword [esi + 8]
jne 0x10013343
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x10054488], 1
setne dl
mov dword [0x10054488], edx
call fcn.1000995f
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x100132d4
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x28231446
mov dl, 0x46
mov dword [ebp - 0x140], 0x5342322
mov dword [ebp - 0x13c], 0x233627
mov eax, ebx
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 0xa
jae 0x1001330d
mov dl, byte [ebp - 0x144]
jmp 0x100132f8
mov byte [ebp - 0x139], bl
mov dl, 0x4f
mov dword [ebp - 0x134], 0x3c26024f
mov eax, ebx
mov word [ebp - 0x130], 0x2c
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x10013288
mov dl, byte [ebp - 0x134]
jmp 0x1001332a
cmp dword [esi + 0xc], 0
je 0x1001340e
cmp edi, dword [esi + 0xc]
jne 0x1001340e
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x1005448c], 1
setne dl
mov dword [0x1005448c], edx
call fcn.1000995f
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x1001337d
mov ecx, dword [ecx]
mov dl, 0x53
mov dword [ebp - 0x148], 0x3d320153
mov dword [ebp - 0x144], 0x343d3a38
xor eax, eax
mov dword [ebp - 0x140], 0x36353516
mov word [ebp - 0x13c], 0x2730
mov byte [ebp - 0x13a], 0
xor byte [ebp + eax - 0x147], dl
inc eax
cmp eax, 0xd
jae 0x100133c4
mov dl, byte [ebp - 0x148]
jmp 0x100133af
mov byte [ebp - 0x133], bl
mov dl, 0x21
xor ebx, ebx
mov byte [ebp - 0x13a], 0
mov byte [ebp - 0x134], dl
mov eax, ebx
mov dword [ebp - 0x132], 0x425248
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x100133fc
mov dl, byte [ebp - 0x134]
jmp 0x100133e7
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x147]
jmp 0x100135be
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x100135e6
cmp edi, ecx
jne 0x100135e6
call fcn.1000b7e9
mov edi, eax
cmp edi, 0x17
ja 0x100136f9
cmp edi, dword [0x10054484]
je 0x100136f9
mov dword [0x10054484], edi
mov edx, edi
mov ecx, dword [esi + 0x14]
call fcn.1000b7c6
push 5
pop ebx
xor ecx, ecx
push edi
cmp edi, 0xa
jge 0x100134a0
movaps xmm0, xmmword [0x10047920]
movups xmmword [ebp - 0x14c], xmm0
mov word [ebp - 0x13c], 0x5b53
mov byte [ebp - 0x13a], bl
mov word [ebp - 0x139], 0xf0f
mov byte [ebp - 0x137], cl
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0x14
jb 0x10013484
mov byte [ebp - 0x137], 0
jmp 0x100134d9
movaps xmm0, xmmword [0x10047f10]
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x13c], 0x16161c42
mov byte [ebp - 0x138], 0
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0x13
jb 0x100134bf
mov byte [ebp - 0x138], 0
sub esp, 0x18
lea eax, [ebp - 0x14b]
mov ecx, esp
push eax
call fcn.1000409e
lea eax, [ebp - 0x164]
push eax
call fcn.10003b83
add esp, 0x20
lea ecx, [ebp - 0x12c]
push eax
call fcn.10006e3f
push 0
push 1
lea ecx, [ebp - 0x164]
call fcn.10003f4a
mov ecx, dword [esi + 0x1c]
lea edx, [ebp - 0x12c]
call fcn.1000b8a4
push ecx
push edi
call fcn.100139ed
mov edx, dword [0x10054484]
lea ecx, [ebp - 0x164]
call fcn.1000995f
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x10013544
mov ecx, dword [ecx]
mov dl, 0xd
mov dword [ebp - 0x140], 0x606c4a0d
mov dword [ebp - 0x13c], 0x60645968
xor eax, eax
mov word [ebp - 0x138], 0x68
xor byte [ebp + eax - 0x13f], dl
inc eax
cmp eax, 8
jae 0x1001357a
mov dl, byte [ebp - 0x140]
jmp 0x10013565
mov byte [ebp - 0x137], 0
xor eax, eax
mov byte [ebp - 0x134], bl
mov dword [ebp - 0x133], 0x66766c48
mov byte [ebp - 0x12f], 0
xor byte [ebp + eax - 0x133], bl
inc eax
cmp eax, 4
jae 0x100135af
mov bl, byte [ebp - 0x134]
jmp 0x1001359a
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x13f]
xor ebx, ebx
push ecx
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.10003f4a
jmp 0x100136fb
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x100136f9
cmp edi, ecx
jne 0x100136f9
call fcn.1000b7e9
mov edi, eax
cmp edi, 0x14
ja 0x100136f9
cmp edi, dword [0x10054490]
je 0x100136f9
mov dword [0x10054490], edi
mov edx, edi
mov ecx, dword [esi + 0x18]
call fcn.1000b7c6
mov ecx, dword [esi + 0x20]
mov edx, edi
call fcn.1000b8c7
movd xmm0, dword [0x10054490]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x100472d8]
movss dword [0x1004e044], xmm0
call fcn.10012bdd
mov edx, dword [0x10054490]
lea ecx, [ebp - 0x164]
call fcn.1000995f
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x1001366a
mov edx, dword [edx]
mov byte [ebp - 0x143], bl
mov cl, 0x2f
xor ebx, ebx
mov byte [ebp - 0x144], cl
mov dword [ebp - 0x142], 0x5d4a424e
mov eax, ebx
mov dword [ebp - 0x13e], 0x414e7d4e
mov word [ebp - 0x13a], 0x4a48
mov byte [ebp - 0x138], bl
xor byte [ebp + eax - 0x143], cl
inc eax
cmp eax, 0xb
jae 0x100136b4
mov cl, byte [ebp - 0x144]
jmp 0x1001369f
mov byte [ebp - 0x138], bl
mov cl, 0x18
mov dword [ebp - 0x134], 0x6b715518
mov eax, ebx
mov word [ebp - 0x130], 0x7b
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x100136e6
mov cl, byte [ebp - 0x134]
jmp 0x100136d1
lea eax, [ebp - 0x114]
push eax
push edx
lea eax, [ebp - 0x143]
jmp 0x100135bf
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x12c]
call fcn.10003f4a
mov al, 1
jmp 0x1001370f
xor al, al
call fcn.100390db
ret 8