Function at 0x461b06
Capabilities:
Check if file exists
Create thread

Disassembly:
push 0x2a4
mov eax, 0x5cbddf
call fcn.00506dfb
mov edi, ecx
mov dword [ebp - 0x290], edi
lea ecx, [ebp - 0x2b0]
call fcn.0042ca82
and dword [ebp - 4], 0
call fcn.0041279d
push eax
lea ecx, [ebp - 0x294]
call fcn.00411d94
push ecx
xor ebx, ebx
mov dword [ebp - 0x298], esp
mov ecx, esp
inc ebx
push str.config_softmasteruserinfo.cfg
mov byte [ebp - 4], bl
call fcn.00413f09
push ecx
push esp
lea ecx, [ebp - 0x2b0]
mov byte [ebp - 4], 2
call fcn.0043944c
lea eax, [ebp - 0x284]
mov byte [ebp - 4], bl
push eax
lea ecx, [ebp - 0x2b0]
call fcn.00434114
push eax
lea ecx, [ebp - 0x294]
mov byte [ebp - 4], 3
call fcn.00411f3a
mov ecx, dword [ebp - 0x284]
mov byte [ebp - 4], bl
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov esi, dword [ebp - 0x294]
push esi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x461dc7
push 0
push ebx
push str.UserInfo
push str.config_softmasteruserinfo.cfg
lea ecx, [ebp - 0x280]
call fcn.00451616
push 0
push 0x61aa5c
push str.Login
lea ecx, [ebp - 0x280]
mov byte [ebp - 4], 4
call fcn.004802a6
lea ecx, [ebp - 0x280]
test eax, eax
je 0x461dc2
and dword [ebp - 0x284], 0
lea eax, [ebp - 0x288]
push 0x61aa58
push str.Login
push eax
call fcn.0048f0f8
push 0x60de38
push str.Login
lea eax, [ebp - 0x28c]
mov byte [ebp - 4], 5
push eax
lea ecx, [ebp - 0x280]
call fcn.0048f0f8
mov eax, dword [ebp - 0x288]
mov byte [ebp - 4], 6
cmp dword [eax - 0xc], 0
je 0x461d8e
mov eax, dword [ebp - 0x28c]
cmp dword [eax - 0xc], 0
je 0x461d8e
add edi, 0x30
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0x290]
mov byte [eax + 0x2c], bl
mov ebx, eax
lea eax, [ebp - 0x288]
push eax
lea ecx, [ebx + 0x54]
call fcn.00411f3a
lea eax, [ebp - 0x28c]
lea ecx, [ebx + 0x58]
push eax
call fcn.00411f3a
lea ecx, [ebx + 0x5c]
push 0x61a08c
call fcn.0041421f
push edi
mov byte [ebx + 0x2c], 0
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x5f1b30
lea ecx, [ebp - 0x298]
call fcn.00413f09
push eax
push 0
push ecx
mov edi, esp
mov dword [ebp - 0x290], esp
mov dword [ebp - 0x284], edi
mov eax, dword [ebp - 0x28c]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
push eax
call fcn.00412393
add eax, 0x10
mov dword [edi], eax
mov edi, esp
mov byte [ebp - 4], 8
mov dword [ebp - 0x284], edi
mov eax, dword [ebp - 0x288]
add eax, 0xfffffff0
push eax
call fcn.00412393
pop ecx
add eax, 0x10
mov ecx, ebx
mov dword [edi], eax
mov byte [ebp - 4], 7
call fcn.004a5fd5
mov ecx, dword [ebp - 0x298]
add ecx, 0xfffffff0
mov dword [ebp - 0x284], eax
mov byte [ebp - 4], 6
call fcn.00412ac4
cmp dword [ebp - 0x284], 0
jne 0x461d8e
mov ecx, dword [ebx + 4]
push 0
push 0
push 0x81e
call fcn.005242b3
mov eax, dword [ebx + 0x5c]
cmp dword [eax - 0xc], 0
je 0x461d66
push 0
push eax
call dword [sym.imp.USER32.dll_FindWindowW]
mov edi, eax
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x461d66
push 0
push 0
push 0x820
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
push eax
push eax
push ebx
push 0x4931a4
push eax
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edi, eax
test edi, edi
je 0x461d8e
push 0xffffffffffffffff
push edi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x28c]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
mov ecx, dword [ebp - 0x288]
lea ecx, [ecx - 0x10]
call fcn.00412ac4
lea ecx, [ebp - 0x280]
call fcn.00456baa
xor ebx, ebx
cmp dword [ebp - 0x284], ebx
sete bl
jmp 0x461dc7
call fcn.00456baa
lea ecx, [esi - 0x10]
call fcn.00412ac4
lea ecx, [ebp - 0x2b0]
call fcn.0042e60b
mov ecx, dword [ebp - 0x2a0]
add ecx, 0xfffffff0
call fcn.00412ac4
mov eax, ebx
call fcn.00506da5
ret