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

Disassembly:
push 0x158
mov eax, 0x10072e1e
call fcn.1003bd50
mov esi, ecx
mov edi, dword [ebp + 8]
mov eax, dword [esi + 0x10]
mov dword [0x10098d0c], eax
test edi, edi
je 0x100145a1
cmp dword [ebp + 0xc], 1
je 0x10013eb1
cmp dword [ebp + 0xc], 4
je 0x10013eb1
cmp dword [ebp + 0xc], 0x100
jne 0x100145a1
push 0x104
xor ebx, ebx
lea eax, [ebp - 0x114]
push ebx
push eax
call fcn.10053790
add esp, 0xc
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 4], ebx
mov eax, 0x10095e30
cmp dword [0x10095e44], 0x10
mov dword [ebp - 0x11c], ebx
cmovae eax, dword [0x10095e30]
push eax
lea eax, [ebp - 0x114]
mov byte [ebp - 0x12c], bl
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x39
pop ebx
mov cl, 0x56
mov dword [ebp - 0x144], 0x22261956
mov byte [ebp - 0x140], 0x3f
xor edx, edx
mov byte [ebp - 0x13f], bl
mov dword [ebp - 0x13e], 0x381f7838
mov word [ebp - 0x13a], 0x3f
xor cl, byte [ebp + edx - 0x143]
mov byte [ebp + edx - 0x143], cl
inc edx
cmp edx, 0xa
jae 0x10013f4f
mov cl, byte [ebp - 0x144]
jmp 0x10013f33
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 0x1001402f
cmp edi, dword [esi]
jne 0x1001402f
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x1009cf64], 1
setne dl
cmp edx, 1
mov dword [0x1009cf64], edx
sete byte [0x10098c4b]
call fcn.1000be98
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x10013fac
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x2b291142
mov dl, 0x42
mov dword [ebp - 0x140], 0x30032e2e
mov word [ebp - 0x13c], 0x2327
mov eax, ebx
mov byte [ebp - 0x13a], bl
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 9
jae 0x10013fea
mov dl, byte [ebp - 0x144]
jmp 0x10013fd5
mov byte [ebp - 0x13a], bl
mov dl, 0x1b
mov dword [ebp - 0x134], 0x6872561b
mov eax, ebx
mov word [ebp - 0x130], 0x78
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x1001401c
mov dl, byte [ebp - 0x134]
jmp 0x10014007
lea eax, [ebp - 0x114]
push eax
push ecx
lea eax, [ebp - 0x143]
jmp 0x10014453
cmp dword [esi + 4], 0
je 0x10014124
cmp edi, dword [esi + 4]
jne 0x10014124
mov esi, dword [0x10098bc8]
xor eax, eax
cmp dword [0x1009cf68], 1
setne al
mov dword [0x1009cf68], eax
test esi, esi
je 0x10014091
mov esi, dword [esi + 0xc]
test esi, esi
je 0x10014091
test eax, eax
je 0x10014087
cmp dword [esi], 0
je 0x10014091
push 4
push dword [esi]
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10014091
mov ecx, dword [esi]
push 1
call dword [0x10087fcc]
jmp 0x10014091
sub esp, 0xc
mov ecx, esi
call fcn.10011162
mov edx, dword [0x1009cf68]
lea ecx, [ebp - 0x164]
call fcn.1000be98
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x100140ac
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0xc072562
mov dl, 0x62
mov dword [ebp - 0x140], 0xb34070b
mov dword [ebp - 0x13c], 0xe000b11
mov eax, ebx
mov word [ebp - 0x138], 7
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 0xc
jae 0x100140ee
mov dl, byte [ebp - 0x144]
jmp 0x100140d9
mov byte [ebp - 0x137], bl
mov dl, 0x45
mov dword [ebp - 0x134], 0x362c0845
mov eax, ebx
mov word [ebp - 0x130], 0x26
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x1001401c
mov dl, byte [ebp - 0x134]
jmp 0x1001410b
cmp dword [esi + 8], 0
je 0x100141cd
cmp edi, dword [esi + 8]
jne 0x100141cd
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x1009cf70], 1
setne dl
mov dword [0x1009cf70], edx
call fcn.1000be98
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x1001415e
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x5f546331
mov dl, 0x31
mov dword [ebp - 0x140], 0x72435455
mov dword [ebp - 0x13c], 0x544150
mov eax, ebx
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 0xa
jae 0x10014197
mov dl, byte [ebp - 0x144]
jmp 0x10014182
mov byte [ebp - 0x139], bl
mov dl, 0x53
mov dword [ebp - 0x134], 0x203a1e53
mov eax, ebx
mov word [ebp - 0x130], 0x30
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x1001401c
mov dl, byte [ebp - 0x134]
jmp 0x100141b4
cmp dword [esi + 0xc], 0
je 0x100142a4
cmp edi, dword [esi + 0xc]
jne 0x100142a4
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x1009cf74], 1
setne dl
mov dword [0x1009cf74], edx
call fcn.1000be98
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x10014207
mov esi, dword [esi]
push 0x5c
pop edx
push 0xd
mov byte [ebp - 0x148], bl
xor eax, eax
mov dword [ebp - 0x147], 0x5257586b
mov dword [ebp - 0x143], 0x7c5e5750
mov word [ebp - 0x13f], 0x5f5f
mov byte [ebp - 0x13d], dl
mov word [ebp - 0x13c], 0x4d5a
mov byte [ebp - 0x13a], 0
pop ecx
xor byte [ebp + eax - 0x147], bl
inc eax
cmp eax, ecx
jae 0x1001425c
mov bl, byte [ebp - 0x148]
jmp 0x10014248
xor ebx, ebx
mov byte [ebp - 0x134], dl
mov byte [ebp - 0x13a], bl
mov eax, ebx
mov dword [ebp - 0x133], 0x3f2f3511
mov byte [ebp - 0x12f], bl
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x10014291
mov dl, byte [ebp - 0x134]
jmp 0x1001427c
lea eax, [ebp - 0x114]
push eax
push esi
lea eax, [ebp - 0x147]
jmp 0x10014453
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x1001447a
cmp edi, ecx
jne 0x1001447a
call fcn.1000db06
mov edi, eax
cmp edi, 0x17
ja 0x1001458d
cmp edi, dword [0x1009cf6c]
je 0x1001458d
mov dword [0x1009cf6c], edi
mov edx, edi
mov ecx, dword [esi + 0x14]
call fcn.1000dae3
push edi
cmp edi, 0xa
jge 0x10014338
movaps xmm0, xmmword [0x10089a70]
mov byte [ebp - 0x139], bl
mov byte [ebp - 0x138], bl
xor ebx, ebx
movups xmmword [ebp - 0x14c], xmm0
mov word [ebp - 0x13c], 0x6d65
mov ecx, ebx
mov byte [ebp - 0x13a], 0x33
mov byte [ebp - 0x137], bl
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0x14
jb 0x1001431d
mov byte [ebp - 0x137], bl
jmp 0x10014373
movaps xmm0, xmmword [0x100897d0]
xor ebx, ebx
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x13c], 0x40404a14
mov ecx, ebx
mov byte [ebp - 0x138], bl
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0x13
jb 0x1001435a
mov byte [ebp - 0x138], bl
sub esp, 0x18
lea eax, [ebp - 0x14b]
mov ecx, esp
push eax
call fcn.1000416d
lea eax, [ebp - 0x164]
push eax
call fcn.10003c37
add esp, 0x20
lea ecx, [ebp - 0x12c]
push eax
call fcn.10005f8b
push ebx
push 1
lea ecx, [ebp - 0x164]
call fcn.10004022
mov ecx, dword [esi + 0x1c]
lea edx, [ebp - 0x12c]
call fcn.1000dbc1
push ecx
push edi
call fcn.10014881
mov edx, dword [0x1009cf6c]
lea ecx, [ebp - 0x164]
call fcn.1000be98
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x100143dd
mov edx, dword [edx]
mov cl, 0x4b
mov dword [ebp - 0x140], 0x262a0c4b
mov dword [ebp - 0x13c], 0x26221f2e
mov eax, ebx
mov word [ebp - 0x138], 0x2e
xor byte [ebp + eax - 0x13f], cl
inc eax
cmp eax, 8
jae 0x10014413
mov cl, byte [ebp - 0x140]
jmp 0x100143fe
mov byte [ebp - 0x137], bl
mov cl, 0x29
mov dword [ebp - 0x134], 0x5a406429
mov eax, ebx
mov word [ebp - 0x130], 0x4a
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x10014445
mov cl, byte [ebp - 0x134]
jmp 0x10014430
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.10004022
jmp 0x1001458f
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x1001458d
cmp edi, ecx
jne 0x1001458d
call fcn.1000db06
mov edi, eax
cmp edi, 0x14
ja 0x1001458d
cmp edi, dword [0x1009cf78]
je 0x1001458d
mov dword [0x1009cf78], edi
mov edx, edi
mov ecx, dword [esi + 0x18]
call fcn.1000dae3
mov ecx, dword [esi + 0x20]
mov edx, edi
call fcn.1000dbe4
movd xmm0, dword [0x1009cf78]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x100890a0]
movss dword [0x10094a9c], xmm0
call fcn.10013a61
mov edx, dword [0x1009cf78]
lea ecx, [ebp - 0x164]
call fcn.1000be98
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x100144fe
mov edx, dword [edx]
push 0xd
pop ecx
mov bl, 0x6a
mov dword [ebp - 0x144], 0x70b296a
mov dword [ebp - 0x140], 0x380b180f
xor eax, eax
mov word [ebp - 0x13c], 0x40b
mov byte [ebp - 0x13a], cl
mov word [ebp - 0x139], 0xf
xor byte [ebp + eax - 0x143], bl
inc eax
cmp eax, 0xb
jae 0x10014546
mov bl, byte [ebp - 0x144]
jmp 0x10014531
xor ebx, ebx
mov byte [ebp - 0x134], cl
mov byte [ebp - 0x138], bl
mov eax, ebx
mov dword [ebp - 0x133], 0x6e7e6440
mov byte [ebp - 0x12f], bl
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x1001457b
mov cl, byte [ebp - 0x134]
jmp 0x10014566
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x143]
jmp 0x10014452
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x12c]
call fcn.10004022
mov al, 1
jmp 0x100145a3
xor al, al
call fcn.1003bcfa
ret 8