Function at 0x403b5d
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x30
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x10], 0x8681af85
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x10]
cmp eax, 0x1d875810
jg 0x403be9
cmp eax, 0xf76a33d7
jg 0x403c84
cmp eax, 0x9597bb74
jle 0x403d69
cmp eax, 0xc1dca120
jg 0x403dcd
cmp eax, 0xb2e21cc0
je 0x403fb8
cmp eax, 0xc0873920
jne 0x4041af
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 0xbd]
imul ecx, ecx
add eax, 0x115
imul edx, ecx, 0x51f7
dec edx
shr eax, 4
mov dword [ebp - 0x14], eax
mov eax, 0x19f57cc6
cmp ecx, edx
je 0x403e6b
mov eax, 0xfb7e1644
jmp 0x403e6b
cmp eax, 0x4cb9aa66
jg 0x403c3a
cmp eax, 0x45d02274
jg 0x403cc8
cmp eax, 0x289ad8cd
jg 0x403e2c
cmp eax, 0x1d875811
je 0x403fd6
cmp eax, 0x254d45f0
jne 0x403b73
shl esi, 8
mov eax, 0x78a8fd04
add esi, 0xffffcb00
je 0x403e6b
mov eax, 0x8681af85
jmp 0x403e6b
cmp eax, 0x66bf0b87
jg 0x403cf5
cmp eax, 0x5370f3ad
jg 0x403e73
cmp eax, 0x4cb9aa67
je 0x403ff3
cmp eax, 0x51eece7b
jne 0x403b73
push dword [ebp - 0x20]
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x1c]
call fcn.0040e25b
add esp, 0xc
mov dword [ebp - 0x10], 0xe1c1672
jmp 0x403b73
cmp eax, 0x575c548
jg 0x403d1b
cmp eax, 0xfb7e1643
jg 0x403f17
cmp eax, 0xf76a33d8
je 0x403fff
cmp eax, 0xf9537f0b
jne 0x403b73
push dword [ebp - 0x24]
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov dword [ebp - 0x10], 0x45d02275
jmp 0x403b73
cmp eax, 0x49fa6eb0
jg 0x403e9e
cmp eax, 0x45d02275
je 0x404035
cmp eax, 0x472fb092
jne 0x403b73
mov dword [ebp - 0x10], 0x1d875811
jmp 0x403b73
cmp eax, 0x77c42d43
jg 0x403ee3
cmp eax, 0x66bf0b88
je 0x404061
cmp eax, 0x776a9662
je 0x404157
jmp 0x403b73
cmp eax, 0xefb2c4b
jg 0x403f4b
cmp eax, 0x575c549
je 0x40406d
cmp eax, 0xe1c1672
jne 0x403b73
mov eax, dword [ebp - 0x20]
push dword [eax]
push dword [ebp - 0x30]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
call fcn.004206de
add esp, 0x10
push dword [ebp - 0x18]
call fcn.0044f33c
add esp, 4
mov dword [ebp - 0x10], 0xc0873920
jmp 0x403b73
cmp eax, 0x8681af84
jg 0x403f75
cmp eax, 0x82414406
je 0x404163
cmp eax, 0x83a89514
jne 0x403b73
mov dword [ebp - 0x38], esi
mov esi, ebx
mov eax, dword [ebp - 0x14]
mov ecx, eax
shl ecx, 8
sub ecx, eax
lea edx, [ecx - 0x5ca3]
imul edx, edx
imul edi, edx, 0x52a9
dec edi
add ecx, 0xffffa478
mov dword [ebp - 0x14], ecx
mov eax, 0x3738b1
cmp edi, edx
je 0x403dc0
mov eax, 0x472fb092
mov dword [ebp - 0x10], eax
mov ebx, esi
mov esi, dword [ebp - 0x38]
jmp 0x403b73
cmp eax, 0xc1dca121
je 0x403f97
cmp eax, 0xea9b3831
jne 0x403b73
push dword [ebx + 4]
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push eax
mov eax, esp
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov word [eax + 2], 0
mov eax, dword [ebp - 0x24]
movzx ecx, word [0x4660fc]
mov word [eax], cx
xor eax, eax
inc eax
push eax
push 0x4660fe
push eax
push dword [ebp - 0x24]
call fcn.00409050
add esp, 0x10
mov dword [ebp - 0x10], 0xf9537f0b
jmp 0x403b73
cmp eax, 0x289ad8ce
je 0x40407c
cmp eax, 0x458b02aa
jne 0x403b73
mov eax, dword [ebp - 0x14]
shr eax, 0xe
add eax, 0xffffffe7
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x1a21
shl eax, 0x11
dec edx
mov dword [ebp - 0x14], eax
mov eax, 0xb2e21cc0
cmp edx, ecx
je 0x403e6b
mov eax, 0xc1dca121
mov dword [ebp - 0x10], eax
jmp 0x403b73
cmp eax, 0x580ad7fd
je 0x4040cf
cmp eax, 0x59f267cb
jne 0x4041bc
mov eax, dword [ebp - 0x28]
add eax, 2
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], 0x458b02aa
jmp 0x403b73
cmp eax, 0x49fa6eb1
je 0x4040db
cmp eax, 0x4a6d82c8
jne 0x403b73
push dword [ebp - 0x2c]
push dword [ebp - 0x18]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatW]
call edi
push dword [ebp + 0xc]
push dword [ebp - 0x18]
call edi
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov dword [eax], ecx
mov dword [ebp - 0x10], 0x51eece7b
jmp 0x403b73
cmp eax, 0x77c42d44
je 0x40410d
cmp eax, 0x78a8fd04
jne 0x403b73
add esi, 0xffffffd6
shr esi, 0xc
imul esi, esi, 0x3ea6
add esi, 0xffff9796
mov dword [ebp - 0x10], 0x8681af85
jmp 0x403b73
cmp eax, 0xfb7e1644
je 0x40412e
cmp eax, 0x3738b1
jne 0x403b73
push 2
push 0x104
call fcn.0044e903
add esp, 8
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x83a89514
jmp 0x403b73
cmp eax, 0xefb2c4c
je 0x404145
cmp eax, 0x19f57cc6
jne 0x403b73
shl esi, 7
and esi, 0xfffff80
add esi, 0xffffff68
jmp 0x404157
cmp eax, 0x8681af85
je 0x40419d
cmp eax, 0x91e06b96
jne 0x403b73
mov dword [ebp - 0x10], 0x580ad7fd
jmp 0x403b73
mov eax, dword [ebp - 0x3c]
mov word [eax], 0
mov eax, dword [ebp - 0x28]
movzx ecx, word [0x466100]
mov word [eax], cx
mov dword [ebp - 0x10], 0x77c42d44
jmp 0x403b73
push 2
push 0x104
call fcn.0044e903
add esp, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0x4cb9aa67
jmp 0x403b73
push dword [ebx]
push dword [ebp - 0x18]
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0xf76a33d8
jmp 0x403b73
mov dword [ebp - 0x10], 0xea9b3831
jmp 0x403b73
mov eax, dword [ebp - 0x14]
mov ecx, 0x147
add eax, ecx
mov ecx, eax
shl ecx, 0x19
imul eax, eax
imul edx, eax, 0x6a6f
dec edx
or ecx, 0x56
mov dword [ebp - 0x14], ecx
mov ecx, 0x5370f3ae
cmp edx, eax
je 0x404195
mov ecx, 0x59f267cb
jmp 0x404195
push dword [ebp + 0xc]
push dword [ebp - 0x1c]
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push dword [ebp - 0x1c]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ecx, 0x9597bb75
test eax, eax
je 0x404195
mov ecx, 0x82414406
jmp 0x404195
mov dword [ebp - 0x10], 0x9597bb75
jmp 0x403b73
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 0x66bf0b88
jmp 0x403b73
push dword [ebp - 0x28]
push dword [ebp - 0x18]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatW]
call edi
push dword [ebx + 8]
push dword [ebp - 0x18]
call edi
push eax
mov eax, esp
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov word [eax + 2], 0
mov eax, dword [ebp - 0x2c]
movzx ecx, word [0x466104]
mov word [eax], cx
xor eax, eax
inc eax
push eax
push 0x466106
push eax
push dword [ebp - 0x2c]
call fcn.00409050
add esp, 0x10
mov dword [ebp - 0x10], 0x4a6d82c8
jmp 0x403b73
mov dword [ebp - 0x10], 0x776a9662
jmp 0x403b73
mov eax, dword [ebp - 0x14]
shr eax, 7
mov ecx, eax
shl ecx, 0xe
imul eax, eax
imul edx, eax, 0x3759
dec edx
add ecx, 0xffffffef
mov dword [ebp - 0x14], ecx
mov ecx, 0xe1c1672
cmp edx, eax
je 0x404195
mov ecx, 0x575c549
jmp 0x404195
xor eax, eax
inc eax
push eax
push 0x466102
push eax
push dword [ebp - 0x28]
call fcn.00409050
add esp, 0x10
mov dword [ebp - 0x10], 0x289ad8ce
jmp 0x403b73
push dword [ebp - 0x1c]
call fcn.0044f33c
add esp, 4
mov dword [ebp - 0x10], 0x49fa6eb1
jmp 0x403b73
imul esi, esi, 0xac0
add esi, 0xb8
and esi, 0xfffffff0
add esi, 0xfffffffa
mov dword [ebp - 0x10], 0xb2e21cc0
jmp 0x403b73
mov eax, dword [ebp - 0x14]
mov ecx, 0xffffff1d
add eax, ecx
shr eax, 0xd
add eax, 0x8c
mov ecx, eax
shl ecx, 0xe
imul eax, eax
imul edx, eax, 0x55b9
dec edx
mov dword [ebp - 0x14], ecx
mov ecx, 0xefb2c4c
cmp edx, eax
je 0x404195
mov ecx, 0x3738b1
mov dword [ebp - 0x10], ecx
jmp 0x403b73
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0x91e06b96
jmp 0x403b73
cmp eax, 0x9597bb75
jne 0x403b73
jmp 0x4041e1
cmp eax, 0x5370f3ae
jne 0x403b73
shl esi, 5
add esi, 0x1fa0
shr esi, 0xf
mov dword [ebp - 0x34], esi
push 0x1a9f
push esi
call fcn.0040176b
mov dword [ebp - 0x34], esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret