Function at 0x404658
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x60
mov dword [ebp - 0x10], 0xe2e4d526
mov edi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x24], eax
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
mov eax, dword [ebp - 0x10]
cmp eax, 0x2cfbd5ed
jg 0x4046d4
cmp eax, 0xd3d47d4c
jg 0x404732
cmp eax, 0xb5238c97
jg 0x4047ec
cmp eax, 0x8b5bda0b
jg 0x404907
cmp eax, 0x814c574a
je 0x404b0a
cmp eax, 0x822d09c5
je 0x404b16
cmp eax, 0x89315936
jne 0x40467a
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x10], 0x814c574a
jmp 0x40467a
cmp eax, 0x4afd9ee9
jg 0x40479c
cmp eax, 0x3dfc6e2e
jg 0x40482c
cmp eax, 0x30444666
jg 0x404958
cmp eax, 0x2cfbd5ee
je 0x404b30
cmp eax, 0x2e68f7fd
je 0x404b54
cmp eax, 0x2f357b4d
jne 0x40467a
mov eax, dword [ebp - 0x14]
shr eax, 5
lea eax, [eax*8 + 0x1b]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xbb6bd3bb
jmp 0x40467a
cmp eax, 0xfa4794cf
jg 0x404871
cmp eax, 0xed6ce601
jg 0x404985
cmp eax, 0xd3d47d4d
je 0x404b79
cmp eax, 0xe2e4d526
je 0x404b93
cmp eax, 0xe5be4b7c
jne 0x40467a
mov eax, dword [ebp - 0x14]
mov ecx, 0x131
add eax, ecx
mov ecx, eax
imul ecx, eax
shr eax, 8
imul edx, ecx, 0x4f65
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0x64c4a4b2
cmp ecx, edx
je 0x404f0a
mov eax, 0x3e52ca15
jmp 0x404f0a
cmp eax, 0x697bd609
jle 0x4048b4
cmp eax, 0x7ed42759
jg 0x4049c4
cmp eax, 0x697bd60a
je 0x404b9f
cmp eax, 0x7759dc37
je 0x404bd6
cmp eax, 0x7dbbe635
jne 0x40467a
mov eax, dword [ebp - 0x30]
movzx ecx, word [0x4750ea]
mov word [eax], cx
mov dword [ebp - 0x10], 0x96e4aa91
jmp 0x40467a
cmp eax, 0xbb6bd3ba
jg 0x404a11
cmp eax, 0xb5238c98
je 0x404bf1
cmp eax, 0xb6220657
je 0x404c21
cmp eax, 0xb9250cea
jne 0x40467a
mov eax, dword [ebp - 0x5c]
mov word [eax], 0
mov dword [ebp - 0x10], 0xb5238c98
jmp 0x40467a
cmp eax, 0x3fbd283d
jg 0x404a60
cmp eax, 0x3dfc6e2f
je 0x404c40
cmp eax, 0x3e52ca15
je 0x404c69
cmp eax, 0x3f980cc8
jne 0x40467a
mov eax, dword [ebp - 0x38]
movzx ecx, word [0x4750f2]
mov word [eax], cx
mov dword [ebp - 0x10], 0x7ef46fc5
jmp 0x40467a
cmp eax, 0x1fe8acfc
jg 0x404a9f
cmp eax, 0xfa4794d0
je 0x404c9f
cmp eax, 0x123d345e
je 0x404cc2
cmp eax, 0x1259ed3f
jne 0x40467a
push dword [ebp - 0x18]
call fcn.00460b1c
add esp, 4
mov dword [ebp - 0x10], 0x662f916b
jmp 0x40467a
cmp eax, 0x617e93dc
jg 0x404acc
cmp eax, 0x4afd9eea
je 0x404cf8
cmp eax, 0x5352a23c
je 0x404d0c
cmp eax, 0x59e72280
jne 0x40467a
lea edi, [edi + edi*8]
shl edi, 8
add edi, 0x3b100
mov eax, 0x7759dc37
cmp edi, 0xfe
jge 0x404f0a
mov eax, 0x4184e190
jmp 0x404f0a
cmp eax, 0x8b5bda0c
je 0x404d18
cmp eax, 0x96e4aa91
je 0x404d4e
cmp eax, 0xb2ef7c36
jne 0x40467a
mov eax, dword [ebp - 0x14]
lea ecx, [eax - 0xc8]
imul ecx, ecx
imul edx, ecx, 0x1abd
dec edx
add eax, 0x2f
mov dword [ebp - 0x14], eax
mov eax, 0xf53cb2ee
cmp ecx, edx
je 0x404f0a
mov eax, 0xc6986cd1
jmp 0x404f0a
cmp eax, 0x30444667
je 0x404d6f
cmp eax, 0x3c221f8a
je 0x404da3
cmp eax, 0x3c4214c6
jne 0x40467a
mov dword [ebp - 0x10], 0x8b5bda0c
jmp 0x40467a
cmp eax, 0xed6ce602
je 0x404db5
cmp eax, 0xf53cb2ee
je 0x404dd6
cmp eax, 0xf9f37ae3
jne 0x40467a
push 2
push 0x104
call fcn.004600e3
add esp, 8
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xf53cb2ee
jmp 0x40467a
cmp eax, 0x7ed4275a
je 0x404deb
cmp eax, 0x7ef46fc5
je 0x404e14
cmp eax, 0x7fbe84b8
jne 0x40467a
mov eax, dword [ebp - 0x14]
shl eax, 0xd
and eax, 0x7fffe000
add eax, 0xffffffda
shr eax, 0xb
imul eax, eax, 0x74
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x89315936
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x64]
jmp 0x40467a
cmp eax, 0xbb6bd3bb
je 0x404e51
cmp eax, 0xbb84be91
je 0x404e5d
cmp eax, 0xc6986cd1
jne 0x40467a
push dword [ebp - 0x34]
push dword [ebp - 0x1c]
call esi
mov eax, dword [ebp + 8]
push dword [eax + 8]
push dword [ebp - 0x1c]
call esi
push eax
mov eax, esp
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
add eax, 2
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x10], 0xb9250cea
jmp 0x40467a
cmp eax, 0x3fbd283e
je 0x404e88
cmp eax, 0x4184e190
je 0x404ea8
cmp eax, 0x446ff40c
jne 0x40467a
imul edi, edi, 0x118000
mov eax, 0x3e52ca15
cmp edi, 0x75
jl 0x404f0a
mov eax, 0x3c221f8a
jmp 0x404f0a
cmp eax, 0x1fe8acfd
je 0x404ebc
cmp eax, 0x20357a4c
je 0x404edd
cmp eax, 0x2bdaf2d1
jne 0x40467a
mov dword [ebp - 0x10], 0xb6220657
jmp 0x40467a
cmp eax, 0x617e93dd
je 0x404ef2
cmp eax, 0x64c4a4b2
jne 0x404f12
push 2
push 0x104
call fcn.004600e3
add esp, 8
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
push dword [eax]
push dword [ebp - 0x1c]
call esi
mov dword [ebp - 0x10], 0x3c221f8a
jmp 0x40467a
mov dword [ebp - 0x10], 0xbb84be91
jmp 0x40467a
mov eax, dword [ebp - 0x14]
shl eax, 6
add eax, 0x22fc
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x662f916b
jmp 0x40467a
push dword [ebp - 0x38]
push dword [ebp - 0x1c]
call esi
push dword [ebp + 0xc]
push dword [ebp - 0x1c]
call esi
xor eax, eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0x123d345e
jmp 0x40467a
imul eax, dword [ebp - 0x14], 0x6a
add eax, 0xd9
shr eax, 8
and eax, 0x7fff
add eax, 0xffffff3e
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x2cfbd5ee
jmp 0x40467a
add edi, edi
add edi, 0x50
and edi, 0xfffffe00
add edi, 0xffffffdb
mov dword [ebp - 0x10], 0x4184e190
jmp 0x40467a
mov dword [ebp - 0x10], 0x5352a23c
jmp 0x40467a
cmp dword [ebp - 0x40], 0
mov eax, 0x3c4214c6
je 0x404baf
mov eax, 0x89315936
cmp byte [ebp - 0x1d], 0
jne 0x404bba
mov eax, 0x89315936
cmp dword [ebp + 0x14], 1
je 0x404bc5
mov eax, 0x89315936
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x24], eax
mov ebx, dword [ebp - 0x40]
jmp 0x40467a
push eax
mov eax, esp
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
add eax, 2
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x10], 0x4184e190
jmp 0x40467a
mov ecx, dword [ebp - 0x14]
add ecx, 0x55
imul eax, ecx, 0x1fe8250
imul ecx, ecx
imul edx, ecx, 0x78b9
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0x7dbbe635
cmp edx, ecx
je 0x404f0a
mov eax, 0x3f980cc8
jmp 0x404f0a
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x18]
call fcn.00410687
add esp, 0xc
mov dword [ebp - 0x10], 0x30444667
jmp 0x40467a
shr edi, 0xd
imul edi, edi, 0x1b2000
add edi, 0xf6e3401f
mov eax, 0x617e93dd
cmp edi, 0x104
jae 0x404c61
mov eax, 0x3f980cc8
shr edi, 2
jmp 0x404f0a
mov eax, dword [ebp - 0x58]
mov word [eax], 0
mov eax, dword [ebp - 0x34]
movzx ecx, word [0x4750ee]
mov word [eax], cx
xor eax, eax
inc eax
push eax
push 0x4750f0
push eax
push dword [ebp - 0x34]
call fcn.0040a0f0
add esp, 0x10
mov dword [ebp - 0x10], 0xb2ef7c36
jmp 0x40467a
and edi, 0xfffffffc
add edi, edi
add edi, 0x133
mov eax, 0x1c3cf6f9
cmp edi, 0x7e
jae 0x404f0a
mov eax, 0x7dbbe635
jmp 0x404f0a
mov eax, dword [ebp - 0x14]
mov ecx, 0xfffffe93
add eax, ecx
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x1705
shr eax, 2
and eax, 0xffffff80
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0x3e52ca15
cmp edx, ecx
je 0x404f0a
mov eax, 0x2bdaf2d1
jmp 0x404f0a
push dword [ebp - 0x50]
push dword [ebp - 0x18]
call esi
mov dword [ebp - 0x10], 0x7759dc37
jmp 0x40467a
mov dword [ebp - 0x10], 0xf9f37ae3
jmp 0x40467a
push dword [ebp - 0x18]
call fcn.0040a6c8
add esp, 4
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x18]
call fcn.00410687
add esp, 0xc
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x10], 0x7fbe84b8
jmp 0x40467a
xor eax, eax
inc eax
push eax
push 0x4750ec
push eax
push dword [ebp - 0x30]
call fcn.0040a0f0
add esp, 0x10
mov dword [ebp - 0x10], 0x7ed4275a
jmp 0x40467a
mov ecx, dword [ebp - 0x14]
mov eax, 0x159
add ecx, eax
imul eax, ecx, 0x160000
imul ecx, ecx
imul edx, ecx, 0x62a1
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0x3dfc6e2f
cmp edx, ecx
je 0x404f0a
mov eax, 0x3fbd283e
jmp 0x404f0a
push eax
mov eax, esp
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0x20357a4c
jmp 0x40467a
xor eax, eax
inc eax
push eax
push 0x4750f4
push eax
push dword [ebp - 0x38]
call fcn.0040a0f0
add esp, 0x10
mov dword [ebp - 0x10], 0x2e68f7fd
jmp 0x40467a
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x10], 0x4afd9eea
jmp 0x40467a
push dword [ebp - 0x30]
push dword [ebp - 0x18]
call esi
push dword [ebp + 0xc]
push dword [ebp - 0x18]
call esi
push dword [ebp - 0x18]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ecx, 0x822d09c5
test eax, eax
je 0x404e49
mov ecx, 0x64c4a4b2
jmp 0x404e49
mov eax, dword [ebp - 0x14]
shr eax, 5
and eax, 0x3fff
imul ecx, eax, 0xf3
imul eax, eax
imul edx, eax, 0x669d
add ecx, 0x5cde
dec edx
shr ecx, 9
mov dword [ebp - 0x14], ecx
mov ecx, 0x6e6eb302
cmp eax, edx
je 0x404e49
mov ecx, 0xed6ce602
mov dword [ebp - 0x10], ecx
jmp 0x40467a
mov dword [ebp - 0x10], 0x697bd60a
jmp 0x40467a
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
push dword [ebp - 0x1c]
push dword [ebp + 0x10]
call fcn.00428681
add esp, 0x10
push dword [ebp - 0x1c]
call fcn.00460b1c
add esp, 4
mov dword [ebp - 0x10], 0x1259ed3f
jmp 0x40467a
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
sete byte [ebp - 0x1d]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], 0x2f357b4d
jmp 0x40467a
mov eax, dword [ebp - 0x54]
mov word [eax], 0
mov dword [ebp - 0x10], 0x7dbbe635
jmp 0x40467a
shl edi, 0x1f
push 0x5f33
push edi
call fcn.004030a1
add esp, 8
mov eax, 0x64c4a4b2
test edi, edi
je 0x404f0a
mov eax, 0xd3d47d4d
jmp 0x404f0a
mov eax, dword [ebp - 0x34]
add eax, 2
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x10], 0xe5be4b7c
jmp 0x40467a
imul edi, edi, 0x74
add edi, 0x429c
mov eax, 0x2cfbd5ee
cmp edi, 0x38
jae 0x404f0a
mov eax, 0x96e4aa91
mov dword [ebp - 0x10], eax
jmp 0x40467a
cmp eax, 0x662f916b
jne 0x40467a
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x48], ebx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x44], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret