Function at 0x1000d9f0
Capabilities:
Create directory
Create thread
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x48
mov eax, dword [0x100d1400]
xor eax, esp
mov dword [esp + 0x44], eax
cmp dword [ebp + 0xc], 1
push esi
mov esi, dword [ebp + 8]
push edi
jne 0x1000dc3f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x1000dc69
push esi
call dword [sym.imp.KERNEL32.dll_DisableThreadLibraryCalls]
mov dword [0x100d21a8], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edi, eax
mov dword [esp + 0x40], 0
lea eax, [esp + 0x3c]
mov dword [0x100d21b0], edi
push eax
push 0x1000d930
mov dword [esp + 0x44], edi
call dword [sym.imp.USER32.dll_EnumWindows]
mov ecx, dword [esp + 0x40]
test ecx, ecx
jne 0x1000da7a
push edi
push str.FindWindowById
push str._s:_handle_window_by_process_id__lu_not_found._n
call fcn.10065d50
mov ecx, dword [esp + 0x4c]
add esp, 0xc
cmp dword [0x100d21a8], 0
mov dword [0x100d21ac], ecx
je 0x1000dc69
cmp dword [0x100d21b0], 0
je 0x1000dc69
test ecx, ecx
je 0x1000dc69
push str.appdata
lea eax, [esp + 0x4c]
mov dword [esp + 0x48], 0
push eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x50], 0
push eax
call fcn.10081bbc
add esp, 0xc
test eax, eax
jne 0x1000dc57
mov edx, dword [esp + 0x44]
test edx, edx
je 0x1000dc57
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1000dae2
sub ecx, esi
push ecx
push edx
mov ecx, 0x100d21b4
call fcn.1000dc80
mov edx, dword [0x100d21c8]
mov eax, edx
mov ecx, dword [0x100d21c4]
sub eax, ecx
push 0x11
push str.Hpp_Hack_Reload_
cmp eax, 0x11
jb 0x1000db3b
cmp edx, 0xf
lea eax, [ecx + 0x11]
mov esi, 0x100d21b4
mov dword [0x100d21c4], eax
cmova esi, dword [0x100d21b4]
add esi, ecx
push esi
call fcn.1007d0d0
add esp, 0xc
mov byte [esi + 0x11], 0
jmp 0x1000db50
mov byte [esp + 0x44], 0
mov ecx, 0x100d21b4
push dword [esp + 0x44]
push 0x11
call fcn.100089f0
cmp dword [0x100d21c8], 0xf
mov eax, 0x100d21b4
push 0
cmova eax, dword [0x100d21b4]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push dword [esp + 0x44]
call fcn.10081811
mov ecx, dword [0x100d21c4]
mov eax, 0x7fffffff
sub eax, ecx
add esp, 4
cmp eax, 9
jb 0x1000dc72
cmp dword [0x100d21c8], 0xf
mov eax, 0x100d21b4
push 9
cmova eax, dword [0x100d21b4]
push str.debug.log
push ecx
push eax
push ecx
push dword [esp + 0x50]
lea ecx, [esp + 0x28]
call fcn.1000ddb0
mov ecx, dword [0x100d21e0]
cmp ecx, 0xf
jbe 0x1000dbf1
mov eax, dword [0x100d21cc]
inc ecx
cmp ecx, 0x1000
jb 0x1000dbe7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000dc77
mov eax, edx
push ecx
push eax
call fcn.1007a86d
add esp, 8
movups xmm0, xmmword [esp + 0x10]
push dword [0x100d21b0]
movups xmmword [0x100d21cc], xmm0
push 0
movq xmm0, qword [esp + 0x28]
push 0x1fffff
movq qword [0x100d21dc], xmm0
call dword [sym.imp.KERNEL32.dll_OpenProcess]
push 0x80
push eax
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
push 0
push 0
push 0
push 0x1000d9a0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov ecx, dword [esp + 0x4c]
mov eax, 1
pop edi
pop esi
xor ecx, esp
call fcn.1007a635
mov esp, ebp
pop ebp
ret 0xc
push str.GetSettingsPath
push str.___s:_failed_to_get_settings_path._n
call fcn.10065d50
add esp, 8
push 0
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibraryAndExitThread]
call fcn.100017b0
call fcn.100809b1
int3