Function at 0x403e68
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2c
mov edi, dword [ebp + 8]
mov dword [ebp - 0x10], 0xe2e4d526
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x10]
cmp eax, 0x2e68f7fc
jle 0x403f06
cmp eax, 0x4afd9ee9
jle 0x403f4e
cmp eax, 0x7759dc36
jle 0x403fef
cmp eax, 0x7ed42759
jg 0x4040e3
cmp eax, 0x7759dc37
je 0x4041a6
cmp eax, 0x7dbbe635
jne 0x403e7e
push dword [edi]
push dword [ebp - 0x18]
mov eax, dword [sym.imp.KERNEL32.dll_lstrcatW]
call eax
push eax
mov ebx, esp
mov word [ebx + 2], 0
movzx eax, word [0x46f0de]
mov word [ebx], ax
xor eax, eax
inc eax
push eax
push 0x46f0e0
push eax
push ebx
call fcn.00408a60
add esp, 0x10
push ebx
mov edi, dword [ebp + 8]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov dword [ebp - 0x10], 0x7ed4275a
jmp 0x403e7e
cmp eax, 0xe5be4b7b
jle 0x403f86
cmp eax, 0xf9f37ae2
jle 0x404022
cmp eax, 0x2bdaf2d0
jg 0x404128
cmp eax, 0xf9f37ae3
je 0x4041c4
cmp eax, 0x20357a4c
jne 0x403e7e
mov eax, dword [ebp - 0x24]
add eax, 2
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], 0x3e52ca15
jmp 0x403e7e
cmp eax, 0x3e52ca14
jle 0x404081
cmp eax, 0x3fbd283d
jle 0x404148
cmp eax, 0x3fbd283e
je 0x4041d9
cmp eax, 0x4184e190
jne 0x403e7e
mov dword [ebp - 0x10], 0x7dbbe635
jmp 0x403e7e
cmp eax, 0xb9250ce9
jg 0x4040bd
cmp eax, 0x96e4aa91
je 0x4041ea
cmp eax, 0xb2ef7c36
je 0x404202
cmp eax, 0xb5238c98
jne 0x403e7e
imul eax, dword [ebp - 0x14], 0x78
shr eax, 0xd
lea ecx, [eax + 0x18]
imul eax, eax
shr ecx, 0xf
imul edx, eax, 0x1933
dec edx
imul ecx, ecx, 0x230000
add ecx, 0xf0470000
mov dword [ebp - 0x14], ecx
mov ecx, 0x4afd9eea
cmp eax, edx
je 0x40427b
mov ecx, 0x3f980cc8
jmp 0x40427b
cmp eax, 0x4afd9eea
je 0x404224
cmp eax, 0x5352a23c
je 0x404283
cmp eax, 0x64c4a4b2
jne 0x403e7e
push eax
mov eax, esp
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0x20357a4c
jmp 0x403e7e
cmp eax, 0xe5be4b7c
je 0x4042b3
cmp eax, 0xed6ce602
je 0x4042bf
cmp eax, 0xf53cb2ee
jne 0x403e7e
mov ecx, dword [ebp - 0x14]
imul eax, ecx, 0x7d
add eax, 0xffff7e9b
imul eax, eax
imul ecx, ecx, 0xfa
add ecx, 0xfffefe84
imul edx, eax, 0x8087
dec edx
shr ecx, 2
mov dword [ebp - 0x14], ecx
mov ecx, 0xed6ce602
cmp edx, eax
je 0x40427b
mov ecx, 0xf9f37ae3
jmp 0x40427b
cmp eax, 0x2e68f7fd
je 0x4042d7
cmp eax, 0x30444667
je 0x4042ff
cmp eax, 0x3c221f8a
jne 0x403e7e
imul eax, dword [ebp - 0x14], 0x5898
add eax, 0x1cc
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x64c4a4b2
jmp 0x403e7e
cmp eax, 0xb9250cea
je 0x404320
cmp eax, 0xc6986cd1
je 0x40433d
cmp eax, 0xe2e4d526
je 0x4042f3
jmp 0x403e7e
cmp eax, 0x7ed4275a
je 0x404377
cmp eax, 0x7ef46fc5
jne 0x403e7e
add esi, 0xfffffe12
shr esi, 5
add esi, 0x76
shr esi, 4
imul esi, esi, 0x63
call fcn.00401a58
mov eax, 0x2cfbd5ee
cmp esi, 0x58
jb 0x4043b1
mov eax, 0x2e68f7fd
jmp 0x4043b1
cmp eax, 0x2bdaf2d1
je 0x404396
cmp eax, 0x2cfbd5ee
jne 0x403e7e
shr esi, 1
add esi, 0xfffffff8
jmp 0x4042f3
cmp eax, 0x3e52ca15
jne 0x4043b9
mov eax, dword [ebp - 0x38]
mov word [eax], 0
mov eax, dword [ebp - 0x24]
movzx ecx, word [0x46f0e2]
mov word [eax], cx
xor eax, eax
inc eax
push eax
push 0x46f0e4
push eax
push dword [ebp - 0x24]
call fcn.00408a60
add esp, 0x10
push dword [ebp - 0x24]
push dword [ebp - 0x18]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatW]
call ebx
push dword [ebp + 0xc]
push dword [ebp - 0x18]
call ebx
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x10], 0xe5be4b7c
jmp 0x403e7e
push 2
push 0x104
call fcn.0045a6a3
add esp, 8
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x4184e190
jmp 0x403e7e
mov eax, dword [ebp - 0x20]
add eax, 2
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0x4afd9eea
jmp 0x403e7e
imul esi, esi, 0xd800000
add esi, 0xf8700000
jmp 0x4042f3
push dword [edi + 8]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov dword [ebp - 0x10], 0x3c221f8a
jmp 0x403e7e
push dword [ebp - 0x18]
call fcn.0045b0dc
add esp, 4
push dword [ebp - 0x1c]
call fcn.0045b0dc
add esp, 4
mov dword [ebp - 0x10], 0x3f980cc8
jmp 0x403e7e
mov eax, dword [ebp - 0x34]
mov word [eax], 0
mov eax, dword [ebp - 0x20]
movzx ecx, word [0x46f0da]
mov word [eax], cx
xor eax, eax
inc eax
push eax
push 0x46f0dc
push eax
push dword [ebp - 0x20]
call fcn.00408a60
add esp, 0x10
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcatW]
call ebx
push dword [ebp + 0xc]
push dword [ebp - 0x1c]
call ebx
push dword [ebp - 0x1c]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ecx, 0xb5238c98
test eax, eax
je 0x40427b
mov ecx, 0x7759dc37
mov dword [ebp - 0x10], ecx
jmp 0x403e7e
push 2
push 0x104
call fcn.0045a6a3
add esp, 8
mov dword [ebp - 0x1c], eax
push dword [edi + 4]
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0xf53cb2ee
jmp 0x403e7e
mov dword [ebp - 0x10], 0xc6986cd1
jmp 0x403e7e
imul esi, esi, 0x3300
add esi, 0xffd59100
mov dword [ebp - 0x10], 0x7ef46fc5
jmp 0x403e7e
add esi, 0xfffffef1
shr esi, 4
push 0x542
push 0x48f0
push esi
call fcn.0040269f
add esp, 0xc
mov dword [ebp - 0x10], 0x5352a23c
jmp 0x403e7e
shl esi, 0xf
or esi, 0x25
mov eax, 0x5352a23c
cmp esi, 0xa9
jge 0x4043b1
mov eax, 0xf9f37ae3
jmp 0x4043b1
imul eax, dword [ebp - 0x14], 0x13ea8000
add eax, 0xffffff20
shr eax, 1
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xb2ef7c36
jmp 0x403e7e
mov dword [ebp - 0x28], 0
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x1c]
call fcn.0040e65e
add esp, 0xc
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
call fcn.0042466c
add esp, 0x10
mov dword [ebp - 0x10], 0xb9250cea
jmp 0x403e7e
mov eax, dword [ebp - 0x14]
shr eax, 5
and eax, 0x7fffc00
add eax, 0xfffe8f22
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x96e4aa91
jmp 0x403e7e
lea esi, [esi + esi*8]
shl esi, 0xe
add esi, 0xff964002
mov eax, 0x123d345e
cmp esi, 0x68
jb 0x4043b1
mov eax, 0xb6220657
mov dword [ebp - 0x10], eax
jmp 0x403e7e
cmp eax, 0x3f980cc8
jne 0x403e7e
mov dword [ebp - 0x30], esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret