Function at 0x1007a310
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b23f3
mov eax, dword fs:[0]
push eax
sub esp, 0x424
mov eax, dword [0x100dbc1c]
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
mov ebx, dword [ebp + 8]
mov dword [ebp - 4], 0
mov dword [ebp - 0x430], ebx
mov dword [ebp - 0x42c], 0
call fcn.1000a9e0
mov ecx, eax
test ecx, ecx
je 0x1007a6b7
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebx], eax
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x428]
push esi
push eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x42c], 1
call fcn.1007acd0
add esp, 8
mov eax, dword [ebp - 0x428]
mov dword [ebp - 4], 1
cmp dword [eax - 0xc], 0
jne 0x1007a3cd
lea edx, [eax - 0x10]
mov byte [ebp - 4], 0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1007a699
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x1007a699
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.100837f0
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.100837f0
add esp, 0x18
lea eax, [ebp - 0x420]
push 0x104
push eax
push 0x10000000
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edi, dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x420]
push eax
call edi
test esi, esi
jle 0x1007a42e
lea eax, [ebp - 0x420]
push eax
call edi
sub esi, 1
jne 0x1007a420
mov ecx, dword [str.ludashi]
test ecx, ecx
je 0x1007a6b7
mov eax, dword [ebp - 0x428]
mov edx, eax
mov si, word [edx]
cmp si, word [ecx]
jne 0x1007a46a
test si, si
je 0x1007a466
mov si, word [edx + 2]
cmp si, word [ecx + 2]
jne 0x1007a46a
add edx, 4
add ecx, 4
test si, si
jne 0x1007a444
xor ecx, ecx
jmp 0x1007a46f
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x1007a47e
push dword [0x100dcc90]
jmp 0x1007a5aa
mov ecx, dword [str.ldslite]
test ecx, ecx
je 0x1007a6b7
mov edx, eax
nop
mov si, word [edx]
cmp si, word [ecx]
jne 0x1007a4b6
test si, si
je 0x1007a4b2
mov si, word [edx + 2]
cmp si, word [ecx + 2]
jne 0x1007a4b6
add edx, 4
add ecx, 4
test si, si
jne 0x1007a490
xor ecx, ecx
jmp 0x1007a4bb
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x1007a4ca
push dword [0x100dcc94]
jmp 0x1007a5aa
mov ecx, dword [str.bizhi]
test ecx, ecx
je 0x1007a6b7
mov edx, eax
nop word [eax + eax]
mov si, word [edx]
cmp si, word [ecx]
jne 0x1007a506
test si, si
je 0x1007a502
mov si, word [edx + 2]
cmp si, word [ecx + 2]
jne 0x1007a506
add edx, 4
add ecx, 4
test si, si
jne 0x1007a4e0
xor ecx, ecx
jmp 0x1007a50b
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x1007a51a
push dword [0x100dcc98]
jmp 0x1007a5aa
mov ecx, dword [str.gamemaster]
test ecx, ecx
je 0x1007a6b7
mov edx, eax
nop word [eax + eax]
mov si, word [edx]
cmp si, word [ecx]
jne 0x1007a556
test si, si
je 0x1007a552
mov si, word [edx + 2]
cmp si, word [ecx + 2]
jne 0x1007a556
add edx, 4
add ecx, 4
test si, si
jne 0x1007a530
xor ecx, ecx
jmp 0x1007a55b
sbb ecx, ecx
or ecx, 1
test ecx, ecx
jne 0x1007a567
push dword [0x100dcc9c]
jmp 0x1007a5aa
mov ecx, dword [str.desktop]
test ecx, ecx
je 0x1007a6b7
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1007a59b
test dx, dx
je 0x1007a597
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1007a59b
add eax, 4
add ecx, 4
test dx, dx
jne 0x1007a575
xor eax, eax
jmp 0x1007a5a0
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1007a5be
push dword [0x100dcca0]
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1007a5dd
mov edx, dword [ebp - 0x428]
add edx, 0xfffffff0
jmp 0x1007a3ab
call fcn.1000a9e0
test eax, eax
je 0x1007a6b7
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x424], eax
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x424]
call fcn.10009c40
test al, al
jne 0x1007a642
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1007a620
sub ecx, edx
lea eax, [ebp - 0x218]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x424]
call fcn.10009e80
lea eax, [ebp - 0x424]
mov byte [ebp - 4], 3
push ebx
push eax
call fcn.1005da90
mov edx, dword [ebp - 0x424]
or esi, 0xffffffff
add esp, 8
mov byte [ebp - 4], 1
add edx, 0xfffffff0
mov eax, esi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1007a67a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x428]
mov byte [ebp - 4], 0
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], esi
dec esi
test esi, esi
jg 0x1007a699
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, ebx
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.100763b4
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.1000a7c0
int3