Function at 0x404094
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 ebx, dword [ebp - 0x34]
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
mov eax, dword [ebp - 0x10]
cmp eax, 0xefb2c4b
jle 0x404110
cmp eax, 0x4cb9aa66
jg 0x404178
cmp eax, 0x45d02274
jg 0x4041fe
cmp eax, 0x289ad8cd
jg 0x404327
cmp eax, 0x19f57cc6
je 0x4044ba
cmp eax, 0x1d875811
jne 0x4046f8
push dword [ebp - 0x2c]
push dword [ebp - 0x18]
call esi
mov eax, dword [ebp + 8]
push dword [eax + 8]
push dword [ebp - 0x18]
call esi
push eax
mov eax, esp
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x10], 0xc1dca121
jmp 0x4040ad
cmp eax, 0xc1dca120
jg 0x4041b8
cmp eax, 0x9597bb74
jg 0x40425c
cmp eax, 0x8681af84
jg 0x404352
cmp eax, 0x82414406
je 0x4044ee
cmp eax, 0x83a89514
jne 0x4040ad
mov eax, dword [ebp - 0x14]
shr eax, 6
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x3753
dec edx
shl eax, 0x1e
neg eax
mov dword [ebp - 0x14], eax
mov eax, 0x254d45f0
cmp edx, ecx
je 0x4046b9
mov eax, 0x472fb092
jmp 0x4046b9
cmp eax, 0x59f267ca
jg 0x404298
cmp eax, 0x5370f3ad
jg 0x404374
cmp eax, 0x4cb9aa67
je 0x404516
cmp eax, 0x51eece7b
jne 0x4040ad
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], 0xfb7e1644
jmp 0x4040ad
cmp eax, 0xfb7e1643
jg 0x4042d6
cmp eax, 0xf76a33d7
jg 0x4043a8
cmp eax, 0xc1dca121
je 0x40452b
cmp eax, 0xea9b3831
jne 0x4040ad
push dword [ebp - 0x38]
push dword [ebp - 0x1c]
call esi
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0x45d02275
jmp 0x4040ad
cmp eax, 0x49fa6eb0
jg 0x4043f4
cmp eax, 0x45d02275
je 0x404544
cmp eax, 0x472fb092
jne 0x4040ad
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 [0x464100]
mov word [eax], cx
xor eax, eax
inc eax
push eax
push 0x464102
push eax
push dword [ebp - 0x2c]
call fcn.00408ab0
add esp, 0x10
mov dword [ebp - 0x10], 0x59f267cb
jmp 0x4040ad
cmp eax, 0xc03e0336
jg 0x404430
cmp eax, 0x9597bb75
je 0x40457b
cmp eax, 0xb2e21cc0
jne 0x4040ad
imul eax, dword [ebp - 0x14], 0x6d0000
add eax, 0xffffff5e
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x776a9662
jmp 0x4040ad
cmp eax, 0x776a9661
jg 0x40445a
cmp eax, 0x59f267cb
je 0x404595
cmp eax, 0x66bf0b88
jne 0x4040ad
push dword [ebp - 0x1c]
call fcn.0044db0c
add esp, 4
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 0x5370f3ae
jmp 0x4040ad
cmp eax, 0x575c548
jg 0x40447f
cmp eax, 0xfb7e1644
je 0x4045ad
cmp eax, 0x3738b1
jne 0x4040ad
push dword [ebp - 0x28]
push dword [ebp - 0x1c]
call esi
push dword [ebp + 0xc]
push dword [ebp - 0x1c]
call esi
push dword [ebp - 0x1c]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov ecx, 0xefb2c4c
test eax, eax
je 0x4043ec
mov ecx, 0x82414406
jmp 0x4043ec
cmp eax, 0x289ad8ce
je 0x4045b9
cmp eax, 0x458b02aa
jne 0x4040ad
mov eax, dword [ebp - 0x20]
mov dword [eax], 0
mov dword [ebp - 0x10], 0x289ad8ce
jmp 0x4040ad
cmp eax, 0x8681af85
je 0x4045ea
cmp eax, 0x91e06b96
jne 0x4040ad
mov dword [ebp - 0x10], 0x580ad7fd
jmp 0x4040ad
cmp eax, 0x5370f3ae
je 0x404602
cmp eax, 0x580ad7fd
jne 0x4040ad
push 2
push 0x104
call fcn.0044d0d3
add esp, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xb2e21cc0
jmp 0x4040ad
cmp eax, 0xf76a33d8
je 0x404621
cmp eax, 0xf9537f0b
jne 0x4040ad
imul eax, dword [ebp - 0x14], 0xbc
add eax, 0x10
shr eax, 0xf
imul ecx, eax, 0xdce
imul eax, eax
imul edx, eax, 0x14cb
dec edx
mov dword [ebp - 0x14], ecx
mov ecx, 0x4cb9aa67
cmp eax, edx
je 0x4043ec
mov ecx, 0xea9b3831
mov dword [ebp - 0x10], ecx
jmp 0x4040ad
cmp eax, 0x49fa6eb1
je 0x40466b
cmp eax, 0x4a6d82c8
jne 0x4040ad
mov eax, dword [ebp - 0x24]
mov dword [eax], 0
push dword [ebp - 0x24]
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
call fcn.0040d878
add esp, 0xc
mov dword [ebp - 0x10], 0xe1c1672
jmp 0x4040ad
cmp eax, 0xc03e0337
je 0x404686
cmp eax, 0xc0873920
jne 0x4040ad
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], 0x49fa6eb1
jmp 0x4040ad
cmp eax, 0x776a9662
je 0x4046c1
cmp eax, 0x77c42d44
jne 0x4040ad
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0x4a6d82c8
jmp 0x4040ad
cmp eax, 0x575c549
je 0x4046cd
cmp eax, 0xe1c1672
jne 0x4040ad
imul eax, dword [ebp - 0x14], 0xe2
add eax, 0xffff5d3e
shr eax, 5
add eax, 0xfffffeb5
shr eax, 1
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x51eece7b
jmp 0x4040ad
imul edi, ebx, 0x681000
mov ebx, edi
shr ebx, 0xd
push 0x4f94
push ebx
call fcn.00401603
add esp, 8
mov eax, 0x580ad7fd
cmp edi, 0x150000
jae 0x4046b9
mov eax, 0x458b02aa
jmp 0x4046b9
push 2
push 0x104
call fcn.0044d0d3
add esp, 8
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
push dword [eax]
push dword [ebp - 0x18]
call esi
mov dword [ebp - 0x10], 0x83a89514
jmp 0x4040ad
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], 0xf9537f0b
jmp 0x4040ad
imul eax, dword [ebp - 0x14], 0x19b6400
or eax, 0x14
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xf76a33d8
jmp 0x4040ad
mov eax, dword [ebp - 0x28]
mov word [eax + 2], 0
mov eax, dword [ebp - 0x28]
movzx ecx, word [0x4640fc]
mov word [eax], cx
xor eax, eax
inc eax
push eax
push str.R
push eax
push dword [ebp - 0x28]
call fcn.00408ab0
add esp, 0x10
mov dword [ebp - 0x10], 0x3738b1
jmp 0x4040ad
mov eax, dword [ebp - 0x14]
shl eax, 0xd
add eax, 0xffff1cdd
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x66bf0b88
jmp 0x4040ad
imul eax, dword [ebp - 0x14], 0x5a
add eax, 0xfffffa1b
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x1d875811
jmp 0x4040ad
mov dword [ebp - 0x10], 0xc0873920
jmp 0x4040ad
mov eax, dword [ebp - 0x14]
lea ecx, [eax + 0x51]
imul ecx, ecx
imul edx, ecx, 0x529f
dec edx
lea eax, [eax*8 - 0x1c8]
mov dword [ebp - 0x14], eax
mov eax, 0x78a8fd04
cmp ecx, edx
je 0x4046b9
mov eax, 0x77c42d44
jmp 0x4046b9
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
push eax
mov eax, esp
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0x91e06b96
jmp 0x4040ad
mov eax, dword [ebp - 0x14]
shl eax, 7
and eax, 0x1fffff80
add eax, 0xfffffe78
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xefb2c4c
jmp 0x4040ad
mov eax, dword [ebp - 0x30]
mov word [eax + 2], 0
mov eax, dword [ebp - 0x30]
movzx ecx, word [0x464104]
mov word [eax], cx
xor eax, eax
inc eax
push eax
push 0x464106
push eax
push dword [ebp - 0x30]
call fcn.00408ab0
add esp, 0x10
push dword [ebp - 0x30]
push dword [ebp - 0x18]
call esi
push dword [ebp + 0xc]
push dword [ebp - 0x18]
call esi
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], 0x458b02aa
jmp 0x4040ad
imul eax, dword [ebp - 0x14], 0x2e800
add eax, 0xfffca800
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x575c549
jmp 0x4040ad
add ebx, 0xffffffe1
shr ebx, 0xe
mov edi, ebx
add edi, 0xffffff29
mov ebx, edi
shr ebx, 0xd
push 0x340a
push ebx
call fcn.0040283a
add esp, 8
mov eax, 0x3738b1
cmp edi, 0xfc000
jb 0x4046b9
mov eax, 0x4cb9aa67
mov dword [ebp - 0x10], eax
jmp 0x4040ad
mov dword [ebp - 0x10], 0x4cb9aa67
jmp 0x4040ad
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push dword [ebp - 0x18]
push dword [ebp + 0x10]
call fcn.0041f934
add esp, 0x10
push dword [ebp - 0x18]
call fcn.0044db0c
add esp, 4
mov dword [ebp - 0x10], 0x9597bb75
jmp 0x4040ad
cmp eax, 0xefb2c4c
jne 0x4040ad
mov dword [ebp - 0x34], ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret