Function at 0x4062a0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53fe6d
mov eax, dword fs:[0]
push eax
mov eax, 0x10f4
call fcn.00474db0
mov eax, dword [0x673114]
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 dword [ebp - 0x10ec], ecx
mov ecx, 0x56
mov ebx, dword [ebp + 8]
mov esi, str.j018dOY8ww4OnSaioSOS3HwtFjmCv9sd6OeF2UA78s3v8QC2dCKOe3OihbuZXNbIPEryfTHzRQx0VYu94SnTAMXmme1kQtj4v6E4Ye5qV28Lk5fA9MIgBfjvuyfhQqRMH2NlUui4D2eD20mRcq9zCT01hyQ6ZgJbto63Mee74p6fi4D70Jvf9c5MXlzepkcT5M5ckTAWJxkAxxYVNVaCAPw6Ceo3KrNfVLDWXpoBCdkjF21Nj4oArfLH5EmOrFfuvvey0BndMUiS86WGYJZ9M8XKsO0Lo39YwG6OZQJ5XgcmKUA5vLnEw3Wtf7bfdc8cY9qKApTt4g0E1Qx1C7Xcv7RLlG
mov dword [ebp - 0x10e8], ebx
lea edi, [ebp - 0x670]
mov dword [ebp - 0x1100], 0
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x3c
mov dword [ebp - 0x10fc], 0
mov dword [ebp - 0x10f8], 0
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
mov esi, str.gddiy9GwhjAz4XT98sDxWhmhAD1nZOjQoOmLCDnmozsdtquXJViodD4DrBMldG5UdqmiY2fziq8i9vsMQ8l8VGq3nZMlEjbdvHQyiJBX0p4BgAv3SI7Meud8xbEhjsdwzrmEiU11Q5kQTisECDNmU3eEofFDzLxfZ3CRIFKzrci3tZCvgtYFbRSpAR9NOgDq7WvADyrAG5yUw5noXAnZQFjuSElYmXhZgJySXaKLQEWzmOk6U
lea edi, [ebp - 0x104]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
cmp byte [ebp - 0x670], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x109c], 0xf
mov dword [ebp - 0x10a0], 0
mov byte [ebp - 0x10b0], 0
jne 0x406357
xor ecx, ecx
jmp 0x406369
lea ecx, [ebp - 0x670]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406360
sub ecx, edx
push ecx
lea eax, [ebp - 0x670]
push eax
lea ecx, [ebp - 0x10b0]
call fcn.00407d30
lea eax, [ebp - 0x10b0]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x1100]
call fcn.00407f90
mov eax, dword [ebp - 0x109c]
mov byte [ebp - 4], 0
cmp eax, 0x10
jb 0x4063b4
inc eax
lea ecx, [ebp - 0x10b0]
push eax
push dword [ebp - 0x10b0]
call fcn.00407e30
cmp byte [ebp - 0x104], 0
mov dword [ebp - 0x109c], 0xf
mov dword [ebp - 0x10a0], 0
mov byte [ebp - 0x10b0], 0
jne 0x4063dc
xor ecx, ecx
jmp 0x4063ee
lea ecx, [ebp - 0x104]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4063e5
sub ecx, edx
push ecx
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0x10b0]
call fcn.00407d30
lea eax, [ebp - 0x10b0]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x1100]
call fcn.00407f90
mov eax, dword [ebp - 0x109c]
mov byte [ebp - 4], 0
cmp eax, 0x10
jb 0x406439
inc eax
lea ecx, [ebp - 0x10b0]
push eax
push dword [ebp - 0x10b0]
call fcn.00407e30
call fcn.0047c2df
push 0x208
xor edi, edi
lea eax, [ebp - 0x1098]
push edi
push eax
call fcn.004f14e0
push 0x208
lea eax, [ebp - 0xc88]
push edi
push eax
call fcn.004f14e0
push 0x208
lea eax, [ebp - 0xa80]
push edi
push eax
call fcn.004f14e0
push 0x208
lea eax, [ebp - 0xe90]
push edi
push eax
call fcn.004f14e0
push 0x208
lea eax, [ebp - 0x878]
push edi
push eax
call fcn.004f14e0
push 0x208
lea eax, [ebp - 0x514]
push edi
push eax
call fcn.004f14e0
mov esi, dword [ebp - 0x10ec]
lea eax, [ebp - 0x1098]
add esp, 0x48
mov ecx, esi
push edi
push 0x1a
push eax
push edi
call fcn.00407270
xor ecx, ecx
nop dword [eax]
movzx eax, word [ebp + ecx - 0x1098]
lea ecx, [ecx + 2]
mov word [ebp + ecx - 0x87a], ax
test ax, ax
jne 0x4064d0
lea eax, [ebp - 0x878]
push 0x5c
push eax
call fcn.004f07f4
add esp, 8
test eax, eax
jne 0x40650a
push ebx
mov ecx, esi
call fcn.00405ab0
jmp 0x40693d
xor ecx, ecx
mov word [eax], cx
nop
movzx eax, word [ebp + ecx - 0x878]
lea ecx, [ecx + 2]
mov word [ebp + ecx - 0xc8a], ax
test ax, ax
jne 0x406510
lea ecx, [ebp - 0xc88]
add ecx, 0xfffffffe
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x406531
mov eax, dword [str.Local]
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov dword [ecx], eax
mov eax, dword [0x558da0]
mov dword [ecx + 4], eax
mov eax, dword [0x558da4]
mov dword [ecx + 8], eax
mov ax, word [0x558da8]
mov word [ecx + 0xc], ax
lea eax, [ebp - 0xc88]
push eax
call ebx
test eax, eax
mov esi, 1
cmovne edi, esi
xor ecx, ecx
mov dword [ebp - 0x10f0], edi
nop
movzx eax, word [ebp + ecx - 0x878]
lea ecx, [ecx + 2]
mov word [ebp + ecx - 0xa82], ax
test ax, ax
jne 0x406580
lea ecx, [ebp - 0xa80]
add ecx, 0xfffffffe
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x4065a1
mov eax, dword [str.LocalLow]
mov dword [ecx], eax
mov eax, dword [0x558db0]
mov dword [ecx + 4], eax
mov eax, dword [0x558db4]
mov dword [ecx + 8], eax
mov eax, dword [0x558db8]
mov dword [ecx + 0xc], eax
mov eax, dword [0x558dbc]
mov dword [ecx + 0x10], eax
lea eax, [ebp - 0xa80]
push eax
call ebx
test eax, eax
mov dword [ebp - 0x10a4], 0
mov eax, 0
mov dword [ebp - 0x10a0], 0
cmovne eax, esi
mov dword [ebp - 0x109c], 0
mov dword [ebp - 0x10f4], eax
mov ecx, 0x44
mov byte [ebp - 4], 3
mov esi, str.hqYBrPC2f96PmnbBYUUx32VfxCvDrGT9sOPOEJspvVgC55knIATLn8HDmJ09qvCwssgiJ9httNNwGUZs2CWBnm2syweOqUQSRAbiVeNdVlZsrznjN2ZsxUTuLMywJ8UhGYENYRT8pCPUqI2xF2ywktb0DY97bqaIjzNMIgbZteEOD0nyorEM3kDk07yrAjMPk3FPPyhAMUO3xaonMWHyxAQkZxPNZg0cARq75qZUejytK7CMxxhlZCFbeh7MCt2QYSoxWUDU1F5WqMX
mov dword [ebp - 0x10b4], 0xf
lea edi, [ebp - 0x30c]
mov dword [ebp - 0x10b8], 0
rep movsd dword es:[edi], dword [esi]
cmp byte [ebp - 0x30c], 0
mov byte [ebp - 0x10c8], 0
jne 0x406649
xor ecx, ecx
jmp 0x40665b
lea ecx, [ebp - 0x30c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406652
sub ecx, edx
push ecx
lea eax, [ebp - 0x30c]
push eax
lea ecx, [ebp - 0x10c8]
call fcn.00407d30
lea eax, [ebp - 0x10c8]
mov byte [ebp - 4], 4
push eax
lea ecx, [ebp - 0x10a4]
call fcn.00407f90
mov eax, dword [ebp - 0x10b4]
cmp eax, 0x10
jb 0x4066a2
inc eax
lea ecx, [ebp - 0x10c8]
push eax
push dword [ebp - 0x10c8]
call fcn.00407e30
xor ecx, ecx
movzx eax, word [ebp + ecx - 0x878]
lea ecx, [ecx + 2]
mov word [ebp + ecx - 0xe92], ax
test ax, ax
jne 0x4066a4
lea ecx, [ebp - 0xe90]
add ecx, 0xfffffffe
mov ax, word [ecx + 2]
lea ecx, [ecx + 2]
test ax, ax
jne 0x4066c5
mov eax, dword [str.Roaming]
mov dword [ecx], eax
mov eax, dword [0x558ed4]
mov dword [ecx + 4], eax
mov eax, dword [0x558ed8]
mov dword [ecx + 8], eax
mov eax, dword [0x558edc]
mov dword [ecx + 0xc], eax
mov ax, word [0x558ee0]
mov word [ecx + 0x10], ax
lea eax, [ebp - 0xe90]
push eax
call ebx
test eax, eax
mov dword [ebp - 0x10bc], 0
mov eax, 0
mov dword [ebp - 0x10b8], 0
mov ecx, 1
mov dword [ebp - 0x10b4], 0
cmovne eax, ecx
mov dword [ebp - 0x10e4], eax
mov ecx, 0x3d
mov byte [ebp - 4], 5
mov esi, str.ZLQJW9u97HuO6qWlmBR4qvxONUwghRyEgPlZNwX9k5pj1E7Rdg2cqWIbMe3fyJgcAbrom7c2rMDiACJOvwmrsJifUocrEKnue7uai8eMDbLJL5ASW6ePuYYDk2XzG85ApvYul5zGEbGCdF575r3iGl0NH7X8EDua8hGko4TQ9qj25sQtrmu8Ea73hn3ofkHbyAcuQ12qnjzZH753jQ8pFazn1TAS2c73noPLLh7HN9Wn6EPeRy3U
mov dword [ebp - 0x10cc], 0xf
lea edi, [ebp - 0x1fc]
mov dword [ebp - 0x10d0], 0
rep movsd dword es:[edi], dword [esi]
mov byte [ebp - 0x10e0], 0
movsb byte es:[edi], byte [esi]
cmp byte [ebp - 0x1fc], 0
jne 0x406775
xor ecx, ecx
jmp 0x406789
lea ecx, [ebp - 0x1fc]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x406780
sub ecx, edx
push ecx
lea eax, [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0x10e0]
call fcn.00407d30
lea eax, [ebp - 0x10e0]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x10bc]
call fcn.00407f90
mov eax, dword [ebp - 0x10cc]
mov byte [ebp - 4], 5
cmp eax, 0x10
jb 0x4067d4
inc eax
lea ecx, [ebp - 0x10e0]
push eax
push dword [ebp - 0x10e0]
call fcn.00407e30
cmp dword [ebp - 0x10f0], 0
je 0x406894
mov eax, dword [ebp - 0x10f4]
test eax, eax
je 0x406894
mov eax, dword [ebp - 0x10e4]
test eax, eax
je 0x406894
push str.BundleBind
lea eax, [ebp - 0xa80]
push eax
lea eax, [ebp - 0x514]
push str._s_s_
push eax
call fcn.00408010
add esp, 0x10
lea eax, [ebp - 0x514]
push eax
call ebx
test eax, eax
jne 0x406839
lea eax, [ebp - 0x514]
push eax
call fcn.004ce52f
add esp, 4
call fcn.00402160
cmp word [ebp - 0x514], 0
jne 0x40685f
xor ecx, ecx
lea eax, [ebp - 0x514]
push ecx
mov ecx, dword [ebp - 0x10e8]
push eax
call fcn.00402650
jmp 0x4068a5
lea ecx, [ebp - 0x514]
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406870
sub ecx, edx
lea eax, [ebp - 0x514]
sar ecx, 1
push ecx
mov ecx, dword [ebp - 0x10e8]
push eax
call fcn.00402650
jmp 0x4068a5
push dword [ebp - 0x10e8]
mov ecx, dword [ebp - 0x10ec]
call fcn.00405ab0
mov esi, dword [ebp - 0x10bc]
test esi, esi
je 0x4068f1
push dword [ebp - 0x10e4]
lea eax, [ebp - 0x10bc]
push eax
push dword [ebp - 0x10b8]
push esi
call fcn.004056a0
mov ecx, dword [ebp - 0x10b4]
mov eax, 0x2aaaaaab
sub ecx, esi
add esp, 0x10
imul ecx
lea ecx, [ebp - 0x10bc]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
call fcn.00407e90
mov esi, dword [ebp - 0x10a4]
test esi, esi
je 0x40693d
push dword [ebp - 0x10e4]
lea ecx, [ebp - 0x10a4]
push ecx
push dword [ebp - 0x10a0]
push esi
call fcn.004056a0
mov ecx, dword [ebp - 0x109c]
mov eax, 0x2aaaaaab
sub ecx, esi
add esp, 0x10
imul ecx
lea ecx, [ebp - 0x10a4]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
call fcn.00407e90
lea ecx, [ebp - 0x1100]
call fcn.00405970
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.00474d9e
mov esp, ebp
pop ebp
ret 4