Function at 0x427e70
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x54
mov esi, ecx
mov eax, dword [0x644040]
xor eax, ebp
mov dword [ebp - 0x10], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push 1
push 0x451
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
cmp dword [esi + 0x60], eax
je 0x427ecf
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov eax, dword [esi + 0x60]
inc eax
cmp eax, 2
jae 0x428111
mov eax, edi
inc eax
cmp eax, 2
jb 0x427ec5
mov dword [esi + 0x60], edi
call fcn.004ef4b0
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov edi, dword [esi + 0x60]
inc edi
cmp edi, 2
jb 0x42820d
lea ecx, [esi + 8]
push 1
call fcn.00418b60
test al, al
je 0x42820d
mov eax, dword [esi + 0x60]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x50]
xor ebx, ebx
test eax, eax
je 0x4280fb
mov dword [ebp - 0x50], esi
lea ecx, [ebp - 0x14]
push ebx
push ebx
push 4
push ecx
push 0x20002
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_UpdateProcThreadAttribute]
test eax, eax
je 0x4280fb
mov esi, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
xor ebx, ebx
dec ebx
lea ecx, [ebp - 0x3c]
mov dword [ecx + 0x24], ebx
mov dword [ecx + 0x20], ebx
pcmpeqd xmm0, xmm0
movdqu xmmword [ecx + 0x10], xmm0
movdqu xmmword [ecx], xmm0
push eax
call fcn.004283e0
movsx eax, byte [esi + 0xb]
test eax, eax
jns 0x427f50
mov eax, dword [esi + 4]
mov esi, dword [esi]
test eax, eax
js 0x4281fe
je 0x427f62
test esi, esi
je 0x4281f7
lea ecx, [ebp - 0x3c]
push eax
push esi
push 8
push str.database
call fcn.00424590
lea esi, [ebp - 0x48]
push dword [ebp - 0x50]
push esi
call fcn.00535980
add esp, 8
movsx eax, byte [esi + 0xb]
test eax, eax
jns 0x427f90
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x48]
test eax, eax
js 0x4281fe
je 0x427fa2
test esi, esi
je 0x4281f7
lea ecx, [ebp - 0x3c]
push eax
push esi
push 0x12
push str.exception_pointers
call fcn.00428240
cmp byte [ebp - 0x3d], 0
js 0x42821c
lea esi, [ebp - 0x48]
mov eax, dword [ebp - 0x50]
push dword [eax + 0x60]
push esi
call fcn.00535980
add esp, 8
movsx eax, byte [esi + 0xb]
test eax, eax
jns 0x427fdd
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x48]
test eax, eax
js 0x4281fe
je 0x427fef
test esi, esi
je 0x4281f7
lea ecx, [ebp - 0x3c]
push eax
push esi
push 7
push 0x635723
call fcn.00428240
cmp byte [ebp - 0x3d], 0
js 0x42822c
lea edi, [ebp - 0x48]
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
lea ecx, [ebp - 0x3c]
push edi
call fcn.0040e2b0
mov ecx, edi
push 0xa
push str.___thread
call fcn.00539af0
movsx esi, byte [edi + 0xb]
test esi, esi
jns 0x42803a
mov edi, dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x58], edi
mov eax, dword [ebp - 0x50]
lea ecx, [eax + 0x54]
mov dword [ebp - 0x5c], ecx
lea ecx, [esi + esi]
mov dword [ebp - 0x54], ecx
mov ebx, dword [eax + 0x54]
mov eax, dword [eax + 0x5c]
mov ecx, eax
sub ecx, ebx
sar ecx, 1
cmp ecx, esi
jae 0x428178
test ebx, ebx
jne 0x42812d
test esi, esi
js 0x428214
cmp eax, esi
cmova esi, eax
cmp eax, 0x7ffffffe
mov edi, 0x7fffffff
cmovb edi, esi
test edi, edi
js 0x428214
lea eax, [edi + edi]
push eax
call fcn.00564ea5
add esp, 4
mov ebx, eax
mov esi, dword [ebp - 0x50]
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], eax
lea eax, [eax + edi*2]
mov dword [esi + 0x5c], eax
mov edi, dword [ebp - 0x54]
push edi
push dword [ebp - 0x58]
push ebx
call fcn.00569390
add esp, 0xc
add ebx, edi
mov dword [esi + 0x58], ebx
mov word [ebp - 0x4a], 0
mov eax, dword [esi + 0x54]
mov ecx, ebx
sub ecx, eax
cmp ecx, 0xffffffbf
ja 0x42815d
lea eax, [ebp - 0x4a]
mov ecx, dword [ebp - 0x5c]
push eax
push 0x20
call fcn.004282c0
cmp byte [ebp - 0x3d], 0
jns 0x4280f1
push dword [ebp - 0x48]
call fcn.00564ea0
add esp, 4
lea ecx, [ebp - 0x3c]
call fcn.00423de0
mov bl, 1
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00568175
mov eax, ebx
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret 8
call fcn.004ef4b0
push dword [esi + 0x60]
call fcn.0054ee40
add esp, 4
mov dword [esi + 0x60], 0
jmp 0x427eb5
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x58]
cmp eax, ebx
je 0x42813e
add eax, 0xfffffffe
jne 0x428133
jmp 0x4281af
mov edi, dword [ebp - 0x50]
mov dword [edi + 0x58], ebx
push ebx
call fcn.00564ea0
add esp, 4
xor eax, eax
mov dword [edi + 0x5c], eax
mov dword [edi + 0x58], eax
mov dword [edi + 0x54], eax
jmp 0x428068
add eax, ecx
add eax, 0x40
cmp ebx, eax
je 0x42816d
add ebx, 0xfffffffe
jne 0x428162
jmp 0x4281af
mov ecx, dword [ebp - 0x50]
mov dword [ecx + 0x58], eax
jmp 0x4280e0
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x58]
mov edi, eax
sub edi, ebx
mov ecx, edi
sar ecx, 1
cmp ecx, esi
jb 0x4281b6
test esi, esi
je 0x4281a3
push dword [ebp - 0x54]
push dword [ebp - 0x58]
push ebx
call fcn.00569390
add esp, 0xc
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x58]
add ebx, dword [ebp - 0x54]
cmp eax, ebx
je 0x4281ef
add eax, 0xfffffffe
jne 0x4281a6
push str....._third_partylibc_srcinclude__memoryconstruct_at.h:66:_assertion___loc___nullptr_failed:_null_pointer_given_to_destroy_at_n
jmp 0x428203
mov ecx, dword [ebp - 0x58]
lea esi, [ecx + esi*2]
add ecx, edi
mov dword [ebp - 0x60], ecx
cmp eax, ebx
je 0x4281d8
push edi
push dword [ebp - 0x58]
push ebx
call fcn.00569390
add esp, 0xc
mov eax, dword [ebp - 0x50]
mov ebx, dword [eax + 0x58]
sub esi, dword [ebp - 0x60]
cmp edi, dword [ebp - 0x54]
je 0x4281ed
push esi
push dword [ebp - 0x60]
push ebx
call fcn.00569390
add esp, 0xc
add ebx, esi
mov esi, dword [ebp - 0x50]
jmp 0x4280b9
push str....._third_partylibc_srcinclude_string_view:316:_assertion___len__0____s___nullptr_failed:_string_view::string_view__CharT___size_t_:_received_nullptr_n
jmp 0x428203
push str....._third_partylibc_srcinclude_string_view:314:_assertion___len___static_cast_size_type__numeric_limits_difference_type_::max____failed:_string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type_n
push 0x624173
call fcn.00591ed0
xor ebx, ebx
jmp 0x4280fb
mov ecx, dword [ebp - 0x5c]
call fcn.00596170
push dword [ebp - 0x48]
call fcn.00564ea0
add esp, 4
jmp 0x427fbd
push dword [ebp - 0x48]
call fcn.00564ea0
add esp, 4
jmp 0x42800a