Function at 0x40c020
Capabilities:
Check for debugger via api

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x118
mov ebx, dword [ecx]
mov esi, dword [ecx + 4]
call fcn.00401710
mov eax, dword [fcn.00407e60]
mov dword [esp], 1
mov dword [ebp - 0xf8], eax
call eax
mov dword [esp], 0x409b70
mov dword [esp + 4], eax
call fcn.00409b00
mov eax, dword [0x40d0e4]
mov dword [esp + 4], str.launcher_build_date__s__gitrev__s
mov dword [esp], 0x40e270
mov dword [esp + 0xc], eax
mov eax, dword [str.Jan_29_2024_21:11:37]
mov dword [esp + 8], eax
call dword [0x40d0ec]
lea eax, [ebp - 0xd4]
mov dword [esp], eax
call fcn.0040a560
lea eax, [ebp - 0xd4]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0040a610
test al, al
je 0x40c520
cmp byte [ebp - 0x8c], 0
je 0x40c139
mov dword [esp + 4], str.Waiting_until_debugger_attaches_to_remote_process...
lea esi, [ebp - 0x80]
mov dword [esp], 0x40e270
call dword [0x40d0ec]
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ebx, dword [sym.imp.KERNEL32.dll_CheckRemoteDebuggerPresent]
jmp 0x40c100
mov dword [esp], 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 4
mov dword [ebp - 0x80], 0
call edi
mov dword [esp + 4], esi
mov dword [esp], eax
call ebx
sub esp, 8
test eax, eax
je 0x40c52c
mov ecx, dword [ebp - 0x80]
test ecx, ecx
je 0x40c0f0
mov dword [esp + 4], str.Debugger_attached__resuming
mov dword [esp], 0x40e270
call dword [0x40d0ec]
mov dword [ebp - 0xec], 0xffffffff
mov eax, dword [ebp - 0xb4]
test eax, eax
je 0x40c18f
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x40000000
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0xec], eax
sub esp, 0x1c
mov eax, dword [ebp - 0xc8]
mov dword [esp], eax
call fcn.00408610
mov dword [esp + 8], str._config
mov dword [esp + 4], 0
mov ebx, eax
mov dword [esp], eax
call sub.libavs_win32.dll_Ordinal_144
mov esi, eax
test eax, eax
je 0x40c5e2
lea eax, [ebp - 0xa4]
call fcn.004096a0
mov eax, dword [ebp - 0xec]
mov dword [esp + 0xc], 0x4098e0
mov dword [esp], esi
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xd4]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xd0]
mov dword [esp + 4], eax
call fcn.00408440
mov dword [esp], ebx
call fcn.004085e0
mov dword [esp + 0xc], 0x401640
mov dword [esp + 8], 0x401628
mov dword [esp + 4], 0x401638
mov dword [esp], 0x401630
call fcn.00409ad0
call fcn.0040ac10
mov edx, dword [ebp - 0x94]
test edx, edx
jne 0x40c4c8
mov eax, dword [ebp - 0xb8]
lea edi, [ebp - 0xdc]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00409d10
lea eax, [ebp - 0xb0]
call fcn.004096a0
call fcn.0040bbb0
mov eax, dword [ebp - 0xc4]
mov dword [esp], eax
call fcn.00408610
mov dword [esp + 8], str._ea3
mov dword [esp + 4], 0
mov ebx, eax
mov dword [esp], eax
call sub.libavs_win32.dll_Ordinal_144
mov dword [ebp - 0xf0], eax
test eax, eax
je 0x40c552
lea esi, [ebp - 0x80]
mov dword [esp], esi
call fcn.00408980
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.004088d0
test al, al
je 0x40c576
mov eax, dword [ebp - 0xc0]
test eax, eax
je 0x40c2d7
mov dword [esp + 8], eax
lea eax, [ebp - 0x61]
mov dword [esp + 4], 0x18
mov dword [esp], eax
call fcn.0040b8f0
mov eax, dword [ebp - 0xbc]
test eax, eax
je 0x40c2f8
mov dword [esp + 8], eax
lea eax, [ebp - 0x31]
mov dword [esp + 4], 0x18
mov dword [esp], eax
call fcn.0040b8f0
cmp byte [ebp - 0x49], 0
je 0x40c502
mov eax, dword [ebp - 0xcc]
mov dword [esp], eax
call fcn.0040aca0
test al, al
mov eax, dword [ebp - 0xcc]
jne 0x40c4ef
mov dword [esp + 8], eax
mov dword [esp + 4], str._s:_app_config_file_missing__using_empty
mov dword [esp], 0x40e270
call dword [0x40d0f4]
mov dword [esp], str._param_dummy__param_
call fcn.00408740
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf4]
mov dword [esp + 8], str._param
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.libavs_win32.dll_Ordinal_144
test eax, eax
je 0x40c59a
mov dword [ebp - 0xfc], eax
call dword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov edx, dword [ebp - 0xfc]
test eax, eax
jne 0x40c50f
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004089b0
test al, al
je 0x40c5be
mov eax, dword [ebp - 0xf4]
mov dword [esp], eax
call fcn.004085e0
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.00408cb0
cmp byte [ebp - 0x84], 0
je 0x40c405
movzx eax, byte [ebp - 0x83]
mov dword [esp + 4], str.Overriding_url_slash_to:__d
mov dword [esp], 0x40e270
mov dword [esp + 8], eax
call dword [0x40d0ec]
movzx eax, byte [ebp - 0x83]
mov dword [esp + 4], str._network_url_slash
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xf0]
mov dword [esp], eax
call fcn.00408bf0
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x40c448
mov dword [esp + 8], eax
mov dword [esp + 4], str.Overriding_service_url_to:__s
mov dword [esp], 0x40e270
call dword [0x40d0ec]
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], str._network_services
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xf0]
mov dword [esp], eax
call fcn.00408c50
mov eax, dword [ebp - 0xf0]
mov dword [esp], eax
call sub.libavs_win32_ea3.dll_Ordinal_8
mov dword [esp], ebx
call fcn.004085e0
mov dword [esp], edi
call fcn.0040a370
call sub.libavs_win32_ea3.dll_Ordinal_9
mov dword [esp], 1
mov eax, dword [ebp - 0xf8]
call eax
mov dword [esp], 0x409b70
mov dword [esp + 4], eax
call fcn.00409b00
call fcn.004083f0
mov eax, dword [ebp - 0xec]
cmp eax, 0xffffffff
je 0x40c4a4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push eax
mov dword [esp], edi
call fcn.00409ce0
lea eax, [ebp - 0xd4]
mov dword [esp], eax
call fcn.0040a530
xor eax, eax
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
lea eax, [ebp - 0x98]
lea edi, [ebp - 0xdc]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xb8]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.00409e30
jmp 0x40c251
mov dword [esp], eax
call fcn.00408610
mov dword [ebp - 0xf4], eax
jmp 0x40c349
mov dword [esp], esi
call fcn.00408900
jmp 0x40c302
call dword [sym.imp.KERNEL32.dll_DebugBreak]
mov edx, dword [ebp - 0xfc]
jmp 0x40c389
call fcn.0040a5e0
mov eax, 1
jmp 0x40c4bc
mov ebx, dword [0x40d0e8]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [esp + 4], str.CheckRemoteDebuggerPresent_failed:__08x
mov dword [esp + 8], eax
mov dword [esp], 0x40e270
call ebx
call sub.msvcrt.dll_abort
mov eax, dword [ebp - 0xc4]
mov dword [esp + 4], str._s:__ea3_missing
mov dword [esp], 0x40e270
mov dword [esp + 8], eax
call dword [0x40d0e8]
call sub.msvcrt.dll_abort
mov eax, dword [ebp - 0xc4]
mov dword [esp + 4], str._s:_Error_reading_IDs_from_config_file
mov dword [esp], 0x40e270
mov dword [esp + 8], eax
call dword [0x40d0e8]
call sub.msvcrt.dll_abort
mov eax, dword [ebp - 0xcc]
mov dword [esp + 4], str._s:__param_missing
mov dword [esp], 0x40e270
mov dword [esp + 8], eax
call dword [0x40d0e8]
call sub.msvcrt.dll_abort
mov eax, dword [ebp - 0xb8]
mov dword [esp + 4], str._s:_dll_module_init___returned_failure
mov dword [esp], 0x40e270
mov dword [esp + 8], eax
call dword [0x40d0e8]
call sub.msvcrt.dll_abort
mov eax, dword [ebp - 0xc8]
mov dword [esp + 4], str._s:__config_missing
mov dword [esp], 0x40e270
mov dword [esp + 8], eax
call dword [0x40d0e8]
call sub.msvcrt.dll_abort
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [pe_nt_image_headers32]
ud2