Function at 0x10009ec0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10041cf7
mov eax, dword fs:[0]
push eax
sub esp, 0xf4
mov eax, dword [0x1005b034]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor ebx, ebx
mov edi, 0xf
mov dword [0x101742bc], ebx
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
push str.Xor_PlusSettingsFiles.rg
lea eax, [ebp - 0x100]
push eax
mov dword [ebp - 4], ebx
call fcn.1000aba0
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x100]
mov ecx, dword [ecx + 4]
mov edx, dword [ebp + ecx - 0xf4]
lea ecx, [ebp + ecx - 0x100]
and dl, 6
movsx eax, dl
neg eax
sbb eax, eax
not eax
test ecx, eax
je 0x1000a0d7
push 0xa
call dword [sym.imp.MSVCP100.dll_public:_char___thiscall_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const]
movzx ecx, al
push ecx
lea edx, [ebp - 0x100]
push edx
lea ecx, [ebp - 0x2c]
call fcn.10007f40
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + eax + 0xc]
add ecx, eax
and dl, 6
movsx eax, dl
add esp, 8
neg eax
sbb eax, eax
not eax
test ecx, eax
je 0x1000a0cd
jmp 0x10009f8b
mov edi, 0xf
sub esp, 0x1c
mov ecx, esp
mov dword [ecx + 0x10], ebx
mov dword [ecx + 0x14], edi
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x4c], esp
mov byte [ecx], bl
push edx
or eax, 0xffffffff
xor ebx, ebx
call fcn.100031a0
lea ecx, [ebp - 0x48]
call fcn.10009a20
add esp, 0x1c
mov esi, eax
cmp esi, 0x10168a64
je 0x1000a02d
cmp dword [0x10168a78], 0x10
jb 0x10009fd6
mov eax, dword [0x10168a64]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
xor ebx, ebx
mov dword [0x10168a78], edi
mov edi, 0x10
mov dword [0x10168a74], ebx
mov byte [0x10168a64], bl
cmp dword [esi + 0x14], edi
jae 0x1000a00a
mov eax, dword [esi + 0x10]
inc eax
push eax
push esi
push 0x10168a64
call dword [sym.imp.MSVCR100.dll_memmove]
add esp, 0xc
jmp 0x1000a014
mov ecx, dword [esi]
mov dword [0x10168a64], ecx
mov dword [esi], ebx
mov edx, dword [esi + 0x10]
mov dword [0x10168a74], edx
mov eax, dword [esi + 0x14]
mov dword [0x10168a78], eax
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
jmp 0x1000a032
mov edi, 0x10
mov byte [ebp - 4], 1
cmp dword [ebp - 0x34], edi
jb 0x1000a048
mov ecx, dword [ebp - 0x48]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [0x10168a64]
cmp dword [0x10168a78], edi
jae 0x1000a05a
mov eax, 0x10168a64
mov ecx, 0x10168950
mov dword [0x101742c0], eax
call fcn.1000a180
xor edi, edi
mov eax, 0x1004df8f
mov esi, 0x10168a80
call fcn.10002d20
mov edx, dword [ebp - 0x100]
mov ecx, dword [edx + 4]
inc dword [0x101742bc]
push 0xa
lea ecx, [ebp + ecx - 0x100]
call dword [sym.imp.MSVCP100.dll_public:_char___thiscall_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const]
movzx eax, al
push eax
lea ecx, [ebp - 0x100]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.10007f40
mov edx, dword [eax]
mov ecx, dword [edx + 4]
add ecx, eax
mov eax, dword [ecx + 0xc]
and al, 6
movsx edx, al
add esp, 8
neg edx
sbb edx, edx
not edx
xor ebx, ebx
test ecx, edx
jne 0x10009f86
mov dword [0x10176540], 1
lea eax, [ebp - 0x100]
push eax
call fcn.100067c0
cmp dword [0x101742bc], ebx
jle 0x1000a0fb
push ebx
push ebx
push ebx
push 0x10009e20
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edx, dword [ebp - 0x100]
mov eax, dword [edx + 4]
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x4c], ecx
mov dword [ebp + eax - method.std::basic_ifstream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 3
call fcn.10006830
mov byte [ebp - 4], bl
mov ecx, dword [ebp - 0x100]
mov edx, dword [ecx + 4]
mov eax, dword [sym.imp.MSVCP100.dll_const_std::basic_istream_char__struct_std::char_traits_char__::vftable]
lea ecx, [ebp - 0x98]
mov dword [ebp + edx - 0x100], eax
call dword [sym.imp.MSVCP100.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
cmp dword [ebp - 0x18], 0x10
jb 0x1000a15e
mov ecx, dword [ebp - 0x2c]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1003e6b0
mov esp, ebp
pop ebp
ret