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

Disassembly:
push 0x158
mov eax, 0x1003ea47
call fcn.1003d3d1
mov esi, ecx
mov ebx, dword [ebp + 8]
mov eax, dword [esi + 0x10]
mov dword [0x100569d0], eax
test ebx, ebx
je 0x10014956
cmp dword [ebp + 0xc], 1
je 0x10014293
cmp dword [ebp + 0xc], 4
je 0x10014293
cmp dword [ebp + 0xc], 0x100
jne 0x10014956
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 [0x10054484], ecx
mov dword [ebp - 0x11c], eax
mov byte [ebp - 0x12c], al
mov eax, 0x10054470
cmova eax, dword [0x10054470]
push eax
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov cl, 0x48
mov dword [ebp - 0x144], 0x3c380748
mov dword [ebp - 0x140], 0x66262721
xor eax, eax
mov dword [ebp - 0x13c], 0x212601
xor byte [ebp + eax - 0x143], cl
inc eax
cmp eax, 0xa
jae 0x1001432d
mov cl, byte [ebp - 0x144]
jmp 0x10014318
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 0x10014403
cmp ebx, dword [esi]
jne 0x10014403
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x10056bc0], 1
setne dl
mov dword [0x10056bc0], edx
mov byte [0x10056912], dl
call fcn.1000b356
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x10014386
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x4240782b
mov dl, 0x2b
mov dword [ebp - 0x140], 0x596a4747
mov word [ebp - 0x13c], 0x4a4e
mov eax, ebx
mov byte [ebp - 0x13a], bl
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 9
jae 0x100143c4
mov dl, byte [ebp - 0x144]
jmp 0x100143af
mov byte [ebp - 0x13a], bl
mov dl, 0x58
mov dword [ebp - 0x134], 0x2b311558
mov eax, ebx
mov word [ebp - 0x130], 0x3b
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x100143f6
mov dl, byte [ebp - 0x134]
jmp 0x100143e1
lea eax, [ebp - 0x114]
push eax
push ecx
jmp 0x10014916
cmp dword [esi + 4], 0
je 0x1001450b
cmp ebx, dword [esi + 4]
jne 0x1001450b
mov esi, dword [0x10056848]
xor eax, eax
cmp dword [0x10056bc4], 1
setne al
mov dword [0x10056bc4], eax
test esi, esi
je 0x10014465
mov esi, dword [esi + 0xc]
test esi, esi
je 0x10014465
test eax, eax
je 0x1001445b
cmp dword [esi], 0
je 0x10014465
push 4
push dword [esi]
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10014465
mov ecx, dword [esi]
push 1
call dword [0x1004a350]
jmp 0x10014465
sub esp, 0xc
mov ecx, esi
call fcn.100116bb
mov edx, dword [0x10056bc4]
lea ecx, [ebp - 0x164]
call fcn.1000b356
mov edx, eax
cmp dword [edx + 0x14], 0xf
jbe 0x10014480
mov edx, dword [edx]
push 0x76
pop eax
mov bl, 0x1f
mov dword [ebp - 0x144], 0x717a581f
mov byte [ebp - 0x140], al
xor ecx, ecx
mov word [ebp - 0x13f], 0x497a
mov byte [ebp - 0x13d], al
mov byte [ebp - 0x13c], 0x6c
mov byte [ebp - 0x13b], al
mov dword [ebp - 0x13a], 0x7a737d
xor byte [ebp + ecx - 0x143], bl
inc ecx
cmp ecx, 0xc
jae 0x100144d2
mov bl, byte [ebp - 0x144]
jmp 0x100144bd
xor ebx, ebx
mov byte [ebp - 0x134], al
mov byte [ebp - 0x137], bl
mov ecx, ebx
mov dword [ebp - 0x133], 0x15051f3b
mov byte [ebp - 0x12f], bl
xor byte [ebp + ecx - 0x133], al
inc ecx
cmp ecx, 4
jae 0x1001490e
mov al, byte [ebp - 0x134]
jmp 0x100144f2
cmp dword [esi + 8], 0
je 0x100145b4
cmp ebx, dword [esi + 8]
jne 0x100145b4
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x10056bcc], 1
setne dl
mov dword [0x10056bcc], edx
call fcn.1000b356
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x10014545
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x5e556230
mov dl, 0x30
mov dword [ebp - 0x140], 0x73425554
mov dword [ebp - 0x13c], 0x554051
mov eax, ebx
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 0xa
jae 0x1001457e
mov dl, byte [ebp - 0x144]
jmp 0x10014569
mov byte [ebp - 0x139], bl
mov dl, 0x18
mov dword [ebp - 0x134], 0x6b715518
mov eax, ebx
mov word [ebp - 0x130], 0x7b
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x100143f6
mov dl, byte [ebp - 0x134]
jmp 0x1001459b
cmp dword [esi + 0xc], 0
je 0x1001467b
cmp ebx, dword [esi + 0xc]
jne 0x1001467b
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x10056bd0], 1
setne dl
mov dword [0x10056bd0], edx
call fcn.1000b356
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x100145ee
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x148], 0x37380b59
mov dl, 0x59
mov dword [ebp - 0x144], 0x3e373032
mov dword [ebp - 0x140], 0x3c3f3f1c
mov eax, ebx
mov word [ebp - 0x13c], 0x2d3a
mov byte [ebp - 0x13a], bl
xor byte [ebp + eax - 0x147], dl
inc eax
cmp eax, 0xd
jae 0x10014636
mov dl, byte [ebp - 0x148]
jmp 0x10014621
mov byte [ebp - 0x13a], bl
mov dl, 0x4a
mov dword [ebp - 0x134], 0x3923074a
mov eax, ebx
mov word [ebp - 0x130], 0x29
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x10014668
mov dl, byte [ebp - 0x134]
jmp 0x10014653
lea eax, [ebp - 0x114]
push eax
push ecx
lea eax, [ebp - 0x147]
jmp 0x1001491c
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x10014819
cmp ebx, ecx
jne 0x10014819
call fcn.1000d01e
mov edi, eax
cmp edi, 0x17
ja 0x1001493b
cmp edi, dword [0x10056bc8]
je 0x1001493b
mov dword [0x10056bc8], edi
mov edx, edi
mov ecx, dword [esi + 0x14]
call fcn.1000cffb
xor ebx, ebx
mov ecx, ebx
push edi
cmp edi, 0xa
jge 0x10014700
movaps xmm0, xmmword [0x1004c790]
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x13c], 0x7e742a22
mov word [ebp - 0x138], 0x7e
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0x14
jb 0x100146e5
mov byte [ebp - 0x137], bl
jmp 0x10014737
movaps xmm0, xmmword [0x1004c320]
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x13c], 0x1919134d
mov byte [ebp - 0x138], bl
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0x13
jb 0x1001471e
mov byte [ebp - 0x138], bl
sub esp, 0x18
lea eax, [ebp - 0x14b]
mov ecx, esp
push eax
call fcn.10003da0
lea eax, [ebp - 0x164]
push eax
call fcn.100039e5
add esp, 0x20
lea ecx, [ebp - 0x12c]
push eax
call fcn.10008af4
lea ecx, [ebp - 0x164]
call fcn.10003b9e
mov ecx, dword [esi + 0x1c]
lea edx, [ebp - 0x12c]
call fcn.1000d0e0
push ecx
push edi
call fcn.10014c4c
mov edx, dword [0x10056bc8]
lea ecx, [ebp - 0x164]
call fcn.1000b356
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x1001479e
mov ecx, dword [ecx]
mov dl, 0x5b
mov dword [ebp - 0x140], 0x363a1c5b
mov dword [ebp - 0x13c], 0x36320f3e
mov eax, ebx
mov word [ebp - 0x138], 0x3e
xor byte [ebp + eax - 0x13f], dl
inc eax
cmp eax, 8
jae 0x100147d4
mov dl, byte [ebp - 0x140]
jmp 0x100147bf
mov byte [ebp - 0x137], bl
mov dl, 2
mov dword [ebp - 0x134], 0x716b4f02
mov eax, ebx
mov word [ebp - 0x130], 0x61
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x10014806
mov dl, byte [ebp - 0x134]
jmp 0x100147f1
lea eax, [ebp - 0x114]
push eax
push ecx
lea eax, [ebp - 0x13f]
jmp 0x1001491c
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x1001493b
cmp ebx, ecx
jne 0x1001493b
call fcn.1000d01e
mov edi, eax
cmp edi, 0x14
ja 0x1001493b
cmp edi, dword [0x10056bd4]
je 0x1001493b
mov dword [0x10056bd4], edi
mov edx, edi
mov ecx, dword [esi + 0x18]
call fcn.1000cffb
mov ecx, dword [esi + 0x20]
mov edx, edi
call fcn.1000d103
movd xmm0, dword [0x10056bd4]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x1004b76c]
movss dword [0x100530dc], xmm0
call fcn.10013e7d
mov edx, dword [0x10056bd4]
lea ecx, [ebp - 0x164]
call fcn.1000b356
mov edx, eax
cmp dword [edx + 0x14], 0xf
jbe 0x1001489d
mov edx, dword [edx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x39351754
mov cl, 0x54
mov dword [ebp - 0x140], 0x6352631
mov dword [ebp - 0x13c], 0x31333a35
mov eax, ebx
mov byte [ebp - 0x138], bl
xor byte [ebp + eax - 0x143], cl
inc eax
cmp eax, 0xb
jae 0x100148dc
mov cl, byte [ebp - 0x144]
jmp 0x100148c7
mov byte [ebp - 0x138], bl
mov cl, 0x6c
mov dword [ebp - 0x134], 0x1f05216c
mov eax, ebx
mov word [ebp - 0x130], 0xf
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x1001490e
mov cl, byte [ebp - 0x134]
jmp 0x100148f9
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.10003b9e
mov edx, dword [ebp - 0x118]
cmp edx, 0xf
jbe 0x10014952
mov ecx, dword [ebp - 0x12c]
inc edx
call fcn.10003b71
mov al, 1
jmp 0x10014958
xor al, al
call fcn.1003d38f
ret 8