Function at 0x403e89
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x34
mov dword [ebp - 0x10], 0x8681af85
mov esi, dword [ebp - 0x34]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatW]
mov eax, dword [ebp - 0x10]
cmp eax, 0x19f57cc5
jle 0x403efc
cmp eax, 0x4cb9aa66
jg 0x403f70
cmp eax, 0x3c89efe7
jle 0x404013
cmp eax, 0x472fb091
jg 0x40414a
cmp eax, 0x3c89efe8
je 0x40430a
cmp eax, 0x458b02aa
je 0x404347
cmp eax, 0x45d02275
jne 0x403ea2
mov eax, dword [ebp - 0x24]
add eax, 2
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], 0x472fb092
jmp 0x403ea2
cmp eax, 0xc1dca120
jle 0x403fb3
cmp eax, 0xf9537f0a
jle 0x404057
cmp eax, 0x575c548
jg 0x40418d
cmp eax, 0xf9537f0b
je 0x404362
cmp eax, 0xfb7e1644
je 0x404381
cmp eax, 0x3738b1
jne 0x403ea2
mov eax, dword [ebp - 0x14]
lea ecx, [eax - 0x9a]
imul ecx, ecx
imul edx, ecx, 0x8599
add eax, eax
add eax, 0x17
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0x8fdc61c4
cmp ecx, edx
je 0x404623
mov eax, 0x45d02275
jmp 0x404623
cmp eax, 0x59f267ca
jle 0x4040a8
cmp eax, 0x77c42d43
jg 0x4041d0
cmp eax, 0x59f267cb
je 0x404399
cmp eax, 0x66bf0b88
je 0x4043b7
cmp eax, 0x776a9662
jne 0x403ea2
mov dword [ebp - 0x10], 0xb2e21cc0
jmp 0x403ea2
cmp eax, 0x91e06b95
jle 0x404106
cmp eax, 0xbe462a28
jg 0x404209
cmp eax, 0x91e06b96
je 0x4043cd
cmp eax, 0x9597bb75
je 0x4043d9
cmp eax, 0xb2e21cc0
jne 0x403ea2
push 2
push 0x104
call fcn.0044bd43
add esp, 8
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
push dword [eax + 4]
push dword [ebp - 0x1c]
call edi
mov dword [ebp - 0x10], 0x4cb9aa67
jmp 0x403ea2
cmp eax, 0x254d45ef
jle 0x404233
cmp eax, 0x254d45f0
je 0x404400
cmp eax, 0x26cd3b3c
je 0x40441d
cmp eax, 0x289ad8ce
jne 0x403ea2
mov eax, dword [ebp - 0x14]
shl eax, 3
lea eax, [eax + eax*4]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x77c42d44
jmp 0x403ea2
cmp eax, 0xea9b3830
jle 0x404255
cmp eax, 0xea9b3831
je 0x40443b
cmp eax, 0xf701f1b9
je 0x404447
cmp eax, 0xf76a33d8
jne 0x403ea2
mov eax, dword [ebp + 8]
push dword [eax]
push dword [ebp - 0x18]
call edi
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
add eax, 2
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], 0x458b02aa
jmp 0x403ea2
cmp eax, 0x5317cc07
jle 0x40429f
cmp eax, 0x5317cc08
je 0x404462
cmp eax, 0x5370f3ae
je 0x40447d
cmp eax, 0x580ad7fd
jne 0x403ea2
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 0xde]
imul ecx, ecx
imul edx, ecx, 0x3afb
add eax, 0x12e
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0x8681af85
cmp ecx, edx
je 0x404623
mov eax, 0x91e06b96
jmp 0x404623
cmp eax, 0x8681af84
jle 0x4042db
cmp eax, 0x8681af85
je 0x4044a2
cmp eax, 0x8f2afd62
je 0x4044b4
cmp eax, 0x8fdc61c4
jne 0x403ea2
imul esi, esi, 0xf800
add esi, 0xffffff68
mov dword [ebp - 0x10], 0x4cb9aa67
jmp 0x403ea2
cmp eax, 0x472fb092
je 0x4044dd
cmp eax, 0x49fa6eb1
je 0x4044fa
cmp eax, 0x4a6d82c8
jne 0x403ea2
mov eax, dword [ebp - 0x2c]
mov word [eax + 2], 0
mov eax, dword [ebp - 0x2c]
movzx ecx, word [0x463104]
mov word [eax], cx
mov dword [ebp - 0x10], 0xfb7e1644
jmp 0x403ea2
cmp eax, 0x575c549
je 0x404537
cmp eax, 0xe1c1672
je 0x404543
cmp eax, 0xefb2c4c
jne 0x403ea2
mov eax, dword [ebp - 0x20]
push dword [eax]
push dword [ebp - 0x30]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
call fcn.0041eef6
add esp, 0x10
mov dword [ebp - 0x10], 0x254d45f0
jmp 0x403ea2
cmp eax, 0x77c42d44
je 0x40456c
cmp eax, 0x78a8fd04
je 0x4045b3
cmp eax, 0x7bfc944e
jne 0x403ea2
add esi, 0xee
shr esi, 6
add esi, 0x3e
mov dword [ebp - 0x10], 0x5317cc08
jmp 0x403ea2
cmp eax, 0xbe462a29
je 0x4045bf
cmp eax, 0xc0873920
jne 0x4046a3
push dword [ebp + 0xc]
push dword [ebp - 0x18]
call edi
mov dword [ebp - 0x10], 0x49fa6eb1
jmp 0x403ea2
cmp eax, 0x19f57cc6
je 0x4045fc
cmp eax, 0x1d875811
jne 0x403ea2
mov dword [ebp - 0x10], 0x59f267cb
jmp 0x403ea2
cmp eax, 0xc1dca121
je 0x40462b
cmp eax, 0xe472923f
jne 0x403ea2
shl esi, 6
mov ebx, esi
add ebx, 0x3920
mov esi, ebx
shr esi, 8
push esi
call fcn.0040116d
add esp, 4
mov eax, 0x77c42d44
cmp ebx, 0x1b00
jae 0x404623
mov eax, 0xea9b3831
jmp 0x404623
cmp eax, 0x4cb9aa67
je 0x40463f
cmp eax, 0x51eece7b
jne 0x403ea2
mov ecx, dword [ebp - 0x14]
add ecx, 0x58
mov eax, ecx
shl eax, 0x18
imul ecx, ecx
imul edx, ecx, 0x24b1
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0x8f2afd62
cmp ecx, edx
jne 0x40433d
jmp 0x404623
cmp eax, 0x82414406
je 0x404651
cmp eax, 0x83a89514
jne 0x403ea2
cmp dword [ebp - 0x3c], 0
mov eax, 0xc03e0337
je 0x404623
mov eax, 0x1d875811
jmp 0x404623
mov ebx, esi
add ebx, 0xffffffe9
mov esi, ebx
shr esi, 9
push 0x1ddc
push 0x20f3
push esi
push 0x4a55
call fcn.004039e8
add esp, 0x10
mov eax, 0x82414406
cmp ebx, 0x13600
jae 0x404623
mov eax, 0x4a6d82c8
jmp 0x404623
imul eax, dword [ebp - 0x14], 0x710000
add eax, 0x3e8000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xc1dca121
jmp 0x403ea2
mov eax, dword [ebp - 0x14]
mov ecx, 0x3ffff
and eax, ecx
imul eax, eax, 0xca
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xea9b3831
jmp 0x403ea2
mov eax, dword [ebp - 0x14]
shl eax, 0xd
add eax, 0xffffffcb
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xe1c1672
jmp 0x403ea2
push 2
push 0x104
call fcn.0044bd43
add esp, 8
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xf76a33d8
jmp 0x403ea2
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 0x9597bb75
jmp 0x403ea2
mov dword [ebp - 0x10], 0x776a9662
jmp 0x403ea2
mov eax, dword [ebp - 0x20]
mov dword [eax], 0
push dword [ebp - 0x20]
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x1c]
call fcn.0040e568
add esp, 0xc
mov dword [ebp - 0x10], 0xefb2c4c
jmp 0x403ea2
mov eax, dword [ebp - 0x14]
lea eax, [eax + eax*2]
shl eax, 0xd
add eax, 0x19d000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x5370f3ae
jmp 0x403ea2
shl esi, 0xd
add esi, 0x1e031
push esi
call fcn.00401a08
add esp, 4
mov dword [ebp - 0x10], 0x8681af85
jmp 0x403ea2
mov dword [ebp - 0x10], 0x3738b1
jmp 0x403ea2
add esi, 0x8e
shr esi, 3
add esi, 0x9d
mov dword [ebp - 0x10], 0xf76a33d8
jmp 0x403ea2
imul esi, esi, 0xc780000
add esi, 0xffffffd0
and esi, 0xffffc000
mov dword [ebp - 0x10], 0x4cb9aa67
jmp 0x403ea2
push dword [ebp - 0x18]
call fcn.0044c77c
add esp, 4
push dword [ebp - 0x1c]
call fcn.0044c77c
add esp, 4
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 0x19f57cc6
jmp 0x403ea2
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0x580ad7fd
jmp 0x403ea2
lea eax, [esi + esi*4]
shl eax, 5
add eax, 0x2120
shr eax, 5
imul esi, eax, 0xb9000
push esi
call fcn.004021c5
add esp, 4
mov dword [ebp - 0x10], 0xe472923f
jmp 0x403ea2
mov eax, dword [ebp - 0x14]
shl eax, 0xe
or eax, 0x83
imul eax, eax, 0x68
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x82414406
jmp 0x403ea2
mov eax, dword [ebp - 0x14]
shr eax, 0xe
add eax, 0xffffff5e
imul ecx, eax, 0x62
imul eax, eax
add ecx, 0xd0
imul edx, eax, 0x591b
shr ecx, 7
dec edx
add ecx, 0xffffffd8
mov dword [ebp - 0x14], ecx
mov ecx, 0x3c89efe8
cmp edx, eax
je 0x40452f
mov ecx, 0x575c549
mov dword [ebp - 0x10], ecx
jmp 0x403ea2
mov dword [ebp - 0x10], 0x66bf0b88
jmp 0x403ea2
xor eax, eax
inc eax
push eax
push 0x463106
push eax
push dword [ebp - 0x2c]
call fcn.00408de0
add esp, 0x10
push dword [ebp - 0x2c]
push dword [ebp - 0x18]
call edi
mov dword [ebp - 0x10], 0xc0873920
jmp 0x403ea2
mov eax, dword [ebp - 0x28]
movzx ecx, word [0x463100]
mov word [eax], cx
xor eax, eax
inc eax
push eax
push 0x463102
push eax
push dword [ebp - 0x28]
call fcn.00408de0
add esp, 0x10
push dword [ebp - 0x28]
push dword [ebp - 0x18]
call edi
mov eax, dword [ebp + 8]
push dword [eax + 8]
push dword [ebp - 0x18]
call edi
push eax
mov eax, esp
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0x51eece7b
jmp 0x403ea2
mov dword [ebp - 0x10], 0xc03e0337
jmp 0x403ea2
shl esi, 0x1a
lea eax, [esi + esi*8]
mov esi, 0xffff1774
sub esi, eax
push esi
push 0x2bfa
push 0x33da
call fcn.004046b9
add esp, 0xc
push esi
call fcn.00402427
add esp, 4
mov eax, 0xb2e21cc0
cmp esi, 0xde
jl 0x404623
mov eax, 0x4cb9aa67
jmp 0x404623
mov eax, dword [ebp - 0x14]
mov ecx, 0xb1
add eax, ecx
mov dword [ebp - 0x14], eax
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x851d
dec edx
mov eax, 0xc1dca121
cmp ecx, edx
je 0x404623
mov eax, 0x78a8fd04
mov dword [ebp - 0x10], eax
jmp 0x403ea2
mov eax, dword [ebp - 0x40]
mov word [eax], 0
mov dword [ebp - 0x10], 0x289ad8ce
jmp 0x403ea2
push eax
mov eax, esp
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0xf9537f0b
jmp 0x403ea2
mov eax, dword [ebp - 0x38]
mov word [eax], 0
mov eax, dword [ebp - 0x24]
movzx ecx, word [0x4630fc]
mov word [eax], cx
xor eax, eax
inc eax
push eax
push 0x4630fe
push eax
push dword [ebp - 0x24]
call fcn.00408de0
add esp, 0x10
push dword [ebp - 0x24]
push dword [ebp - 0x1c]
call edi
push dword [ebp + 0xc]
push dword [ebp - 0x1c]
call edi
push dword [ebp - 0x1c]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], 0x83a89514
jmp 0x403ea2
cmp eax, 0xc03e0337
jne 0x403ea2
mov dword [ebp - 0x34], esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret