Function at 0x403b70
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x3c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], 0xed794908
add eax, 8
mov dword [ebp - 0x38], eax
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatW]
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x10]
cmp eax, 0x27dcca75
jle 0x403c01
cmp eax, 0x5fbb8069
jg 0x403c64
cmp eax, 0x3b6e01c5
jg 0x403d5e
cmp eax, 0x361fece9
jg 0x403e7a
cmp eax, 0x27dcca76
je 0x404194
cmp eax, 0x29d22b83
je 0x4040fd
cmp eax, 0x2fa2526d
jne 0x403b92
mov eax, dword [ebp - 0x14]
add eax, 0xffffffd0
shr eax, 0x11
imul ecx, eax, 0x65
mov dword [ebp - 0x14], ecx
mov eax, 0xd0da6a1e
cmp ecx, 0x1f
jae 0x404500
mov eax, 0xc501ad11
jmp 0x404500
cmp eax, 0xdc5f160b
jg 0x403ce7
cmp eax, 0xcd4d46e1
jg 0x403da7
cmp eax, 0xc274d7c8
jg 0x403f6d
cmp eax, 0xa97a6b11
jg 0x4040a9
cmp eax, 0x8233d2c4
je 0x4040d2
cmp eax, 0x9dac1ab0
jne 0x403b92
mov eax, dword [ebp - 0x14]
add eax, eax
add eax, 0xfffffec4
shr eax, 5
add eax, 0xffffff02
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x7d3fa7ee
jmp 0x403b92
cmp eax, 0x6b5641c1
jg 0x403ddf
cmp eax, 0x689a4ad3
jg 0x403f2d
cmp eax, 0x5fbb806a
je 0x4042a6
cmp eax, 0x621fa4b7
je 0x404248
cmp eax, 0x6515b07d
jne 0x403b92
mov eax, dword [ebp - 0x14]
mov ecx, 0x120
add eax, ecx
and eax, 0xffffffe0
imul esi, eax, 0xd1
add esi, 0xc1a8
mov dword [ebp - 0x14], esi
push 0
push 0x2389
push 0x52df
push esi
call fcn.004028d5
add esp, 0x10
mov eax, 0xd0da6a1e
cmp esi, 0xda
jge 0x404500
mov eax, 0x2fa2526d
jmp 0x404500
cmp eax, 0x2807d26
jle 0x403e30
cmp eax, 0x1ead2754
jg 0x403ff9
cmp eax, 0x2807d27
je 0x4044b4
cmp eax, 0x41a6c29
je 0x404450
cmp eax, 0x18ed0822
jne 0x403b92
imul esi, dword [ebp - 0x14], 0xfd
add esi, 0x4e97
mov dword [ebp - 0x14], esi
push 0x126c
push 0x302f
push 0x3593
push esi
call fcn.00402705
add esp, 0x10
mov eax, 0xd4b96963
cmp esi, 0x22
je 0x404500
mov eax, 0x361fecea
jmp 0x404500
cmp eax, 0x51955ea1
jg 0x403ef1
cmp eax, 0x3b6e01c6
je 0x4041c2
cmp eax, 0x4b021d87
je 0x40412f
cmp eax, 0x4d5100d8
jne 0x403b92
push dword [ebp - 0x28]
push dword [ebp - 0x24]
push dword [ebp - 0x20]
call fcn.0040ed44
add esp, 0xc
mov dword [ebp - 0x10], 0x41a6c29
jmp 0x403b92
cmp eax, 0xd4b96962
jg 0x403fc4
cmp eax, 0xcd4d46e2
je 0x40437c
cmp eax, 0xd0da6a1e
je 0x40431b
cmp eax, 0xd2aea994
jne 0x403b92
mov dword [ebp - 0x10], 0x4d5100d8
jmp 0x403b92
cmp eax, 0x7ba69f1a
jle 0x404058
cmp eax, 0x7ba69f1b
je 0x404222
cmp eax, 0x7c87af69
je 0x404216
cmp eax, 0x7d3fa7ee
jne 0x403b92
mov eax, dword [ebp + 8]
push dword [eax]
push dword [ebp - 0x1c]
call edi
push eax
mov eax, esp
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
add eax, 2
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], 0xc274d7c9
jmp 0x403b92
cmp eax, 0xe8001e47
jle 0x40407a
cmp eax, 0xe8001e48
je 0x404435
cmp eax, 0xed794908
je 0x40441d
cmp eax, 0xf6037e87
jne 0x403b92
push ebx
push 0x46f100
push ebx
push dword [ebp - 0x30]
call fcn.00408dd0
add esp, 0x10
mov dword [ebp - 0x10], 0xc501ad11
jmp 0x403b92
cmp eax, 0x361fecea
je 0x4041d7
cmp eax, 0x3968f210
je 0x40414c
cmp eax, 0x39d67c76
jne 0x403b92
mov eax, dword [ebp - 0x34]
mov word [eax + 2], 0
mov eax, dword [ebp - 0x34]
movzx ecx, word [0x46f102]
mov word [eax], cx
push ebx
push 0x46f104
push ebx
push dword [ebp - 0x34]
call fcn.00408dd0
add esp, 0x10
push dword [ebp - 0x34]
push dword [ebp - 0x1c]
call edi
push dword [ebp + 0xc]
push dword [ebp - 0x1c]
call edi
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
mov dword [eax], ecx
mov dword [ebp - 0x10], 0xdc5f160c
jmp 0x403b92
cmp eax, 0x51955ea2
je 0x4041fb
cmp eax, 0x51f636b4
je 0x404160
cmp eax, 0x57153d7d
jne 0x403b92
imul eax, dword [ebp - 0x14], 0xfc
add eax, 0xffffff30
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x689a4ad4
jmp 0x403b92
cmp eax, 0x689a4ad4
je 0x4042ce
cmp eax, 0x68a4aa7f
je 0x404288
cmp eax, 0x68ec3f62
jne 0x403b92
mov eax, dword [ebp - 0x14]
shl eax, 9
add eax, 0xffa88000
and eax, 0xffff8000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x5fbb806a
jmp 0x403b92
cmp eax, 0xc274d7c9
je 0x40439a
cmp eax, 0xc501ad11
je 0x404346
cmp eax, 0xc5229c8a
jne 0x403b92
mov eax, dword [ebp - 0x18]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 0x300]
shr eax, 0xd
mov dword [ebp - 0x18], eax
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x3611
dec edx
mov eax, 0x6b5641c2
cmp ecx, edx
je 0x404500
mov eax, 0x39d67c76
jmp 0x404500
cmp eax, 0xd4b96963
je 0x4043d8
cmp eax, 0xd88567f3
je 0x404360
cmp eax, 0xdbb9f85d
jne 0x403b92
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], 0x29d22b83
jmp 0x403b92
cmp eax, 0x1ead2755
je 0x4044d4
cmp eax, 0x22ba95d3
je 0x404485
cmp eax, 0x24b83a11
jne 0x403b92
mov eax, dword [ebp - 0x24]
push dword [ebp - 0x48]
push dword [eax]
push dword [ebp - 0x1c]
push dword [ebp + 0x10]
call fcn.00423cc8
add esp, 0x10
push dword [ebp - 0x1c]
call fcn.0045b269
add esp, 4
push dword [ebp - 0x20]
call fcn.0045b269
add esp, 4
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0x7ba69f1b
jmp 0x403b92
cmp eax, 0x6b5641c2
je 0x4042ef
cmp eax, 0x79e26cf6
jne 0x404508
mov dword [ebp - 0x10], 0x68a4aa7f
jmp 0x403b92
cmp eax, 0xdc5f160c
je 0x4043e8
cmp eax, 0xe4d8bbab
jne 0x403b92
cmp dword [ebp - 0x3c], 0
mov eax, 0x73be0562
je 0x404500
mov eax, 0xcd4d46e2
jmp 0x404500
cmp eax, 0xc107d07f
jne 0x404515
mov eax, dword [ebp - 0x18]
shl eax, 0xf
or eax, 0x40
imul eax, eax, 0xdf
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x7d3fa7ee
jmp 0x403b92
imul ecx, dword [ebp - 0x14], 0x13bc8000
add ecx, 0xffdc61d1
mov dword [ebp - 0x14], ecx
mov eax, 0x27dcca76
cmp ecx, 0x86
jl 0x404500
mov eax, 0x51f636b4
jmp 0x404500
mov eax, dword [ebp - 0x18]
lea ecx, [eax + 0x19d]
add eax, 0x26b
imul ecx, ecx
imul edx, ecx, 0x393d
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0x68ec3f62
cmp edx, ecx
je 0x404500
mov eax, 0x24b83a11
jmp 0x404500
mov eax, dword [ebp + 8]
push dword [eax + 4]
push dword [ebp - 0x20]
call edi
push eax
mov eax, esp
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0x3b6e01c6
jmp 0x403b92
push dword [ebp - 0x2c]
push dword [ebp - 0x20]
call edi
mov dword [ebp - 0x10], 0x51955ea2
jmp 0x403b92
imul esi, dword [ebp - 0x14], 0xb7
add esi, 0x9a50
mov dword [ebp - 0x14], esi
push 0x5c6
push esi
call fcn.0040168b
add esp, 8
mov eax, 0x4b021d87
cmp esi, 0xae
jl 0x4042c4
jmp 0x404500
mov eax, dword [ebp - 0x14]
add eax, 0xffffffb4
shr eax, 6
and eax, 0xffffffc0
add eax, 0x170
mov dword [ebp - 0x14], eax
push 0x2b07
push eax
call fcn.004022f3
add esp, 8
mov dword [ebp - 0x10], 0x57153d7d
jmp 0x403b92
mov eax, dword [ebp - 0x2c]
mov word [eax + 2], 0
mov dword [ebp - 0x10], 0xd0da6a1e
jmp 0x403b92
mov ecx, dword [ebp - 0x14]
add ecx, 0x15
mov dword [ebp - 0x14], ecx
mov eax, 0x3b6e01c6
cmp ecx, 0xfa
jb 0x404500
mov eax, 0x4b021d87
jmp 0x404500
imul eax, dword [ebp - 0x18], 0xfb00000
add eax, 0xfffe91d0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x2807d27
jmp 0x403b92
mov dword [ebp - 0x10], 0x4b021d87
jmp 0x403b92
imul eax, dword [ebp - 0x18], 0x1d40
add eax, 0xffe5b880
shr eax, 4
and eax, 0xffffff80
add eax, 0x1400
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x73be0562
jmp 0x403b92
imul esi, dword [ebp - 0x14], 0xa9
add esi, 0xfffffe46
mov dword [ebp - 0x14], esi
push 0
push 0x29e7
push 0x899
push esi
call fcn.004022af
add esp, 0x10
mov eax, 0xd0da6a1e
cmp esi, 0xd5
jb 0x404500
mov eax, 0x9dac1ab0
jmp 0x404500
push 2
push 0x104
call fcn.0045aa23
add esp, 8
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0x7c87af69
jmp 0x403b92
mov ecx, dword [ebp - 0x14]
mov eax, 0xa7
add ecx, eax
mov dword [ebp - 0x14], ecx
mov eax, 0x22ba95d3
cmp ecx, 0x90
je 0x404500
mov eax, 0xf6037e87
jmp 0x404500
mov eax, dword [ebp - 0x40]
mov word [eax], 0
mov eax, dword [ebp - 0x30]
movzx ecx, word [0x46f0fe]
mov word [eax], cx
mov dword [ebp - 0x10], 0xf6037e87
jmp 0x403b92
imul esi, dword [ebp - 0x14], 0x17c
add esi, 0xcfd7
mov dword [ebp - 0x14], esi
push esi
call fcn.00401281
add esp, 4
mov eax, 0x7d3fa7ee
cmp esi, 0x13
jl 0x4043ce
jmp 0x404500
mov eax, dword [ebp - 0x2c]
movzx ecx, word [0x46f0fa]
mov word [eax], cx
push ebx
push 0x46f0fc
push ebx
push dword [ebp - 0x2c]
call fcn.00408dd0
add esp, 0x10
mov dword [ebp - 0x10], 0x3968f210
jmp 0x403b92
push dword [ebp - 0x30]
push dword [ebp - 0x1c]
call edi
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], 0xd88567f3
jmp 0x403b92
mov eax, dword [ebp - 0x44]
push dword [eax]
push dword [ebp - 0x1c]
call edi
push eax
mov eax, esp
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0xc5229c8a
jmp 0x403b92
push 2
push 0x104
call fcn.0045aa23
add esp, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xc107d07f
jmp 0x403b92
mov eax, dword [ebp - 0x18]
add eax, 0xffffff85
shr eax, 9
lea eax, [eax + eax*4]
lea ecx, [eax + eax*2]
imul ecx, ecx
lea eax, [eax + eax*2]
add eax, 0x95
imul edx, ecx, 0x1255
shr eax, 0xd
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0x84c36c40
cmp ecx, edx
je 0x404500
mov eax, 0x689a4ad4
jmp 0x404500
shl dword [ebp - 0x14], 0x18
mov dword [ebp - 0x10], 0xd847c5ef
jmp 0x403b92
mov eax, dword [ebp - 0x18]
lea ecx, [eax - 0x1a]
imul ecx, ecx
imul edx, ecx, 0x7a31
imul eax, eax, 0xf0
dec edx
add eax, 0xffff74bf
mov dword [ebp - 0x18], eax
mov eax, 0xd0da6a1e
cmp ecx, edx
je 0x404500
mov eax, 0xd2aea994
jmp 0x404500
push eax
mov eax, esp
mov dword [ebp - 0x24], eax
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0x79e26cf6
jmp 0x403b92
mov eax, dword [ebp - 0x14]
shr eax, 0xd
and eax, 0xffffffc0
lea eax, [eax + eax*2]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xe4d8bbab
jmp 0x403b92
mov eax, dword [ebp - 0x18]
shr eax, 4
imul ecx, eax, 0xf7
imul eax, eax
add ecx, 0xffffff52
imul edx, eax, 0x37e1
dec edx
mov dword [ebp - 0x18], ecx
mov ecx, 0x1ead2755
cmp eax, edx
je 0x40447d
mov ecx, 0xdbb9f85d
mov dword [ebp - 0x10], ecx
jmp 0x403b92
imul esi, dword [ebp - 0x14], 0xc2
add esi, 0xd5
mov dword [ebp - 0x14], esi
push 0xaee
push esi
call fcn.00402a83
add esp, 8
mov eax, 0x7d3fa7ee
cmp esi, 0x68
jae 0x404500
mov eax, 0xd88567f3
jmp 0x404500
push dword [ebp + 0xc]
push dword [ebp - 0x20]
call edi
push dword [ebp - 0x20]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], 0xe4d8bbab
jmp 0x403b92
mov esi, dword [ebp - 0x14]
shr esi, 4
and esi, 0x3fff
mov dword [ebp - 0x14], esi
push esi
push 0x392c
call fcn.004023c3
add esp, 8
mov eax, 0x6515b07d
cmp esi, 0x6c
je 0x404500
mov eax, 0x621fa4b7
mov dword [ebp - 0x10], eax
jmp 0x403b92
cmp eax, 0x73be0562
jne 0x403b92
jmp 0x404543
cmp eax, 0xa97a6b12
jne 0x403b92
mov eax, dword [ebp - 0x14]
shl eax, 7
add eax, 0xffffffd5
shr eax, 3
imul eax, eax, 0xdc
add eax, 0x55
mov dword [ebp - 0x14], eax
push 0x563c
push eax
call fcn.00401716
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret