Function at 0x403706
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x44
mov eax, dword [ebp + 8]
mov dword [ebp - 0x10], 0x8681af85
add eax, 8
mov dword [ebp - 0x34], eax
mov ebx, dword [ebp - 0x38]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatW]
mov eax, dword [ebp - 0x10]
cmp eax, 0x1d875810
jle 0x403781
cmp eax, 0x51eece7a
jle 0x4037dd
cmp eax, 0x66bf0b87
jg 0x403884
cmp eax, 0x5370f3ad
jle 0x40395b
cmp eax, 0x5370f3ae
je 0x403c48
cmp eax, 0x580ad7fd
je 0x403c96
cmp eax, 0x59f267cb
jne 0x403728
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x10], 0xf76a33d8
jmp 0x403728
cmp eax, 0xc087391f
jle 0x40382f
cmp eax, 0xfb7e1643
jg 0x4038bb
cmp eax, 0xea9b3830
jle 0x4039bb
cmp eax, 0xea9b3831
je 0x403cda
cmp eax, 0xf76a33d8
je 0x403cf2
cmp eax, 0xf9537f0b
jne 0x403728
mov eax, dword [ebp - 0x14]
shl eax, 0x1f
or eax, 0x86
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xea9b3831
jmp 0x403728
cmp eax, 0x45d02274
jle 0x4038e8
cmp eax, 0x49fa6eb0
jle 0x403a29
cmp eax, 0x49fa6eb1
je 0x403d16
cmp eax, 0x4a6d82c8
je 0x403d59
cmp eax, 0x4cb9aa67
jne 0x403728
imul eax, dword [ebp - 0x14], 0x16c8
add eax, 0xfffeaffa
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xb2e21cc0
jmp 0x403728
cmp eax, 0x91e06b95
jle 0x403928
cmp eax, 0xb2e21cbf
jle 0x403a97
cmp eax, 0xb2e21cc0
je 0x403d65
cmp eax, 0xbe462a29
je 0x403de0
cmp eax, 0xc03e0337
jne 0x403728
add ebx, 0xffffff3c
mov eax, 0xc1dca121
cmp ebx, 0x11
jl 0x403cea
mov eax, 0x580ad7fd
jmp 0x403cea
cmp eax, 0x77c42d43
jle 0x403ac3
cmp eax, 0x77c42d44
je 0x403e01
cmp eax, 0x78a8fd04
je 0x403e1f
cmp eax, 0x7bfc944e
jne 0x403728
shl ebx, 0xa
add ebx, 0x1432b
jmp 0x4038dc
cmp eax, 0x575c548
jle 0x403aee
cmp eax, 0x575c549
je 0x403e37
cmp eax, 0xe1c1672
jne 0x403ed5
mov dword [ebp - 0x10], 0xfb7e1644
jmp 0x403728
cmp eax, 0x289ad8cd
jg 0x403b2d
cmp eax, 0x1d875811
je 0x403bca
cmp eax, 0x254d45f0
jne 0x403728
shl ebx, 7
add ebx, 0xffffff68
mov eax, 0x472fb092
cmp ebx, 0xe3
jae 0x403bc0
jmp 0x403cea
cmp eax, 0x8681af84
jg 0x403b7b
cmp eax, 0x82414406
je 0x403bfc
cmp eax, 0x83a89514
jne 0x403728
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], 0x59f267cb
jmp 0x403728
cmp eax, 0x51eece7b
je 0x403e49
cmp eax, 0x5317cc08
jne 0x403728
add ebx, 0x361
sub esp, 0xc
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x11d5
mov dword [esp], 0x34f3
call fcn.00402044
add esp, 8
mov dword [esp], ebx
call fcn.00402077
add esp, 4
mov eax, 0xbe462a29
cmp ebx, 0xa4
jge 0x403cea
mov eax, 0x8fdc61c4
jmp 0x403cea
cmp eax, 0xc0873920
je 0x403e5c
cmp eax, 0xc1dca121
jne 0x403728
mov eax, dword [ebp - 0x28]
mov word [eax + 2], 0
mov eax, dword [ebp - 0x28]
movzx ecx, word [0x4650f2]
mov word [eax], cx
mov eax, dword [ebp - 0x28]
sub esp, 0x10
xor ecx, ecx
inc ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 0x4650f4
call fcn.004089a0
add esp, 0x10
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
call edi
mov dword [ebp - 0x10], 0x289ad8ce
jmp 0x403728
cmp eax, 0x45d02275
je 0x403e68
cmp eax, 0x472fb092
jne 0x403728
mov eax, dword [ebp - 0x24]
mov word [eax + 2], 0
mov eax, dword [ebp - 0x24]
movzx ecx, word [0x4650ee]
mov word [eax], cx
mov eax, dword [ebp - 0x24]
sub esp, 0x10
xor ecx, ecx
inc ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 0x4650f0
call fcn.004089a0
add esp, 0x10
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x24]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
call edi
mov dword [ebp - 0x10], 0x1d875811
jmp 0x403728
cmp eax, 0x91e06b96
je 0x403e74
cmp eax, 0x9597bb75
jne 0x403728
imul eax, dword [ebp - 0x14], 0x56
add eax, 0x3a
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x66bf0b88
jmp 0x403728
cmp eax, 0x66bf0b88
je 0x403e80
cmp eax, 0x776a9662
jne 0x403728
mov eax, dword [ebp - 0x20]
add eax, 2
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], 0x4cb9aa67
jmp 0x403728
cmp eax, 0xfb7e1644
je 0x403e9d
cmp eax, 0x3738b1
jne 0x403728
sub esp, 8
mov dword [esp + 4], 2
mov dword [esp], 0x104
call fcn.0044e933
add esp, 8
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x82414406
jmp 0x403728
cmp eax, 0x289ad8ce
je 0x403c22
cmp eax, 0x458b02aa
jne 0x403728
mov ecx, dword [ebp - 0x14]
mov eax, ecx
shl eax, 7
sub eax, ecx
add eax, 0xcf
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x6411
dec edx
shr eax, 4
mov dword [ebp - 0x14], eax
mov eax, 0x5370f3ae
cmp edx, ecx
je 0x403cea
mov eax, 0xc1dca121
jmp 0x403cea
cmp eax, 0x8681af85
je 0x403c3c
cmp eax, 0x8fdc61c4
jne 0x403728
imul esi, ebx, 0x5a0
add esi, 0xfd
mov ebx, esi
shr ebx, 1
sub esp, 4
mov dword [esp], ebx
call fcn.0040219f
add esp, 4
mov eax, 0x77c42d44
cmp esi, 0x1c4
jb 0x403cea
mov eax, 0x82414406
jmp 0x403cea
mov eax, dword [ebp - 0x14]
shr eax, 8
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x2c0b
dec edx
shl eax, 0xe
lea eax, [eax + eax*8]
mov dword [ebp - 0x14], eax
mov eax, 0x472fb092
cmp edx, ecx
je 0x403cea
mov eax, 0x83a89514
jmp 0x403cea
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x18]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call edi
push eax
mov eax, esp
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0x472fb092
jmp 0x403728
mov eax, dword [ebp - 0x14]
shl eax, 0xe
add eax, 0x30e3e
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x77c42d44
jmp 0x403728
mov dword [ebp - 0x10], 0x91e06b96
jmp 0x403728
shl ebx, 8
sub esp, 8
mov dword [esp], 0x4f12
mov esi, 0x78a8fd04
add ebx, 0x1d200
mov dword [esp + 4], ebx
je 0x403c6b
mov esi, 0x254d45f0
call fcn.004028d6
sub esp, 4
mov dword [esp + 8], ebx
mov dword [esp], 0x23e9
mov dword [esp + 4], 0xd9e
call fcn.004026a2
add esp, 0xc
mov dword [ebp - 0x10], esi
jmp 0x403728
sub esp, 8
mov dword [esp + 4], 2
mov dword [esp], 0x104
call fcn.0044e933
add esp, 8
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov ecx, dword [ebp - 0x1c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call edi
push eax
mov eax, esp
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x10], 0x776a9662
jmp 0x403728
cmp dword [ebp - 0x40], 0
mov eax, 0xefb2c4c
je 0x403cea
mov eax, 0x45d02275
mov dword [ebp - 0x10], eax
jmp 0x403728
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x48]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
call edi
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0x458b02aa
jmp 0x403728
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
sub esp, 0x10
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00420284
add esp, 0x10
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call fcn.0044f149
add esp, 4
mov dword [ebp - 0x10], 0x9597bb75
jmp 0x403728
mov dword [ebp - 0x10], 0x51eece7b
jmp 0x403728
mov eax, dword [ebp - 0x3c]
mov word [eax], 0
mov eax, dword [ebp - 0x20]
movzx ecx, word [0x4650ea]
mov word [eax], cx
mov eax, dword [ebp - 0x20]
sub esp, 0x10
xor ecx, ecx
inc ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 0x4650ec
call fcn.004089a0
add esp, 0x10
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
call edi
mov eax, dword [ebp - 0x1c]
sub esp, 8
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call edi
mov eax, dword [ebp - 0x1c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], 0xf9537f0b
jmp 0x403728
add ebx, 0xffffff33
shr ebx, 8
and ebx, 0xfff000
add ebx, 0xffffff04
mov dword [ebp - 0x10], 0x776a9662
jmp 0x403728
mov eax, dword [ebp - 0x18]
sub esp, 8
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call edi
mov dword [ebp - 0x10], 0x4a6d82c8
jmp 0x403728
imul ebx, ebx, 0x368000
add ebx, 0xfffc4640
mov dword [ebp - 0x10], 0x19f57cc6
jmp 0x403728
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x10], 0x49fa6eb1
jmp 0x403728
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x10], 0xe1c1672
jmp 0x403728
mov dword [ebp - 0x10], 0x575c549
jmp 0x403728
mov dword [ebp - 0x10], 0x3738b1
jmp 0x403728
mov dword [ebp - 0x10], 0x580ad7fd
jmp 0x403728
mov eax, dword [ebp - 0x1c]
sub esp, 4
mov dword [esp], eax
call fcn.0044f149
add esp, 4
mov dword [ebp - 0x10], 0xefb2c4c
jmp 0x403728
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x1c]
sub esp, 0xc
lea ecx, [ebp - 0x2c]
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x30]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0040e24b
add esp, 0xc
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0xc0873920
jmp 0x403728
cmp eax, 0xefb2c4c
jne 0x403728
mov dword [ebp - 0x38], ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret