Function at 0x10073290
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xfc
push ebx
push esi
push edi
push 0x1a
push 0x1003689c
lea ecx, [esp + 0xf4]
mov dword [esp + 0xf4], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0xf
call fcn.1003ae40
push 6
push 0x100368b8
lea ecx, [esp + 0xdc]
mov dword [esp + 0xdc], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0xf
call fcn.1003ae40
push 0xe
push 0x100368c0
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0xf
call fcn.1003ae40
push 0x19
push 0x100368d0
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.1003ae40
push 3
push 0x100368ec
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0xf
call fcn.1003ae40
push 0x10
push 0x100368f0
lea ecx, [esp + 0x60]
mov dword [esp + 0x60], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0xf
call fcn.1003ae40
lea ecx, [esp + 0x10]
push ecx
lea eax, [esp + 0x74]
push eax
push ecx
lea ecx, [esp + 0xa4]
call fcn.100785e0
push 0x1003adf0
push 4
push 0x18
lea eax, [esp + 0x1c]
push eax
call fcn.10079b58
push 4
push 0x10036904
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0xf
call fcn.1003ae40
push 8
push 0x1003690c
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.1003ae40
lea ecx, [esp + 0x10]
push ecx
lea eax, [esp + 0x44]
push eax
push ecx
lea ecx, [esp + 0x80]
call fcn.100785e0
push 0x1003adf0
push 2
push 0x18
lea eax, [esp + 0x1c]
push eax
call fcn.10079b58
push 9
push 0x1003692c
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0xf
call fcn.1003ae40
cmp dword [esp + 0x24], 0x10
lea esi, [esp + 0x10]
mov ebx, dword [esp + 0x10]
lea ecx, [esp + 0xa4]
push 7
push 0x10036938
cmovae esi, ebx
mov dword [esp + 0xac], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0xf
call fcn.1003ae40
mov ecx, 0x2f
mov dword [esp + 0xbc], 0
cmp dword [esp + 0xb4], ecx
lea eax, [esp + 0xa4]
mov dword [esp + 0xcc], 0
cmovb ecx, dword [esp + 0xb4]
cmp dword [esp + 0xb8], 0x10
push ecx
cmovae eax, dword [esp + 0xa8]
lea ecx, [esp + 0xc0]
push eax
mov dword [esp + 0xd8], 0xf
call fcn.1003ae40
mov ecx, 0x5f
mov dword [esp + 0x80], 0
cmp dword [esp + 0xcc], ecx
lea eax, [esp + 0xbc]
mov dword [esp + 0x90], 0
cmovb ecx, dword [esp + 0xcc]
cmp dword [esp + 0xd0], 0x10
push ecx
cmovae eax, dword [esp + 0xc0]
lea ecx, [esp + 0x84]
push eax
mov dword [esp + 0x9c], 0xf
call fcn.1003ae40
cmp dword [esp + 0x94], 0x10
lea eax, [esp + 0x80]
mov edi, dword [esp + 0x80]
cmovae eax, edi
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x100735a4
test cl, cl
je 0x100735a0
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x100735a4
add eax, 2
add esi, 2
test cl, cl
jne 0x10073584
xor esi, esi
jmp 0x100735a9
sbb esi, esi
or esi, 1
push 0
push 0x10036918
call dword [sym.imp.SHLWAPI.dll_PathFindOnPathA]
mov ecx, dword [0x100027a8]
sub ecx, esi
sub ecx, eax
mov eax, dword [esp + 0x94]
add dword [0x100027bc], ecx
cmp eax, 0x10
jb 0x100735fd
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x100735f3
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f6e
push ecx
push edi
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0xd0]
cmp edx, 0x10
jb 0x10073639
mov ecx, dword [esp + 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007362f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f6e
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0xb8]
cmp edx, 0x10
jb 0x10073675
mov ecx, dword [esp + 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007366b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f6e
push edx
push ecx
call fcn.10079b22
add esp, 8
mov eax, dword [esp + 0x24]
cmp eax, 0x10
jb 0x100736a9
lea ecx, [eax + 1]
mov eax, ebx
cmp ecx, 0x1000
jb 0x1007369f
mov ebx, dword [ebx - 4]
add ecx, 0x23
sub eax, ebx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f6e
push ecx
push ebx
call fcn.10079b22
add esp, 8
cmp dword [0x1009d15c], 0x37
jae 0x10073774
lea eax, [esp + 0xec]
push 0x1009d170
push eax
mov edx, eax
lea ecx, [esp + 0x88]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0x14]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d14c
push eax
call fcn.1003b590
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x10073723
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10073719
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f46
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x94]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], 0
cmp edx, 0x10
jb 0x10073774
mov ecx, dword [esp + 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007376a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f46
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, 0x4f
mov dword [esp + 0x10], 0
cmp dword [0x1009d198], ecx
mov eax, 0x1009d188
mov dword [esp + 0x20], 0
cmovb ecx, dword [0x1009d198]
cmp dword [0x1009d19c], 0x10
push ecx
cmovae eax, dword [0x1009d188]
lea ecx, [esp + 0x14]
push eax
mov dword [esp + 0x2c], 0xf
call fcn.1003ae40
push ecx
push 0x10036940
lea ecx, [esp + 0x18]
call fcn.100787f0
add eax, dword [ebp + 0x34]
sub dword [0x100027a8], eax
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x1007380a
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10073800
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f4b
push edx
push ecx
call fcn.10079b22
add esp, 8
cmp dword [0x1009d0e0], 0xb0
jae 0x1007386d
push 0x1009d1d0
mov edx, 0x1009d188
lea ecx, [esp + 0x14]
call fcn.100789e0
add esp, 4
mov ecx, 0x1009d0d0
push eax
call fcn.1003b590
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x1007386d
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10073863
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f50
push edx
push ecx
call fcn.10079b22
add esp, 8
cmp dword [0x1009d234], 0x86
jae 0x10073a1b
push 0x1009d0e8
push 0x1009d0e8
push 0x1009d11c
push 0x1009d188
mov edx, 0x1009d14c
lea ecx, [esp + 0xcc]
call fcn.100789e0
add esp, 4
lea ecx, [esp + 0xb0]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x88]
mov edx, eax
call fcn.10078930
add esp, 4
lea ecx, [esp + 0x14]
mov edx, eax
call fcn.10078930
add esp, 4
mov ecx, 0x1009d224
push eax
call fcn.1003b590
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x10073916
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007390c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f55
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x94]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], 0
cmp edx, 0x10
jb 0x10073967
mov ecx, dword [esp + 0x80]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1007395d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f55
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0xb8]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0xf
mov byte [esp + 0x80], 0
cmp edx, 0x10
jb 0x100739c1
mov ecx, dword [esp + 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100739b7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f55
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0xd0]
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0xf
mov byte [esp + 0xa4], 0
cmp edx, 0x10
jb 0x10073a1b
mov ecx, dword [esp + 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10073a11
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f55
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, 0x1009d1a0
mov ecx, 0x1009d100
call fcn.10078b00
mov edi, dword [0x100027c0]
lea edx, [esp + 0xec]
mov ecx, dword [0x100027b0]
shl edi, cl
mov ecx, 0x1009d224
movzx ebx, al
call fcn.10078b00
movzx esi, al
cmp ebx, edi
mov eax, 1
mov edx, 0x1009d0b8
cmovl esi, eax
mov ecx, 0x1009d100
mov eax, dword [0x100027b4]
xor ebx, ebx
sub eax, dword [0x100027bc]
cmp esi, eax
setle bl
call fcn.10078b00
movzx eax, al
mov edx, 0x1009d224
mov ecx, 0x1009d1b8
xor ebx, eax
call fcn.10078b00
movzx eax, al
mov edx, 0x1009d1f4
mov ecx, 0x1009d11c
xor ebx, eax
call fcn.10078b00
mov edx, dword [0x100027b0]
sub edx, dword [0x100027c0]
movzx ecx, al
xor eax, eax
cmp edx, ecx
setle al
cmp ebx, eax
jne 0x10073b13
sub esp, 0x50
lea ecx, [esp + 0x60]
call fcn.10040850
add esp, 0x50
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x10073ada
mov eax, dword [eax]
mov byte [eax], 0
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x10073b13
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10073b09
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f5a
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, dword [0x1009d168]
mov eax, 0x2aaaaaab
mov esi, dword [0x1009d164]
xor ebx, ebx
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10073ba2
xor edi, edi
lea eax, [edi + esi]
push eax
lea ecx, [esp + 0x14]
call fcn.1003d520
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x10073b7b
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10073b71
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f6e
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, dword [0x1009d168]
mov eax, 0x2aaaaaab
mov esi, dword [0x1009d164]
inc ebx
sub ecx, esi
add edi, 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x10073b38
mov edx, dword [0x1009d1ec]
push ecx
mov ecx, dword [0x1009d1e8]
call fcn.1003b800
mov eax, dword [0x1009d1e8]
lea ecx, [esp + 0x78]
add esp, 4
mov dword [0x1009d1ec], eax
push dword [esp + 0x104]
push dword [0x1009d098]
push dword [0x1009d094]
call fcn.10078c90
cmp dword [0x1009d0c8], 0x3e
jae 0x10073c3d
push 0x1009d188
mov edx, 0x1009d1d0
lea ecx, [esp + 0x14]
call fcn.100789e0
add esp, 4
mov ecx, 0x1009d0b8
push eax
call fcn.1003b590
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x10073c3d
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10073c33
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f5f
push edx
push ecx
call fcn.10079b22
add esp, 8
mov eax, dword [0x100027c0]
push ecx
push dword [ebp + 0x24]
lea ecx, [esp + 0xdc]
push eax
push ecx
push eax
push dword [0x100027a8]
push 0x1b01
push dword [0x100027bc]
push dword [0x100027b4]
push dword [ebp + 0x34]
push ecx
push 0x1009d0b8
push 0x1009d134
push dword [0x100027b8]
push ecx
push dword [ebp + 0x1c]
push 0x1009d1b8
push dword [0x100027a4]
push ecx
push 0x1009d0d0
lea ecx, [esp + 0x60]
call fcn.1004eb50
add esp, 0x50
mov dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0x10
jb 0x10073cab
mov eax, dword [eax]
mov byte [eax], 0
mov edx, dword [esp + 0x24]
cmp edx, 0x10
jb 0x10073ce4
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10073cda
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f64
push edx
push ecx
call fcn.10079b22
add esp, 8
push ecx
push dword [0x100027b4]
mov ecx, dword [ebp + 0x10]
push dword [0x100027a4]
mov eax, dword [0x100027a0]
push 0x1009d1b8
push dword [0x100027b0]
push ecx
push dword [ebp + 0x14]
push eax
push dword [ebp + 0x50]
push eax
push ecx
push 0x1009d11c
push 0x1009d0a0
push ecx
push ecx
push dword [ebp + 0x18]
push 0x1009d0d0
push dword [0x100027bc]
push ecx
push 0x1009d0e8
lea ecx, [esp + 0x60]
call fcn.1004eb50
add esp, 0x50
cmp dword [eax + 0x14], 0x10
jb 0x10073d42
mov eax, dword [eax]
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x14], 0x10
jb 0x10073d4d
mov ecx, dword [ecx]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
push 0x10036944
mov esi, eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
mov edx, dword [esp + 0x24]
xor eax, esi
sub dword [0x100027c0], eax
cmp edx, 0x10
jb 0x10073da0
mov ecx, dword [esp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10073d96
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f69
push edx
push ecx
call fcn.10079b22
add esp, 8
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x10073e19
mov edx, dword [esp + 0x78]
push ecx
call fcn.1003b800
mov ecx, dword [esp + 0x80]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x78]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x10073df7
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f6e
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov ecx, dword [esp + 0x98]
test ecx, ecx
je 0x10073ea8
mov edx, dword [esp + 0x9c]
push ecx
call fcn.1003b800
mov ecx, dword [esp + 0xa4]
mov eax, 0x2aaaaaab
mov esi, dword [esp + 0x9c]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x10073e7d
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f6e
push ecx
push esi
call fcn.10079b22
add esp, 8
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov edx, dword [esp + 0xe8]
cmp edx, 0x10
jb 0x10073ee4
mov ecx, dword [esp + 0xd4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10073eda
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f6e
push edx
push ecx
call fcn.10079b22
add esp, 8
mov edx, dword [esp + 0x100]
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0xf
mov byte [esp + 0xd4], 0
cmp edx, 0x10
jb 0x10073f3a
mov ecx, dword [esp + 0xec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10073f30
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10073f6e
push edx
push ecx
call fcn.10079b22
add esp, 8
pop edi
pop esi
mov eax, 0xe190
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
call fcn.1007e1df
int3