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

Disassembly:
push 0x158
mov eax, 0x10035766
call fcn.10034586
mov esi, ecx
mov ebx, dword [ebp + 8]
mov eax, dword [esi + 0x10]
mov dword [0x100461a4], eax
test ebx, ebx
je 0x1001031d
cmp dword [ebp + 0xc], 1
je 0x1000fc54
cmp dword [ebp + 0xc], 4
je 0x1000fc54
cmp dword [ebp + 0xc], 0x100
jne 0x1001031d
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 [0x1004547c], ecx
mov dword [ebp - 0x11c], eax
mov byte [ebp - 0x12c], al
mov eax, 0x10045468
cmova eax, dword [0x10045468]
push eax
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov cl, 0x7d
mov dword [ebp - 0x144], 0x90d327d
mov dword [ebp - 0x140], 0x53131214
xor eax, eax
mov dword [ebp - 0x13c], 0x141334
xor byte [ebp + eax - 0x143], cl
inc eax
cmp eax, 0xa
jae 0x1000fcee
mov cl, byte [ebp - 0x144]
jmp 0x1000fcd9
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 0x1000fdbb
cmp ebx, dword [esi]
jne 0x1000fdbb
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x1004638c], 1
setne dl
mov dword [0x1004638c], edx
mov byte [0x10046102], dl
call fcn.10007e63
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x1000fd47
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x77754d1e
mov dl, 0x1e
mov dword [ebp - 0x140], 0x6c5f7272
mov word [ebp - 0x13c], 0x7f7b
mov eax, ebx
mov byte [ebp - 0x13a], bl
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 9
jae 0x1000fd85
mov dl, byte [ebp - 0x144]
jmp 0x1000fd70
mov byte [ebp - 0x13a], bl
mov dl, 0x23
mov dword [ebp - 0x134], 0x504a6e23
mov eax, ebx
mov word [ebp - 0x130], 0x40
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x100102d5
mov dl, byte [ebp - 0x134]
jmp 0x1000fda2
cmp dword [esi + 4], 0
je 0x1000fec7
cmp ebx, dword [esi + 4]
jne 0x1000fec7
mov esi, dword [0x1007cfc8]
xor eax, eax
cmp dword [0x10046390], 1
setne al
mov dword [0x10046390], eax
test esi, esi
je 0x1000fe1d
mov esi, dword [esi + 0xc]
test esi, esi
je 0x1000fe1d
test eax, eax
je 0x1000fe13
cmp dword [esi], 0
je 0x1000fe1d
push 4
push dword [esi]
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x1000fe1d
mov ecx, dword [esi]
push 1
call dword [0x1003cc20]
jmp 0x1000fe1d
sub esp, 0xc
mov ecx, esi
call fcn.1000d0c3
mov edx, dword [0x10046390]
lea ecx, [ebp - 0x164]
call fcn.10007e63
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x1000fe38
mov ecx, dword [ecx]
push 0x32
pop ebx
mov dl, 0x64
mov dword [ebp - 0x144], 0xa012364
mov word [ebp - 0x140], 0x10d
xor eax, eax
mov byte [ebp - 0x13e], bl
mov dword [ebp - 0x13d], 0x60d170d
mov word [ebp - 0x139], pe_nt_image_headers32
mov byte [ebp - 0x137], 0
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 0xc
jae 0x1000fe87
mov dl, byte [ebp - 0x144]
jmp 0x1000fe72
xor edx, edx
mov byte [ebp - 0x134], bl
mov byte [ebp - 0x137], dl
mov eax, edx
mov dword [ebp - 0x133], 0x51415b7f
mov byte [ebp - 0x12f], dl
xor byte [ebp + eax - 0x133], bl
inc eax
cmp eax, 4
jae 0x1000febc
mov bl, byte [ebp - 0x134]
jmp 0x1000fea7
mov byte [ebp - 0x12f], dl
jmp 0x100102db
cmp dword [esi + 8], 0
je 0x1000ff70
cmp ebx, dword [esi + 8]
jne 0x1000ff70
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x10046398], 1
setne dl
mov dword [0x10046398], edx
call fcn.10007e63
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x1000ff01
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x2093e6c
mov dl, 0x6c
mov dword [ebp - 0x140], 0x2f1e0908
mov dword [ebp - 0x13c], 0x91c0d
mov eax, ebx
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 0xa
jae 0x1000ff3a
mov dl, byte [ebp - 0x144]
jmp 0x1000ff25
mov byte [ebp - 0x139], bl
mov dl, 0x44
mov dword [ebp - 0x134], 0x372d0944
mov eax, ebx
mov word [ebp - 0x130], 0x27
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x100102d5
mov dl, byte [ebp - 0x134]
jmp 0x1000ff57
cmp dword [esi + 0xc], 0
je 0x1001003d
cmp ebx, dword [esi + 0xc]
jne 0x1001003d
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x1004639c], 1
setne dl
mov dword [0x1004639c], edx
call fcn.10007e63
mov edx, eax
cmp dword [edx + 0x14], 0xf
jbe 0x1000ffaa
mov edx, dword [edx]
xor ebx, ebx
mov dword [ebp - 0x148], 0x3f300351
mov cl, 0x51
mov dword [ebp - 0x144], 0x363f383a
mov dword [ebp - 0x140], 0x34373714
mov eax, ebx
mov word [ebp - 0x13c], 0x2532
mov byte [ebp - 0x13a], bl
xor byte [ebp + eax - 0x147], cl
inc eax
cmp eax, 0xd
jae 0x1000fff2
mov cl, byte [ebp - 0x148]
jmp 0x1000ffdd
mov byte [ebp - 0x13a], bl
mov cl, 1
mov dword [ebp - 0x134], 0x72684c01
mov eax, ebx
mov word [ebp - 0x130], 0x62
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x10010024
mov cl, byte [ebp - 0x134]
jmp 0x1001000f
lea eax, [ebp - 0x114]
mov byte [ebp - 0x12f], bl
push eax
push edx
lea eax, [ebp - 0x147]
jmp 0x100102e9
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x100101e0
cmp ebx, ecx
jne 0x100101e0
call fcn.10009d67
mov edi, eax
cmp edi, 0x17
ja 0x10010302
cmp edi, dword [0x10046394]
je 0x10010302
mov dword [0x10046394], edi
mov edx, edi
mov ecx, dword [esi + 0x14]
call fcn.10009d44
xor ebx, ebx
mov ecx, ebx
push edi
cmp edi, 0xa
jge 0x100100c2
movaps xmm0, xmmword [0x1003e110]
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x13c], 0xf055b53
mov word [ebp - 0x138], 0xf
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0x14
jb 0x100100a7
mov byte [ebp - 0x137], bl
jmp 0x100100f9
movaps xmm0, xmmword [0x1003e5c0]
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x13c], 0x12121846
mov byte [ebp - 0x138], bl
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0x13
jb 0x100100e0
mov byte [ebp - 0x138], bl
sub esp, 0x18
lea eax, [ebp - 0x14b]
mov ecx, esp
push eax
call fcn.10002604
lea eax, [ebp - 0x164]
push eax
call fcn.10004864
add esp, 0x20
lea ecx, [ebp - 0x12c]
push eax
call fcn.1000539f
lea ecx, [ebp - 0x164]
call fcn.10002410
mov ecx, dword [esi + 0x1c]
lea edx, [ebp - 0x12c]
call fcn.10009e29
push ecx
push edi
call fcn.10010613
mov edx, dword [0x10046394]
lea ecx, [ebp - 0x164]
call fcn.10007e63
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x10010160
mov ecx, dword [ecx]
mov dl, 0x6e
mov dword [ebp - 0x140], 0x30f296e
mov dword [ebp - 0x13c], 0x3073a0b
mov eax, ebx
mov word [ebp - 0x138], 0xb
xor byte [ebp + eax - 0x13f], dl
inc eax
cmp eax, 8
jae 0x10010196
mov dl, byte [ebp - 0x140]
jmp 0x10010181
mov byte [ebp - 0x137], bl
mov dl, 0x43
mov dword [ebp - 0x134], 0x302a0e43
mov eax, ebx
mov word [ebp - 0x130], 0x20
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x100101c8
mov dl, byte [ebp - 0x134]
jmp 0x100101b3
lea eax, [ebp - 0x114]
mov byte [ebp - 0x12f], bl
push eax
lea eax, [ebp - 0x13f]
jmp 0x100102e8
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x10010302
cmp ebx, ecx
jne 0x10010302
call fcn.10009d67
mov edi, eax
cmp edi, 0x14
ja 0x10010302
cmp edi, dword [0x100463a0]
je 0x10010302
mov dword [0x100463a0], edi
mov edx, edi
mov ecx, dword [esi + 0x18]
call fcn.10009d44
mov ecx, dword [esi + 0x20]
mov edx, edi
call fcn.10009e4c
movd xmm0, dword [0x100463a0]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x1003dc18]
movss dword [0x100440a4], xmm0
call fcn.1000f827
mov edx, dword [0x100463a0]
lea ecx, [ebp - 0x164]
call fcn.10007e63
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
jbe 0x10010264
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x58547635
mov dl, 0x35
mov dword [ebp - 0x140], 0x67544750
mov dword [ebp - 0x13c], 0x50525b54
mov eax, ebx
mov byte [ebp - 0x138], bl
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 0xb
jae 0x100102a3
mov dl, byte [ebp - 0x144]
jmp 0x1001028e
mov byte [ebp - 0x138], 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 0x100102d5
mov dl, byte [ebp - 0x134]
jmp 0x100102c0
mov byte [ebp - 0x12f], bl
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x143]
push ecx
push eax
lea eax, [ebp - 0x133]
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x164]
call fcn.10002410
mov edx, dword [ebp - 0x118]
cmp edx, 0xf
jbe 0x10010319
mov ecx, dword [ebp - 0x12c]
inc edx
call fcn.100023e3
mov al, 1
jmp 0x1001031f
xor al, al
call fcn.10034544
ret 8