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

Disassembly:
push 0x158
mov eax, 0x1003ee14
call fcn.1003d7e1
mov esi, ecx
mov ebx, dword [ebp + 8]
mov eax, dword [esi + 0x10]
mov dword [0x100579f0], eax
test ebx, ebx
je 0x10014a1c
cmp dword [ebp + 0xc], 1
je 0x10014352
cmp dword [ebp + 0xc], 4
je 0x10014352
cmp dword [ebp + 0xc], 0x100
jne 0x10014a1c
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 [0x10055484], ecx
mov dword [ebp - 0x11c], eax
mov byte [ebp - 0x12c], al
mov eax, 0x10055470
cmova eax, dword [0x10055470]
push eax
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x76
pop eax
mov byte [ebp - 0x13e], al
mov cl, 0x18
mov byte [ebp - 0x13b], al
xor eax, eax
mov dword [ebp - 0x144], 0x6c685718
mov word [ebp - 0x140], 0x7771
mov word [ebp - 0x13d], 0x5136
mov word [ebp - 0x13a], 0x71
xor byte [ebp + eax - 0x143], cl
inc eax
cmp eax, 0xa
jae 0x10014402
mov cl, byte [ebp - 0x144]
jmp 0x100143ed
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 0x100144d8
cmp ebx, dword [esi]
jne 0x100144d8
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x10057be0], 1
setne dl
mov dword [0x10057be0], edx
mov byte [0x10057932], dl
call fcn.1000b3ab
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x1001445b
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x90b3360
mov dl, 0x60
mov dword [ebp - 0x140], 0x12210c0c
mov word [ebp - 0x13c], 0x105
mov eax, ebx
mov byte [ebp - 0x13a], bl
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 9
jae 0x10014499
mov dl, byte [ebp - 0x144]
jmp 0x10014484
mov byte [ebp - 0x13a], bl
mov dl, 0x3f
mov dword [ebp - 0x134], 0x4c56723f
mov eax, ebx
mov word [ebp - 0x130], 0x5c
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x100144cb
mov dl, byte [ebp - 0x134]
jmp 0x100144b6
lea eax, [ebp - 0x114]
push eax
push ecx
jmp 0x100149dc
cmp dword [esi + 4], 0
je 0x100145cd
cmp ebx, dword [esi + 4]
jne 0x100145cd
mov esi, dword [0x10057868]
xor eax, eax
cmp dword [0x10057be4], 1
setne al
mov dword [0x10057be4], eax
test esi, esi
je 0x1001453a
mov esi, dword [esi + 0xc]
test esi, esi
je 0x1001453a
test eax, eax
je 0x10014530
cmp dword [esi], 0
je 0x1001453a
push 4
push dword [esi]
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1001453a
mov ecx, dword [esi]
push 1
call dword [0x1004b688]
jmp 0x1001453a
sub esp, 0xc
mov ecx, esi
call fcn.10011731
mov edx, dword [0x10057be4]
lea ecx, [ebp - 0x164]
call fcn.1000b3ab
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x10014555
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x444f6d2a
mov dl, 0x2a
mov dword [ebp - 0x140], 0x437c4f43
mov dword [ebp - 0x13c], 0x46484359
mov eax, ebx
mov word [ebp - 0x138], 0x4f
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 0xc
jae 0x10014597
mov dl, byte [ebp - 0x144]
jmp 0x10014582
mov byte [ebp - 0x137], bl
mov dl, 0x20
mov dword [ebp - 0x134], 0x53496d20
mov eax, ebx
mov word [ebp - 0x130], 0x43
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x100144cb
mov dl, byte [ebp - 0x134]
jmp 0x100145b4
cmp dword [esi + 8], 0
je 0x10014676
cmp ebx, dword [esi + 8]
jne 0x10014676
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x10057bec], 1
setne dl
mov dword [0x10057bec], edx
call fcn.1000b3ab
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x10014607
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x62695e0c
mov dl, 0xc
mov dword [ebp - 0x140], 0x4f7e6968
mov dword [ebp - 0x13c], 0x697c6d
mov eax, ebx
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 0xa
jae 0x10014640
mov dl, byte [ebp - 0x144]
jmp 0x1001462b
mov byte [ebp - 0x139], bl
mov dl, 0x48
mov dword [ebp - 0x134], 0x3b210548
mov eax, ebx
mov word [ebp - 0x130], 0x2b
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x100144cb
mov dl, byte [ebp - 0x134]
jmp 0x1001465d
cmp dword [esi + 0xc], 0
je 0x1001473d
cmp ebx, dword [esi + 0xc]
jne 0x1001473d
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x10057bf0], 1
setne dl
mov dword [0x10057bf0], edx
call fcn.1000b3ab
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x100146b0
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x148], 0x323d0e5c
mov dl, 0x5c
mov dword [ebp - 0x144], 0x3b323537
mov dword [ebp - 0x140], 0x393a3a19
mov eax, ebx
mov word [ebp - 0x13c], 0x283f
mov byte [ebp - 0x13a], bl
xor byte [ebp + eax - 0x147], dl
inc eax
cmp eax, 0xd
jae 0x100146f8
mov dl, byte [ebp - 0x148]
jmp 0x100146e3
mov byte [ebp - 0x13a], bl
mov dl, 0x13
mov dword [ebp - 0x134], 0x607a5e13
mov eax, ebx
mov word [ebp - 0x130], 0x70
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x1001472a
mov dl, byte [ebp - 0x134]
jmp 0x10014715
lea eax, [ebp - 0x114]
push eax
push ecx
lea eax, [ebp - 0x147]
jmp 0x100149e2
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x100148df
cmp ebx, ecx
jne 0x100148df
call fcn.1000d0c4
mov edi, eax
cmp edi, 0x17
ja 0x10014a01
cmp edi, dword [0x10057be8]
je 0x10014a01
mov dword [0x10057be8], edi
mov edx, edi
mov ecx, dword [esi + 0x14]
call fcn.1000d0a1
xor ebx, ebx
mov ecx, ebx
push edi
cmp edi, 0xa
jge 0x100147c2
movaps xmm0, xmmword [0x1004d5b0]
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x13c], 0x707a242c
mov word [ebp - 0x138], 0x70
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0x14
jb 0x100147a7
mov byte [ebp - 0x137], bl
jmp 0x100147f9
movaps xmm0, xmmword [0x1004cd70]
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x13c], 0x7979732d
mov byte [ebp - 0x138], bl
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0x13
jb 0x100147e0
mov byte [ebp - 0x138], bl
sub esp, 0x18
lea eax, [ebp - 0x14b]
mov ecx, esp
push eax
call fcn.10003d9a
lea eax, [ebp - 0x164]
push eax
call fcn.100039e3
add esp, 0x20
lea ecx, [ebp - 0x12c]
push eax
call fcn.10008b15
lea ecx, [ebp - 0x164]
call fcn.10003b98
mov ecx, dword [esi + 0x1c]
lea edx, [ebp - 0x12c]
call fcn.1000d186
push ecx
push edi
call fcn.10014d12
mov edx, dword [0x10057be8]
lea ecx, [ebp - 0x164]
call fcn.1000b3ab
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x10014860
mov ecx, dword [ecx]
mov dl, 0x49
mov dword [ebp - 0x140], 0x24280e49
mov dword [ebp - 0x13c], 0x24201d2c
mov eax, ebx
mov word [ebp - 0x138], 0x2c
xor byte [ebp + eax - 0x13f], dl
inc eax
cmp eax, 8
jae 0x10014896
mov dl, byte [ebp - 0x140]
jmp 0x10014881
push 0x76
pop edx
mov byte [ebp - 0x137], bl
mov eax, ebx
mov byte [ebp - 0x134], dl
mov dword [ebp - 0x133], 0x15051f3b
mov byte [ebp - 0x12f], bl
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x100148cc
mov dl, byte [ebp - 0x134]
jmp 0x100148b7
lea eax, [ebp - 0x114]
push eax
push ecx
lea eax, [ebp - 0x13f]
jmp 0x100149e2
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x10014a01
cmp ebx, ecx
jne 0x10014a01
call fcn.1000d0c4
mov edi, eax
cmp edi, 0x14
ja 0x10014a01
cmp edi, dword [0x10057bf4]
je 0x10014a01
mov dword [0x10057bf4], edi
mov edx, edi
mov ecx, dword [esi + 0x18]
call fcn.1000d0a1
mov ecx, dword [esi + 0x20]
mov edx, edi
call fcn.1000d1a9
movd xmm0, dword [0x10057bf4]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x1004c744]
movss dword [0x100540dc], xmm0
call fcn.10013f2c
mov edx, dword [0x10057bf4]
lea ecx, [ebp - 0x164]
call fcn.1000b3ab
mov edx, eax
cmp dword [edx + 0x14], 0xf
jbe 0x10014963
mov edx, dword [edx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x404c6e2d
mov cl, 0x2d
mov dword [ebp - 0x140], 0x7f4c5f48
mov dword [ebp - 0x13c], 0x484a434c
mov eax, ebx
mov byte [ebp - 0x138], bl
xor byte [ebp + eax - 0x143], cl
inc eax
cmp eax, 0xb
jae 0x100149a2
mov cl, byte [ebp - 0x144]
jmp 0x1001498d
mov byte [ebp - 0x138], bl
mov cl, 0x3d
mov dword [ebp - 0x134], 0x4e54703d
mov eax, ebx
mov word [ebp - 0x130], 0x5e
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x100149d4
mov cl, byte [ebp - 0x134]
jmp 0x100149bf
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.10003b98
mov edx, dword [ebp - 0x118]
cmp edx, 0xf
jbe 0x10014a18
mov ecx, dword [ebp - 0x12c]
inc edx
call fcn.10003b6b
mov al, 1
jmp 0x10014a1e
xor al, al
call fcn.1003d79f
ret 8