Function at 0x4036fd
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x30
mov dword [ebp - 0x10], 0x26cfc4f5
xor ebx, ebx
inc ebx
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatW]
mov eax, dword [ebp - 0x10]
cmp eax, 0xf62cb4e0
jg 0x40378b
cmp eax, 0xcaf9a3c3
jg 0x403803
cmp eax, 0xaf093425
jle 0x403948
cmp eax, 0xbb321aee
jg 0x403a2c
cmp eax, 0xaf093426
je 0x403e6f
cmp eax, 0xb325a231
je 0x403fe6
cmp eax, 0xb8f4343e
jne 0x403716
push 7
push 0x4640b4
push 0x1a
push dword [ebp - 0x24]
call fcn.00408a10
add esp, 0x10
push dword [ebp - 0x24]
push dword [ebp - 0x20]
call edi
push dword [ebp + 0xc]
push dword [ebp - 0x20]
call edi
mov dword [ebp - 0x10], 0xc5b885ad
jmp 0x403716
cmp eax, 0x3882f4bb
jg 0x403874
cmp eax, 0x26cfc4f4
jg 0x4038bb
cmp eax, 0x37e80d6
jg 0x4039ed
cmp eax, 0xf62cb4e1
je 0x403cea
cmp eax, 0xfd882732
je 0x403c64
cmp eax, 0x4f72e
jne 0x403716
mov esi, dword [ebp - 0x14]
mov eax, 0xfffffee1
add esi, eax
mov dword [ebp - 0x14], esi
push 0x2fb4
push esi
push 0x1c3f
call fcn.004027c2
add esp, 0xc
mov eax, 0x25e14778
cmp esi, 0x97
jae 0x403df6
jmp 0x404019
cmp eax, 0xd18709b4
jg 0x4039a4
cmp eax, 0xcfe746fd
jg 0x403a6c
cmp eax, 0xcaf9a3c4
je 0x403e82
cmp eax, 0xcc0729a9
je 0x403d84
cmp eax, 0xcd3d190e
jne 0x403716
mov eax, dword [ebp - 0x3c]
mov word [eax], 0
push 0x18
push 0x4640d0
push dword [ebp - 0x2c]
call fcn.00441d60
add esp, 0xc
push 8
push 0x4640e8
push 0xc
push dword [ebp - 0x2c]
call fcn.00408a10
add esp, 0x10
mov dword [ebp - 0x10], 0xd7a6351
jmp 0x403716
cmp eax, 0x5bfd41cd
jle 0x4038f1
cmp eax, 0x7571c98c
jle 0x403aa7
cmp eax, 0x7571c98d
je 0x403d24
cmp eax, 0x75f568d0
je 0x403cc5
cmp eax, 0x78dccbf4
jne 0x403716
push dword [ebp - 0x38]
push dword [ebp - 0x1c]
call edi
mov dword [ebp - 0x10], 0x371c40e4
jmp 0x403716
cmp eax, 0x2dfa41f8
jg 0x403af8
cmp eax, 0x26cfc4f5
je 0x403c02
cmp eax, 0x28dccfc4
jne 0x40402e
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], 0x78dccbf4
jmp 0x403716
cmp eax, 0x52c8d076
jle 0x403b43
cmp eax, 0x52c8d077
je 0x403f05
cmp eax, 0x54ad69e3
je 0x403dcc
cmp eax, 0x58c2a91f
jne 0x403716
mov ecx, dword [ebp - 0x14]
shr ecx, 0xa
add ecx, 0xffff732d
and ecx, 0xfffffc00
mov dword [ebp - 0x14], ecx
mov eax, 0xb8f4343e
cmp ecx, 0xee
jge 0x403eb0
jmp 0x404019
cmp eax, 0x90bc63b0
jle 0x403b72
cmp eax, 0x90bc63b1
je 0x403f19
cmp eax, 0xa0ec9b44
je 0x403e51
cmp eax, 0xaefbe83b
jne 0x403716
push eax
sub esp, 0x34
mov eax, esp
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov word [eax + 0x34], 0
push 0x34
push 0x464080
push dword [ebp - 0x24]
call fcn.00441d60
add esp, 0xc
mov dword [ebp - 0x10], 0xb8f4343e
jmp 0x403716
cmp eax, 0xdc5149ce
jg 0x403bbb
cmp eax, 0xd18709b5
je 0x403c20
cmp eax, 0xd7b4234c
jne 0x40403b
push eax
mov eax, esp
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov word [eax + 2], 0
mov eax, dword [ebp - 0x30]
movzx ecx, word [0x4640f8]
mov word [eax], cx
mov dword [ebp - 0x10], 0x2ece5c7f
jmp 0x403716
cmp eax, 0x37e80d7
je 0x403cff
cmp eax, 0xd7a6351
je 0x403ca9
cmp eax, 0x25e14778
jne 0x403716
push 2
push 0x104
call fcn.0044d0d3
add esp, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xcaf9a3c4
jmp 0x403716
cmp eax, 0xbb321aef
je 0x403eba
cmp eax, 0xc2fb37a8
je 0x403dab
cmp eax, 0xc5b885ad
jne 0x403716
mov eax, dword [ebp - 0x18]
shl eax, 9
add eax, 0xe00
and eax, 0xfffe00
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x25e14778
jmp 0x403716
cmp eax, 0xcfe746fe
je 0x403ed1
cmp eax, 0xd047fbe7
je 0x403dc0
cmp eax, 0xd0ca3eab
jne 0x403716
push dword [ebp - 0x34]
push dword [ebp - 0x1c]
call edi
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0xaf093426
jmp 0x403716
cmp eax, 0x5bfd41ce
je 0x403c34
cmp eax, 0x68cdac49
jne 0x404021
mov esi, dword [ebp - 0x14]
shl esi, 0xd
add esi, 0xfffff9a0
and esi, 0xffff8000
mov dword [ebp - 0x14], esi
push 0x45a8
push esi
call fcn.00401603
add esp, 8
mov eax, 0xbb321aef
cmp esi, 0x17
jge 0x404019
mov eax, 0xb8f4343e
jmp 0x404019
cmp eax, 0x2dfa41f9
je 0x403f83
cmp eax, 0x2ece5c7f
je 0x403f4b
cmp eax, 0x371c40e4
jne 0x403716
mov eax, dword [ebp - 0x18]
lea ecx, [eax - 1]
add eax, 0xffffff18
imul ecx, ecx
imul edx, ecx, 0x7917
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0xd0ca3eab
cmp ecx, edx
jne 0x403d51
jmp 0x404019
cmp eax, 0x3882f4bc
je 0x403d5b
cmp eax, 0x522edfbd
jne 0x403716
imul eax, dword [ebp - 0x18], 0xca00
shr eax, 6
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x71c3109b
jmp 0x403716
cmp eax, 0x8b0a18bf
je 0x403e00
cmp eax, 0x9027e669
jne 0x403716
imul eax, dword [ebp - 0x18], 0x780
mov ecx, eax
shr ecx, 0xc
imul ecx, ecx
imul edx, ecx, 0x1957
dec edx
shr eax, 0xf
mov dword [ebp - 0x18], eax
mov eax, 0xd18709b5
cmp ecx, edx
je 0x404019
mov eax, 0x28dccfc4
jmp 0x404019
cmp eax, 0xdc5149cf
je 0x403ff2
cmp eax, 0xf0fd0d8e
je 0x403fba
cmp eax, 0xf2e36baa
jne 0x403716
mov ecx, dword [ebp - 0x14]
mov eax, ecx
shr eax, 9
mov dword [ebp - 0x14], eax
mov eax, 0xd0ca3eab
cmp ecx, 0x3200
jb 0x404019
mov eax, 0xc2fb37a8
jmp 0x404019
push 2
push 0x104
call fcn.0044d0d3
add esp, 8
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0xb325a231
jmp 0x403716
push dword [ebp - 0x28]
push dword [ebp - 0x1c]
call edi
mov dword [ebp - 0x10], 0x9027e669
jmp 0x403716
imul esi, dword [ebp - 0x14], 0xb716
add esi, 0xffff6c10
mov dword [ebp - 0x14], esi
push 0x1b1e
push esi
call fcn.004024ec
add esp, 8
mov eax, 0xbb321aef
cmp esi, 0x9a
jl 0x403c9f
jmp 0x404019
mov esi, dword [ebp - 0x14]
add esi, 0x58
mov dword [ebp - 0x14], esi
push 0x35eb
push esi
push 0x24e1
call fcn.0040246c
add esp, 0xc
push esi
push 0x5662
call fcn.00401503
add esp, 8
mov eax, 0xd0ca3eab
cmp esi, 0xaa
jl 0x404019
mov eax, 0xaefbe83b
jmp 0x404019
push dword [ebp - 0x2c]
push dword [ebp - 0x1c]
call edi
push dword [ebp + 0x10]
push dword [ebp - 0x1c]
call edi
mov dword [ebp - 0x10], 0x2dfa41f9
jmp 0x403716
mov ecx, dword [ebp - 0x14]
mov eax, 0xfffffe13
add ecx, eax
mov dword [ebp - 0x14], ecx
mov eax, 0x4f72e
cmp ecx, 0x6b
je 0x404019
mov eax, 0x68cdac49
jmp 0x404019
push eax
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0xc2fb37a8
jmp 0x403716
imul ecx, dword [ebp - 0x14], 0xe8
add ecx, 0xffffffca
mov dword [ebp - 0x14], ecx
mov eax, 0x271f489d
cmp ecx, 0x2a
je 0x404019
mov eax, 0xd18709b5
jmp 0x404019
mov eax, dword [ebp - 0x14]
lea esi, [eax*4 - 0x87]
shr esi, 0xc
add esi, 0xffffffed
mov dword [ebp - 0x14], esi
push esi
call fcn.00402404
add esp, 4
mov eax, 0xd5824929
cmp esi, 0xab
jae 0x404019
mov eax, 0xf62cb4e1
jmp 0x404019
mov ecx, dword [ebp - 0x14]
add ecx, 0xffffffba
mov eax, ecx
shr eax, 0x1b
mov dword [ebp - 0x14], eax
mov eax, 0xd0ca3eab
cmp ecx, 0xb0000000
jae 0x404019
mov eax, 0xd7a6351
jmp 0x404019
mov eax, dword [ebp - 0x14]
shr eax, 0xc
movzx ecx, al
mov dword [ebp - 0x14], ecx
mov eax, 0x3882f4bc
cmp ecx, 0x9f
jb 0x404019
mov eax, 0x37e80d7
jmp 0x404019
mov eax, dword [ebp - 0x2c]
add eax, 0x18
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], 0xdc5149cf
jmp 0x403716
mov dword [ebp - 0x10], 0x90bc63b1
jmp 0x403716
mov eax, dword [ebp - 0x18]
add eax, 0x26
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x533b
shl eax, 0xa
dec edx
or eax, 0xa7
mov dword [ebp - 0x18], eax
mov eax, 0xbb321aef
cmp edx, ecx
je 0x404019
mov eax, 0xd0ca3eab
jmp 0x404019
mov eax, dword [ebp - 0x14]
mov ecx, 0xfc48000
add eax, ecx
and eax, 0x7f8000
shl eax, 9
lea esi, [eax + eax*2]
mov dword [ebp - 0x14], esi
push esi
push 0x5fbc
push 0x4bb
call fcn.0040246c
add esp, 0xc
push 0x139
push esi
call fcn.00402c2d
add esp, 8
mov eax, 0xb2915a26
cmp esi, 0x65
jge 0x404019
mov eax, 0x75f568d0
jmp 0x404019
push ebx
push 0x4640fa
push ebx
push dword [ebp - 0x30]
call fcn.00408a10
add esp, 0x10
mov dword [ebp - 0x10], 0x522edfbd
jmp 0x403716
mov dword [ebp - 0x18], 0x65004c00
mov dword [ebp - 0x10], 0xd047fbe7
jmp 0x403716
mov eax, dword [ebp - 0x18]
add eax, 0x59
shr eax, 1
imul ecx, eax, 0x45
mov eax, ecx
shr eax, 1
imul ecx, ecx
imul edx, ecx, 0x133b
dec edx
add eax, 0xffffff19
mov dword [ebp - 0x18], eax
mov eax, 0xaefbe83b
cmp ecx, edx
je 0x404019
mov eax, 0x52c8d077
jmp 0x404019
mov eax, dword [ebp + 8]
push dword [eax + 4]
push dword [ebp - 0x20]
call edi
mov dword [ebp - 0x10], 0xaefbe83b
jmp 0x403716
mov eax, dword [ebp - 0x28]
mov word [eax + 2], 0
mov eax, dword [ebp - 0x28]
movzx ecx, word [0x4640c2]
mov word [eax], cx
push ebx
push 0x4640c4
push ebx
push dword [ebp - 0x28]
call fcn.00408a10
add esp, 0x10
mov dword [ebp - 0x10], 0xd18709b5
jmp 0x403716
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0x54ad69e3
jmp 0x403716
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 0xaf]
imul ecx, ecx
imul edx, ecx, 0x4033
dec edx
add eax, 0xef
mov dword [ebp - 0x18], eax
mov eax, 0x5bfd41ce
cmp edx, ecx
je 0x404019
mov eax, 0xcfe746fe
jmp 0x404019
mov eax, dword [ebp - 0x18]
add eax, 0xffffffb9
shr eax, 0xc
imul ecx, eax, 0xaf
imul eax, eax
imul edx, eax, 0x645d
dec edx
add ecx, 0xffffbc48
mov dword [ebp - 0x18], ecx
mov ecx, 0x7571c98d
cmp edx, eax
je 0x403f7b
mov ecx, 0xa0ec9b44
mov dword [ebp - 0x10], ecx
jmp 0x403716
mov eax, dword [ebp - 0x18]
shr eax, 5
and eax, 0x1ffffff
add eax, 0xffffff24
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x22f
dec edx
shl eax, 0x1b
lea eax, [eax + eax*2]
neg eax
mov dword [ebp - 0x18], eax
mov eax, 0xcc0729a9
cmp ecx, edx
je 0x404019
mov eax, 0xd7b4234c
jmp 0x404019
imul esi, dword [ebp - 0x14], 0x220
add esi, 0xb060
shr esi, 0x15
mov dword [ebp - 0x14], esi
push 0
push 0x738
push esi
call fcn.004024aa
add esp, 0xc
push esi
call fcn.00402c95
add esp, 4
mov dword [ebp - 0x10], 0xbb321aef
jmp 0x403716
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 0x78]
imul ecx, ecx
imul edx, ecx, 0x7f15
add eax, 0x6e
dec edx
shr eax, 9
mov dword [ebp - 0x18], eax
mov eax, 0xf2e36baa
cmp edx, ecx
je 0x404019
mov eax, 0xcd3d190e
mov dword [ebp - 0x10], eax
jmp 0x403716
cmp eax, 0x71c3109b
jne 0x403716
jmp 0x40405d
cmp eax, 0x271f489d
jne 0x403716
jmp 0x40407d
cmp eax, 0xd5824929
jne 0x403716
mov eax, dword [ebp - 0x14]
shr eax, 7
add eax, 0xffffffac
mov dword [ebp - 0x14], eax
push 0xc27
push eax
call fcn.004019de
push dword [ebp + 0x14]
push 0xa00000
push 0
push dword [ebp - 0x1c]
push dword [ebp - 0x30]
push dword [ebp - 0x20]
call fcn.0041072f
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x14]
add eax, 0xffffff81
or eax, 1
mov dword [ebp - 0x14], eax
push eax
push 0x55e4
call fcn.0040283a