Function at 0x417770
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x599aac
mov eax, dword fs:[0]
push eax
sub esp, 0xdc
mov eax, dword [0x6102d4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0xd8], eax
mov edi, dword [ebp + 0x24]
lea esi, [eax + 0x4c]
mov dword [ebp - 4], 0
lea ecx, [ebp + 0xc]
cmp esi, ecx
je 0x4177d4
cmp dword [ebp + 0x20], 8
mov eax, ecx
push dword [ebp + 0x1c]
cmovae eax, dword [ebp + 0xc]
mov ecx, esi
push eax
call fcn.00411630
mov eax, dword [ebp - 0xd8]
add eax, 0x64
mov dword [ebp - 0xdc], eax
cmp eax, esi
je 0x4177f6
cmp dword [esi + 0x14], 8
mov ecx, esi
jb 0x4177eb
mov ecx, dword [esi]
push dword [esi + 0x10]
push ecx
mov ecx, eax
call fcn.00411630
lea eax, [ebp - 0xb8]
push str.62574157036756381159024368452929
push eax
call fcn.0044e03f
mov esi, eax
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 1
push str.33565747036756281167664868024529
push eax
call fcn.0044e03f
push esi
push eax
push dword [ebp - 0xdc]
mov byte [ebp - 4], 2
call fcn.0044d3d2
mov edx, dword [ebp - 0x8c]
add esp, 0x1c
mov byte [ebp - 4], 1
cmp edx, 8
jb 0x417876
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x41786c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418124
push edx
push ecx
call fcn.0045ec62
add esp, 8
mov edx, dword [ebp - 0xa4]
xor eax, eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
mov byte [ebp - 4], al
cmp edx, 8
jb 0x4178d6
mov ecx, dword [ebp - 0xb8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4178cc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418129
push edx
push ecx
call fcn.0045ec62
add esp, 8
xor eax, eax
mov dword [ebp - 0xc0], 0
push eax
push 0x5a178c
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xbc], 7
mov word [ebp - 0xd0], ax
call fcn.00411630
xor eax, eax
mov byte [ebp - 4], 3
push eax
push 0x5a178c
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.00411630
mov esi, dword [ebp - 0xd8]
add esi, 0x4c
mov byte [ebp - 4], 4
mov eax, esi
cmp dword [esi + 0x14], 8
jb 0x417941
mov eax, dword [esi]
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.0044a417
cmp dword [ebp - 0x74], 8
lea eax, [ebp - 0x88]
mov byte [ebp - 4], 5
cmovae eax, dword [ebp - 0x88]
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.0044a392
lea ecx, [ebp - 0x88]
mov dword [ebp - 0xe0], eax
add esp, 0x10
cmp ecx, eax
je 0x4179b5
call fcn.004113b0
mov eax, dword [ebp - 0xe0]
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x88], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x78], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
mov word [eax], cx
mov edx, dword [ebp - 0xa4]
cmp edx, 8
jb 0x4179f5
mov ecx, dword [ebp - 0xb8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4179eb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41812e
push edx
push ecx
call fcn.0045ec62
add esp, 8
lea eax, [ebp - 0x88]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.0044da86
push 0
call fcn.005778fc
mov dword [ebp - 0xe4], eax
add esp, 0xc
xor eax, eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
mov dword [ebp - 0xe0], eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 8
push eax
lea eax, [ebp - 0xa0]
push eax
sub esp, 0x18
mov ecx, esp
push esi
call fcn.0040cde0
push dword [ebp + 8]
mov ecx, dword [ebp - 0xd8]
call fcn.00418530
test al, al
je 0x417c68
cmp dword [ebp - 0xbc], 8
lea eax, [ebp - 0xd0]
mov dword [ebp - 0xe0], 1
cmovae eax, dword [ebp - 0xd0]
push eax
call fcn.00573cbe
mov ecx, dword [ebp - 0xd8]
add esp, 4
add eax, dword [ecx]
cmp eax, dword [ebp - 0xe4]
jl 0x417ad7
lea eax, [ebp - 0x28]
cmp edi, eax
je 0x417c40
cmp dword [ebp - 0x14], 8
mov ecx, edi
push dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.00411630
jmp 0x417c40
lea eax, [ebp - 0x70]
push esi
push eax
call fcn.0044da86
add esp, 8
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 9
jb 0x417af0
mov eax, dword [eax]
push eax
lea eax, [ebp - 0xb8]
push eax
call fcn.00445885
lea ecx, [ebp - 0x58]
mov dword [ebp - 0xe4], eax
add esp, 8
cmp ecx, eax
je 0x417b3c
call fcn.004113b0
mov eax, dword [ebp - 0xe4]
xor ecx, ecx
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x58], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 7
movq qword [ebp - 0x48], xmm0
mov word [eax], cx
lea ecx, [ebp - 0xb8]
call fcn.0040a530
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 8
call fcn.0040a610
cmp dword [ebp - 0x48], 0
jne 0x417bba
push dword [ebp - 0xdc]
push esi
call fcn.004174f0
add esp, 8
test al, al
jne 0x417bba
push dword [ebp - 0xdc]
lea eax, [ebp - 0xb8]
push eax
call fcn.0044da86
add esp, 8
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0xa
jb 0x417b8d
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00445885
add esp, 8
lea ecx, [ebp - 0x58]
push eax
call fcn.0040cd20
lea ecx, [ebp - 0x70]
call fcn.0040a530
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 8
call fcn.0040a610
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.004174f0
add esp, 8
test al, al
je 0x417c68
lea eax, [ebp - 0x28]
cmp edi, eax
je 0x417bef
cmp dword [ebp - 0x14], 8
mov ecx, edi
push dword [ebp - 0x18]
cmovae eax, dword [ebp - 0x28]
push eax
call fcn.00411630
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
mov dword [ebp - 0xe8], esp
push eax
call fcn.0040cde0
sub esp, 0x18
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0xa0]
mov dword [ebp - 0xe4], esp
mov ecx, esp
push eax
call fcn.0040cde0
sub esp, 0x18
mov byte [ebp - 4], 0xc
mov ecx, esp
push esi
call fcn.0040cde0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xd8]
push eax
mov byte [ebp - 4], 8
call fcn.00418ae0
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
push 0
cmovae eax, dword [ebp - 0x40]
push eax
push 1
push 1
call fcn.00418a60
mov ecx, eax
call fcn.00421fd0
mov esi, 1
jmp 0x417f10
cmp dword [ebp + 0x28], 0
jne 0x417c81
push 0
push 0x5a178c
mov ecx, edi
call fcn.00411630
jmp 0x417f0e
cmp dword [edi + 0x10], 0
jne 0x417d42
cmp dword [ebp + 8], 0
mov eax, dword [ebp - 0xd8]
je 0x417cdd
add eax, 0x1c
cmp dword [eax + 0x14], 8
jb 0x417ca2
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0044a61d
add esp, 8
mov ecx, edi
push eax
call fcn.0040cd20
lea ecx, [ebp - 0x70]
call fcn.0040a530
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0044a4ff
add esp, 8
mov byte [ebp - 4], 0xd
jmp 0x417d21
add eax, 4
cmp dword [eax + 0x14], 8
jb 0x417ce8
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0044a61d
add esp, 8
mov ecx, edi
push eax
call fcn.0040cd20
lea ecx, [ebp - 0x70]
call fcn.0040a530
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.0044a4ff
add esp, 8
mov byte [ebp - 4], 0xe
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x417d2b
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
mov ecx, edi
call fcn.004114b0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 8
call fcn.0040a530
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x417d4c
mov eax, dword [edi]
push 0
push eax
call fcn.00451174
push esi
push dword [ebp - 0xdc]
call fcn.004174f0
mov ecx, dword [ebp - 0xd8]
add esp, 0x10
push edi
test al, al
jne 0x417d89
push 0
call fcn.00418160
test eax, eax
setne byte [ebp - 0xd1]
test eax, eax
jne 0x417d99
mov ecx, dword [ebp - 0xd8]
push edi
push 1
call fcn.00418160
test eax, eax
setne byte [ebp - 0xd1]
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x417da3
mov eax, dword [edi]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x417ef0
cmp byte [ebp - 0xd1], 0
je 0x417ef0
cmp dword [ebp - 0xe0], 0
lea eax, [ebp - 0x40]
jne 0x417dcf
push 2
jmp 0x417dd1
push 3
cmp dword [ebp - 0x2c], 0x10
cmovae eax, dword [ebp - 0x40]
push eax
push 1
push 1
call fcn.00418a60
mov ecx, eax
call fcn.00421fd0
cmp dword [ebp - 0x48], 0
jne 0x417ea4
lea eax, [ebp - 0xb8]
push esi
push eax
call fcn.0044da86
add esp, 8
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0xf
jb 0x417e10
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00445885
add esp, 8
lea ecx, [ebp - 0x58]
push eax
call fcn.0040cd20
lea ecx, [ebp - 0x70]
call fcn.0040a530
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 8
call fcn.0040a610
cmp dword [ebp - 0x48], 0
jne 0x417ea4
push dword [ebp - 0xdc]
push esi
call fcn.004174f0
add esp, 8
test al, al
jne 0x417ea4
push dword [ebp - 0xdc]
lea eax, [ebp - 0xb8]
push eax
call fcn.0044da86
add esp, 8
cmp dword [eax + 0x14], 0x10
mov byte [ebp - 4], 0x10
jb 0x417e77
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00445885
add esp, 8
lea ecx, [ebp - 0x58]
push eax
call fcn.0040cd20
lea ecx, [ebp - 0x70]
call fcn.0040a530
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 8
call fcn.0040a610
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xe8], esp
push edi
call fcn.0040cde0
sub esp, 0x18
mov byte [ebp - 4], 0x11
lea eax, [ebp - 0x58]
mov dword [ebp - 0xe4], esp
mov ecx, esp
push eax
call fcn.0040cde0
sub esp, 0x18
mov byte [ebp - 4], 0x12
mov ecx, esp
push esi
call fcn.0040cde0
push dword [ebp + 8]
mov ecx, dword [ebp - 0xd8]
mov byte [ebp - 4], 8
call fcn.00418ae0
jmp 0x417f0e
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
push 1
cmovae eax, dword [ebp - 0x40]
push eax
push 1
push 1
call fcn.00418a60
mov ecx, eax
call fcn.00421fd0
xor esi, esi
mov edx, dword [ebp - 0x44]
cmp edx, 8
jb 0x417f4a
mov ecx, dword [ebp - 0x58]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x417f40
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418133
push edx
push ecx
call fcn.0045ec62
add esp, 8
mov edx, dword [ebp - 0x8c]
cmp edx, 8
jb 0x417f8a
mov ecx, dword [ebp - 0xa0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x417f80
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418138
push edx
push ecx
call fcn.0045ec62
add esp, 8
mov edx, dword [ebp - 0x2c]
cmp edx, 0x10
jb 0x417fbe
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x417fb4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41813d
push edx
push ecx
call fcn.0045ec62
add esp, 8
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp edx, 8
jb 0x41800d
mov ecx, dword [ebp - 0x88]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x418003
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418142
push edx
push ecx
call fcn.0045ec62
add esp, 8
mov edx, dword [ebp - 0x14]
xor eax, eax
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 7
mov word [ebp - 0x88], ax
cmp edx, 8
jb 0x41805e
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x418054
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418147
push edx
push ecx
call fcn.0045ec62
add esp, 8
mov edx, dword [ebp - 0xbc]
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
cmp edx, 8
jb 0x4180b2
mov ecx, dword [ebp - 0xd0]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4180a8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41814c
push edx
push ecx
call fcn.0045ec62
add esp, 8
mov edx, dword [ebp + 0x20]
xor eax, eax
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 7
mov word [ebp - 0xd0], ax
cmp edx, 8
jb 0x418105
mov ecx, dword [ebp + 0xc]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x4180fb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x418151
push edx
push ecx
call fcn.0045ec62
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0045ef18
mov esp, ebp
pop ebp
ret 0x24
call fcn.00572b79
call fcn.00572b79
call fcn.00572b79
call fcn.00572b79
call fcn.00572b79
call fcn.00572b79
call fcn.00572b79
call fcn.00572b79
call fcn.00572b79
call fcn.00572b79
int3