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

Disassembly:
push 0x158
mov eax, 0x1007309e
call fcn.1003bfa0
mov esi, ecx
mov edi, dword [ebp + 8]
mov eax, dword [esi + 0x10]
mov dword [0x10099d14], eax
test edi, edi
je 0x100147d6
cmp dword [ebp + 0xc], 1
je 0x1001413d
cmp dword [ebp + 0xc], 4
je 0x1001413d
cmp dword [ebp + 0xc], 0x100
jne 0x100147d6
push 0x104
xor ebx, ebx
lea eax, [ebp - 0x114]
push ebx
push eax
call fcn.100539e0
add esp, 0xc
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 4], ebx
mov eax, 0x10096e30
cmp dword [0x10096e44], 0x10
mov dword [ebp - 0x11c], ebx
cmovae eax, dword [0x10096e30]
push eax
lea eax, [ebp - 0x114]
mov byte [ebp - 0x12c], bl
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov cl, 0x5d
mov dword [ebp - 0x144], 0x292d125d
mov dword [ebp - 0x140], 0x73333234
mov edx, ebx
mov dword [ebp - 0x13c], 0x343314
xor cl, byte [ebp + edx - 0x143]
mov byte [ebp + edx - 0x143], cl
inc edx
cmp edx, 0xa
jae 0x100141cc
mov cl, byte [ebp - 0x144]
jmp 0x100141b0
lea eax, [ebp - 0x143]
mov byte [ebp - 0x139], bl
push eax
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp dword [esi], 0
je 0x1001429a
cmp edi, dword [esi]
jne 0x1001429a
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x1009df6c], 1
setne dl
cmp edx, 1
mov dword [0x1009df6c], edx
sete byte [0x10099c53]
call fcn.1000bea6
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x10014228
mov edx, dword [edx]
mov cl, 0x35
mov dword [ebp - 0x144], 0x5c5e6635
mov dword [ebp - 0x140], 0x47745959
mov eax, ebx
mov word [ebp - 0x13c], 0x5450
mov byte [ebp - 0x13a], bl
xor byte [ebp + eax - 0x143], cl
inc eax
cmp eax, 9
jae 0x10014264
mov cl, byte [ebp - 0x144]
jmp 0x1001424f
mov byte [ebp - 0x13a], bl
mov cl, 0x7e
mov dword [ebp - 0x134], 0xd17337e
mov eax, ebx
mov word [ebp - 0x130], 0x1d
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x10014794
mov cl, byte [ebp - 0x134]
jmp 0x10014281
cmp dword [esi + 4], 0
je 0x10014396
cmp edi, dword [esi + 4]
jne 0x10014396
mov esi, dword [0x10099bc8]
xor eax, eax
cmp dword [0x1009df70], 1
setne al
mov dword [0x1009df70], eax
test esi, esi
je 0x100142fc
mov esi, dword [esi + 0xc]
test esi, esi
je 0x100142fc
test eax, eax
je 0x100142f2
cmp dword [esi], 0
je 0x100142fc
push 4
push dword [esi]
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100142fc
mov ecx, dword [esi]
push 1
call dword [0x10088fcc]
jmp 0x100142fc
sub esp, 0xc
mov ecx, esi
call fcn.1001140d
mov edx, dword [0x1009df70]
lea ecx, [ebp - 0x164]
call fcn.1000bea6
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x10014317
mov ecx, dword [ecx]
mov dl, 9
mov dword [ebp - 0x144], 0x676c4e09
mov dword [ebp - 0x140], 0x605f6c60
mov eax, ebx
mov dword [ebp - 0x13c], 0x656b607a
mov word [ebp - 0x138], 0x6c
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 0xc
jae 0x10014357
mov dl, byte [ebp - 0x144]
jmp 0x10014342
mov byte [ebp - 0x137], bl
mov dl, 0x30
mov dword [ebp - 0x134], 0x43597d30
mov eax, ebx
mov word [ebp - 0x130], 0x53
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x10014389
mov dl, byte [ebp - 0x134]
jmp 0x10014374
lea eax, [ebp - 0x114]
push eax
push ecx
jmp 0x1001479c
cmp dword [esi + 8], 0
je 0x1001443d
cmp edi, dword [esi + 8]
jne 0x1001443d
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x1009df78], 1
setne dl
mov dword [0x1009df78], edx
call fcn.1000bea6
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x100143d0
mov edx, dword [edx]
mov cl, 0xe
mov dword [ebp - 0x144], 0x606b5c0e
mov dword [ebp - 0x140], 0x4d7c6b6a
mov eax, ebx
mov dword [ebp - 0x13c], 0x6b7e6f
xor byte [ebp + eax - 0x143], cl
inc eax
cmp eax, 0xa
jae 0x10014407
mov cl, byte [ebp - 0x144]
jmp 0x100143f2
mov byte [ebp - 0x139], bl
mov cl, 0x58
mov dword [ebp - 0x134], 0x2b311558
mov eax, ebx
mov word [ebp - 0x130], 0x3b
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x10014794
mov cl, byte [ebp - 0x134]
jmp 0x10014424
cmp dword [esi + 0xc], 0
je 0x10014502
cmp edi, dword [esi + 0xc]
jne 0x10014502
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x1009df7c], 1
setne dl
mov dword [0x1009df7c], edx
call fcn.1000bea6
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x10014477
mov edx, dword [edx]
mov cl, 0x6f
mov dword [ebp - 0x148], 0x10e3d6f
mov dword [ebp - 0x144], 0x8010604
mov eax, ebx
mov dword [ebp - 0x140], 0xa09092a
mov word [ebp - 0x13c], 0x1b0c
mov byte [ebp - 0x13a], bl
xor byte [ebp + eax - 0x147], cl
inc eax
cmp eax, 0xd
jae 0x100144bd
mov cl, byte [ebp - 0x148]
jmp 0x100144a8
mov byte [ebp - 0x13a], bl
mov cl, 0x3a
mov dword [ebp - 0x134], 0x4953773a
mov eax, ebx
mov word [ebp - 0x130], 0x59
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x100144ef
mov cl, byte [ebp - 0x134]
jmp 0x100144da
lea eax, [ebp - 0x114]
push eax
push edx
lea eax, [ebp - 0x147]
jmp 0x100147a2
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x100146a1
cmp edi, ecx
jne 0x100146a1
call fcn.1000ddb4
mov edi, eax
cmp edi, 0x17
ja 0x100147c4
cmp edi, dword [0x1009df74]
je 0x100147c4
mov dword [0x1009df74], edi
mov edx, edi
mov ecx, dword [esi + 0x14]
call fcn.1000dd91
mov ecx, ebx
push edi
cmp edi, 0xa
jge 0x10014585
movaps xmm0, xmmword [0x1008a8f0]
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x13c], 0x3339676f
mov word [ebp - 0x138], 0x33
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0x14
jb 0x1001456a
mov byte [ebp - 0x137], bl
jmp 0x100145bc
movaps xmm0, xmmword [0x1008ab90]
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x13c], 0x61616b35
mov byte [ebp - 0x138], bl
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0x13
jb 0x100145a3
mov byte [ebp - 0x138], bl
sub esp, 0x18
lea eax, [ebp - 0x14b]
mov ecx, esp
push eax
call fcn.10004179
lea eax, [ebp - 0x164]
push eax
call fcn.10003c43
add esp, 0x20
lea ecx, [ebp - 0x12c]
push eax
call fcn.10005f9c
push ebx
push 1
lea ecx, [ebp - 0x164]
call fcn.1000402e
mov ecx, dword [esi + 0x1c]
lea edx, [ebp - 0x12c]
call fcn.1000de6f
push ecx
push edi
call fcn.10014ab6
mov edx, dword [0x1009df74]
lea ecx, [ebp - 0x164]
call fcn.1000bea6
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x10014626
mov edx, dword [edx]
mov cl, 8
mov dword [ebp - 0x140], 0x65694f08
mov dword [ebp - 0x13c], 0x65615c6d
mov eax, ebx
mov word [ebp - 0x138], 0x6d
xor byte [ebp + eax - 0x13f], cl
inc eax
cmp eax, 8
jae 0x1001465c
mov cl, byte [ebp - 0x140]
jmp 0x10014647
mov byte [ebp - 0x137], bl
mov cl, 0x62
mov dword [ebp - 0x134], 0x110b2f62
mov eax, ebx
mov word [ebp - 0x130], 1
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x1001468e
mov cl, byte [ebp - 0x134]
jmp 0x10014679
lea eax, [ebp - 0x114]
push eax
push edx
lea eax, [ebp - 0x13f]
jmp 0x100147a2
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x100147c4
cmp edi, ecx
jne 0x100147c4
call fcn.1000ddb4
mov edi, eax
cmp edi, 0x14
ja 0x100147c4
cmp edi, dword [0x1009df80]
je 0x100147c4
mov dword [0x1009df80], edi
mov edx, edi
mov ecx, dword [esi + 0x18]
call fcn.1000dd91
mov ecx, dword [esi + 0x20]
mov edx, edi
call fcn.1000de92
movd xmm0, dword [0x1009df80]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x1008a0b0]
movss dword [0x10095a9c], xmm0
call fcn.10013cfb
mov edx, dword [0x1009df80]
lea ecx, [ebp - 0x164]
call fcn.1000bea6
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x10014725
mov edx, dword [edx]
mov cl, 0x52
mov dword [ebp - 0x144], 0x3f331152
mov dword [ebp - 0x140], 0x332037
mov eax, ebx
mov dword [ebp - 0x13c], 0x37353c33
mov byte [ebp - 0x138], bl
xor byte [ebp + eax - 0x143], cl
inc eax
cmp eax, 0xb
jae 0x10014762
mov cl, byte [ebp - 0x144]
jmp 0x1001474d
mov byte [ebp - 0x138], bl
mov cl, 0x58
mov dword [ebp - 0x134], 0x2b311558
mov eax, ebx
mov word [ebp - 0x130], 0x3b
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x10014794
mov cl, byte [ebp - 0x134]
jmp 0x1001477f
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]
push ebx
push 1
lea ecx, [ebp - 0x164]
call fcn.1000402e
push ebx
push 1
lea ecx, [ebp - 0x12c]
call fcn.1000402e
mov al, 1
jmp 0x100147d8
xor al, al
call fcn.1003bf4a
ret 8