Function at 0x437310
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x454264
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x46d674]
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 eax, dword [ebp + 8]
xor ebx, ebx
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x84], ebx
call fcn.00436f60
mov edi, 8
cmp dword [eax + 0x14], edi
jb 0x437363
mov eax, dword [eax]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
sete byte [ebp - 0x85]
cmp dword [ebp - 0x34], edi
jb 0x437384
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.0043e981
add esp, 4
cmp byte [ebp - 0x85], bl
jne 0x4374f9
push 0x78
call fcn.0043ecc8
mov esi, eax
add esp, 4
mov dword [ebp - 0x90], esi
mov dword [ebp - 4], 0
test esi, esi
je 0x4373ea
lea ecx, [ebp - 0x48]
call fcn.00436f60
mov ecx, eax
mov byte [ebp - 4], 1
lea eax, [ebp - 0x64]
mov dword [ebp - 0x84], 1
call fcn.0040ab90
push eax
mov dword [ebp - 4], 2
mov ebx, 3
push esi
mov dword [ebp - 0x84], ebx
call fcn.00439ae0
mov esi, eax
jmp 0x4373ec
xor esi, esi
test bl, 2
je 0x437418
and ebx, 0xfffffffd
cmp dword [ebp - 0x50], 0x10
jb 0x437406
mov edx, dword [ebp - 0x64]
push edx
call fcn.0043e981
add esp, 4
mov dword [ebp - 0x50], 0xf
mov dword [ebp - 0x54], 0
mov byte [ebp - 0x64], 0
mov dword [ebp - 4], 0xffffffff
test bl, 1
je 0x437449
cmp dword [ebp - 0x34], edi
jb 0x437435
mov eax, dword [ebp - 0x48]
push eax
call fcn.0043e981
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x34], 7
mov dword [ebp - 0x38], 0
mov word [ebp - 0x48], cx
test esi, esi
je 0x4374f9
cmp dword [esi + 0x34], 0x10
lea eax, [esi + 0x20]
jb 0x43745c
mov eax, dword [eax]
mov ecx, eax
mov edx, esi
call fcn.00439ba0
mov esi, dword [esi + 0x18]
test esi, esi
je 0x4374f9
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
test eax, eax
jne 0x437486
mov esi, dword [esi + 0x40]
test esi, esi
jne 0x437470
jmp 0x4374f9
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
mov ecx, esi
call eax
mov esi, eax
test esi, esi
je 0x4374f9
mov eax, dword [esi + 0x94]
lea ecx, [esi + 0x44]
cmp eax, ecx
je 0x4374f9
test eax, eax
je 0x4374f9
add eax, 0x30
cmp dword [eax + 0x14], 0x10
jb 0x4374b1
mov eax, dword [eax]
mov edx, eax
lea ecx, [ebp - 0x2c]
call fcn.0040abc0
mov dword [ebp - 4], 5
mov eax, dword [ebp - 0x1c]
push str.none
mov edi, 4
lea ecx, [ebp - 0x2c]
call fcn.00404ae0
test eax, eax
jne 0x437519
push eax
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x8c]
add ecx, 0x2c
or eax, 0xffffffff
call fcn.00401330
lea esi, [ebp - 0x2c]
call fcn.0040f280
xor al, al
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.0043e417
mov esp, ebp
pop ebp
ret 4
mov eax, esi
call fcn.0040b430
mov dword [ebp - 0x84], eax
test eax, eax
je 0x4374f1
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4374f1
add eax, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x43753c
mov eax, dword [eax]
mov edx, eax
lea ecx, [ebp - 0x48]
call fcn.0040abc0
mov ebx, dword [ebp - 0x8c]
add ebx, 0x2c
mov edi, eax
mov esi, ebx
mov byte [ebp - 4], 6
call fcn.00403390
lea esi, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.0040f280
mov esi, 0x459374
mov ecx, ebx
call fcn.00410b10
test al, al
jne 0x4374f1
mov esi, str.none
mov ecx, ebx
call fcn.00410b10
test al, al
jne 0x4374f1
mov eax, dword [ebp - 0x84]
call fcn.0040b400
test eax, eax
je 0x4374f1
call fcn.0040b400
mov dword [ebp - 0x84], eax
test eax, eax
je 0x4374f1
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4374f1
cmp dword [eax + 0x34], 0x10
lea edx, [eax + 0x20]
jb 0x4375cc
mov edx, dword [edx]
lea ecx, [ebp - 0x48]
call fcn.0040abc0
mov ebx, dword [ebp - 0x8c]
lea esi, [ebx + 0x48]
mov edi, eax
mov byte [ebp - 4], 7
call fcn.00403390
lea esi, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.0040f280
cmp dword [ebx + 0x58], 0
je 0x4374f1
mov eax, dword [ebp - 0x84]
call fcn.0040b400
mov ebx, eax
test ebx, ebx
je 0x4374f1
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x4374f1
cmp dword [eax + 0x34], 0x10
lea edx, [eax + 0x20]
jb 0x437629
mov edx, dword [edx]
lea ecx, [ebp - 0x48]
call fcn.0040abc0
mov esi, dword [ebp - 0x8c]
add esi, 0x64
mov edi, eax
mov byte [ebp - 4], 8
call fcn.00403390
lea esi, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.0040f280
mov eax, ebx
call fcn.0040b400
test eax, eax
je 0x4374f1
call fcn.0040b400
test eax, eax
je 0x4374f1
call fcn.0040b430
test eax, eax
je 0x4374f1
call fcn.0040b430
mov dword [ebp - 0x84], eax
test eax, eax
je 0x4374f1
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4374f1
add eax, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x4376a3
mov eax, dword [eax]
mov edx, eax
lea ecx, [ebp - 0x48]
call fcn.0040abc0
mov ebx, dword [ebp - 0x8c]
lea esi, [ebx + 0x80]
mov edi, eax
mov byte [ebp - 4], 9
call fcn.00403390
lea esi, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.0040f280
cmp dword [ebx + 0x90], 0
je 0x4374f1
mov eax, dword [ebp - 0x84]
call fcn.0040b400
mov dword [ebp - 0x84], eax
test eax, eax
je 0x4374f1
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4374f1
add eax, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x43770c
mov eax, dword [eax]
mov edx, eax
lea ecx, [ebp - 0x48]
call fcn.0040abc0
lea esi, [ebx + 0x9c]
mov edi, eax
mov byte [ebp - 4], 0xa
call fcn.00403390
lea esi, [ebp - 0x48]
mov byte [ebp - 4], 5
call fcn.0040f280
cmp dword [ebx + 0xac], 0
je 0x4374f1
mov eax, dword [ebp - 0x84]
call fcn.0040b400
test eax, eax
je 0x4374f1
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4374f1
add eax, 0x20
cmp dword [eax + 0x14], 0x10
jb 0x437769
mov eax, dword [eax]
mov edx, eax
lea ecx, [ebp - 0x80]
call fcn.0040abc0
lea esi, [ebx + 0xb8]
mov edi, eax
mov byte [ebp - 4], 0xb
call fcn.00403390
lea esi, [ebp - 0x80]
call fcn.0040f280
cmp dword [ebx + 0xc8], 0
lea esi, [ebp - 0x2c]
je 0x4374f4
call fcn.0040f280
mov al, 1
jmp 0x4374fb