Function at 0x403b48
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x38
mov dword [ebp - 0x10], 0x8681af85
mov esi, dword [sym.imp.KERNEL32.dll_lstrcatW]
xor edi, edi
inc edi
mov eax, dword [ebp - 0x10]
cmp eax, 0x19f57cc5
jg 0x403bc3
cmp eax, 0xd48f5603
jg 0x403c2a
cmp eax, 0x9597bb74
jle 0x403da0
cmp eax, 0xc03e0336
jg 0x403e36
cmp eax, 0x9597bb75
je 0x40429e
cmp eax, 0xb2e21cc0
je 0x4043d7
cmp eax, 0xbe462a29
jne 0x403b61
mov eax, dword [ebp - 0x14]
add eax, 0xffffff84
shr eax, 1
and eax, 0x7ffffe00
add eax, 0xffffff0d
mov dword [ebp - 0x14], eax
jmp 0x403ccb
cmp eax, 0x4cb9aa66
jg 0x403c98
cmp eax, 0x458b02a9
jg 0x403d68
cmp eax, 0x289ad8cd
jg 0x403dd8
cmp eax, 0x26cd3b3b
jg 0x403ffb
cmp eax, 0x1d875811
je 0x4042f6
cmp eax, 0x254d45f0
jne 0x40440a
mov eax, dword [ebp - 0x18]
add eax, 0xffffff97
mov ecx, eax
shr ecx, 0xc
imul ecx, ecx
shr eax, 0x11
imul edx, ecx, 0x22f9
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0x7bfc944e
jmp 0x40422d
cmp eax, 0xf9537f0a
jle 0x403cd7
cmp eax, 0x575c548
jg 0x403e94
cmp eax, 0xf9537f0b
je 0x404068
cmp eax, 0xfb7e1644
je 0x404171
cmp eax, 0x3738b1
jne 0x403b61
mov eax, dword [ebp - 0x18]
add eax, 0x40
mov ecx, eax
shr ecx, 1
imul eax, eax
imul edx, eax, 0x1827
add ecx, 0xffffff18
dec edx
shr ecx, 7
mov dword [ebp - 0x18], ecx
mov ecx, 0x78a8fd04
cmp edx, eax
je 0x4042c9
mov ecx, 0x45d02275
jmp 0x4042c9
cmp eax, 0x59f267ca
jg 0x403d1a
cmp eax, 0x5317cc07
jle 0x403f0a
cmp eax, 0x5317cc08
je 0x4040a5
cmp eax, 0x5370f3ae
je 0x404207
cmp eax, 0x580ad7fd
jne 0x403b61
mov dword [ebp - 0x10], 0x776a9662
jmp 0x403b61
cmp eax, 0xea9b3830
jle 0x403ecf
cmp eax, 0xea9b3831
je 0x404053
cmp eax, 0xf701f1b9
je 0x404131
cmp eax, 0xf76a33d8
jne 0x403b61
mov eax, dword [ebp + 8]
push dword [eax + 8]
push dword [ebp - 0x1c]
call esi
mov dword [ebp - 0x10], 0xc1dca121
jmp 0x403b61
cmp eax, 0x776a9661
jle 0x403f2c
cmp eax, 0x776a9662
je 0x4040cf
cmp eax, 0x77c42d44
je 0x40423f
cmp eax, 0x78a8fd04
jne 0x403b61
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff9
shr ecx, 0x15
mov dword [ebp - 0x14], ecx
mov eax, 0x19f57cc6
cmp ecx, 0xdc
jne 0x40409b
jmp 0x4043cf
cmp eax, 0x472fb091
jle 0x403f64
cmp eax, 0x472fb092
je 0x404153
cmp eax, 0x49fa6eb1
je 0x40434d
cmp eax, 0x4a6d82c8
jne 0x403b61
mov dword [ebp - 0x10], 0x51eece7b
jmp 0x403b61
cmp eax, 0x8681af84
jle 0x403fc9
cmp eax, 0x8681af85
je 0x4041fb
cmp eax, 0x8fdc61c4
je 0x40436d
cmp eax, 0x91e06b96
jne 0x403b61
mov dword [ebp - 0x10], 0x580ad7fd
jmp 0x403b61
cmp eax, 0x289ad8ce
je 0x40428a
cmp eax, 0x3c89efe8
je 0x404396
cmp eax, 0x3eb190d1
jne 0x403b61
mov ebx, dword [ebp - 0x14]
shr ebx, 9
add ebx, 0xffffff46
mov eax, ebx
shr eax, 3
mov dword [ebp - 0x14], eax
push 0x5ba2
push eax
call fcn.0040256f
add esp, 8
mov eax, 0xc1dca121
cmp ebx, 0x198
jb 0x4043cf
mov eax, 0x289ad8ce
jmp 0x4043cf
cmp eax, 0xc03e0337
je 0x4042d1
cmp eax, 0xc0873920
je 0x4043f1
cmp eax, 0xc1dca121
jne 0x403b61
push eax
mov ebx, esp
mov word [ebx + 2], 0
movzx eax, word [0x4660de]
mov word [ebx], ax
push edi
push 0x4660e0
push edi
push ebx
call fcn.004089d0
add esp, 0x10
push ebx
push dword [ebp - 0x1c]
call esi
push dword [ebp + 0xc]
push dword [ebp - 0x1c]
call esi
mov dword [ebp - 0x10], 0x77c42d44
jmp 0x403b61
cmp eax, 0x575c549
je 0x40425a
cmp eax, 0xe1c1672
jne 0x4043fd
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x20]
call fcn.0040e16b
add esp, 0xc
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], 0xfb7e1644
jmp 0x403b61
cmp eax, 0xd48f5604
je 0x4040f6
cmp eax, 0xe472923f
jne 0x403b61
mov eax, dword [ebp - 0x14]
shr eax, 0xa
mov ecx, eax
shl ecx, 5
add ecx, eax
shr ecx, 7
imul eax, ecx, 0xcf
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x82414406
jmp 0x403b61
cmp eax, 0x4cb9aa67
je 0x404183
cmp eax, 0x51eece7b
jne 0x403b61
mov dword [ebp - 0x10], 0xe1c1672
jmp 0x403b61
cmp eax, 0x59f267cb
je 0x4041bf
cmp eax, 0x66bf0b88
jne 0x403b61
push dword [ebp - 0x1c]
call fcn.0044fd4c
add esp, 4
push dword [ebp - 0x20]
call fcn.0044fd4c
add esp, 4
mov dword [ebp - 0x10], 0x5370f3ae
jmp 0x403b61
cmp eax, 0x458b02aa
je 0x404328
cmp eax, 0x45d02275
jne 0x403b61
mov eax, dword [ebp - 0x38]
mov word [eax], 0
mov eax, dword [ebp - 0x24]
movzx ecx, word [0x4660d6]
mov word [eax], cx
push edi
push 0x4660d8
push edi
push dword [ebp - 0x24]
call fcn.004089d0
add esp, 0x10
push dword [ebp - 0x24]
push dword [ebp - 0x20]
call esi
push dword [ebp + 0xc]
push dword [ebp - 0x20]
call esi
push dword [ebp - 0x20]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x10], 0x82414406
jmp 0x403b61
cmp eax, 0x82414406
je 0x404334
cmp eax, 0x83a89514
jne 0x403b61
mov eax, dword [ebp + 8]
push dword [eax]
push dword [ebp - 0x1c]
call esi
push eax
mov eax, esp
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x10], 0x59f267cb
jmp 0x403b61
cmp eax, 0x26cd3b3c
jne 0x403b61
mov eax, dword [ebp - 0x14]
shr eax, 0xe
imul ebx, eax, 0xb2
mov dword [ebp - 0x14], ebx
push 0x5461
push ebx
push 0x3e4e
push 0x3139
call fcn.004024f9
add esp, 0x10
push ebx
push 0x60d9
call fcn.0040256f
add esp, 8
mov eax, 0x82414406
cmp ebx, 6
jb 0x4043cf
mov eax, 0x8f2afd62
jmp 0x4043cf
mov eax, dword [ebp - 0x24]
add eax, 2
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], 0x3738b1
jmp 0x403b61
mov eax, dword [ebp - 0x18]
shr eax, 2
mov ecx, eax
and ecx, 0x7ffffff
add ecx, 0xffffff8d
imul ecx, ecx
imul edx, ecx, 0x86bb
shl eax, 0xa
add eax, 0x1c800
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0xb2e21cc0
cmp ecx, edx
je 0x4043cf
mov eax, 0xea9b3831
jmp 0x4043cf
mov ecx, dword [ebp - 0x14]
shr ecx, 3
add ecx, 0xffffff33
mov dword [ebp - 0x14], ecx
mov eax, 0x8fdc61c4
cmp ecx, 0x98
je 0x4043cf
mov eax, 0xbe462a29
jmp 0x4043cf
push 2
push 0x104
call fcn.0044f313
add esp, 8
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0x4cb9aa67
jmp 0x403b61
mov eax, dword [ebp - 0x14]
lea ebx, [eax*4 + 0x330]
mov eax, ebx
shr eax, 9
mov dword [ebp - 0x14], eax
push eax
push 0x57c7
call fcn.004013e3
add esp, 8
mov eax, 0x26cd3b3c
cmp ebx, 0x10e00
jb 0x4043cf
mov eax, 0xe472923f
jmp 0x4043cf
mov ecx, dword [ebp - 0x14]
shr ecx, 2
and ecx, 0x3fffff
mov dword [ebp - 0x14], ecx
mov eax, 0xfb7e1644
cmp ecx, 0x2d
jae 0x40438f
jmp 0x4043cf
push 2
push 0x104
call fcn.0044f313
add esp, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0x1d875811
jmp 0x403b61
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], 0x575c549
jmp 0x403b61
mov ecx, dword [ebp - 0x18]
lea eax, [ecx + ecx*8]
lea eax, [eax + eax*2]
add eax, ecx
add eax, ecx
shr eax, 4
mov ecx, eax
shl ecx, 0xc
imul eax, eax
imul edx, eax, 0x2197
dec edx
or ecx, 0xe
mov dword [ebp - 0x18], ecx
mov ecx, 0x776a9662
cmp edx, eax
je 0x4042c9
mov ecx, 0xb2e21cc0
jmp 0x4042c9
mov eax, dword [ebp - 0x28]
mov word [eax + 2], 0
mov eax, dword [ebp - 0x28]
movzx ecx, word [0x4660da]
mov word [eax], cx
push edi
push 0x4660dc
push edi
push dword [ebp - 0x28]
call fcn.004089d0
add esp, 0x10
push dword [ebp - 0x28]
push dword [ebp - 0x1c]
call esi
mov dword [ebp - 0x10], 0xf76a33d8
jmp 0x403b61
mov dword [ebp - 0x10], 0x91e06b96
jmp 0x403b61
mov eax, dword [ebp - 0x18]
imul ecx, eax, 0x7d9
imul ecx, ecx
imul eax, eax, 0xe68e0000
imul edx, ecx, 0x425b
dec edx
add eax, 0xffffff10
mov dword [ebp - 0x18], eax
mov eax, 0x3eb190d1
cmp edx, ecx
je 0x4043cf
mov eax, 0xefb2c4c
jmp 0x4043cf
imul eax, dword [ebp - 0x18], 0x220
add eax, 0x19602
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x458b02aa
jmp 0x403b61
mov eax, dword [ebp - 0x18]
mov ecx, 0xf6
add eax, ecx
mov dword [ebp - 0x18], eax
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x425d
dec edx
mov eax, 0x3c89efe8
cmp ecx, edx
je 0x4043cf
mov eax, 0xc0873920
jmp 0x4043cf
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0x4a6d82c8
jmp 0x403b61
mov eax, dword [ebp - 0x18]
shl eax, 9
add eax, 0xffffffd4
shr eax, 0xe
imul eax, eax
imul edx, eax, 0x855
dec edx
mov dword [ebp - 0x18], 0
mov ecx, 0x82414406
cmp edx, eax
je 0x4042c9
mov ecx, 0x66bf0b88
mov dword [ebp - 0x10], ecx
jmp 0x403b61
imul eax, dword [ebp - 0x14], 0x99
add eax, 0x5fa0
shr eax, 0xe
add eax, eax
add eax, 0xffffff41
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xb2e21cc0
jmp 0x403b61
mov eax, dword [ebp - 0x18]
shr eax, 5
add eax, 0x34
mov ecx, eax
imul ecx, eax
shl eax, 0x16
imul edx, ecx, 0x7265
dec edx
mov dword [ebp - 0x18], eax
mov eax, 0xd48f5604
cmp ecx, edx
je 0x4043cf
mov eax, 0x83a89514
jmp 0x4043cf
mov dword [ebp - 0x10], 0x289ad8ce
jmp 0x403b61
cmp dword [ebp - 0x3c], 0
mov eax, 0x254d45f0
je 0x4043cf
mov eax, 0x472fb092
jmp 0x4043cf
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push dword [ebp - 0x1c]
push dword [ebp + 0x10]
call fcn.0041fbc8
add esp, 0x10
mov dword [ebp - 0x10], 0x9597bb75
jmp 0x403b61
imul ecx, dword [ebp - 0x14], 0x9b
add ecx, 0x1aa4
mov eax, ecx
shr eax, 0x12
mov dword [ebp - 0x14], eax
mov eax, 0xea9b3831
cmp ecx, 0x3640000
jae 0x4043cf
mov eax, 0x45d02275
jmp 0x4043cf
mov eax, dword [ebp - 0x14]
shl eax, 0xf
or eax, 0xbe
imul ebx, eax, 0xed
mov eax, ebx
shr eax, 0xe
mov dword [ebp - 0x14], eax
push eax
push 0x2e5a
call fcn.0040290b
add esp, 8
mov eax, 0xb2e21cc0
cmp ebx, 0x3c000
jae 0x4043cf
mov eax, 0xf701f1b9
mov dword [ebp - 0x10], eax
jmp 0x403b61
push dword [ebp - 0x34]
push dword [ebp - 0x20]
call esi
push eax
mov eax, esp
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 0xf9537f0b
jmp 0x403b61
mov dword [ebp - 0x10], 0x49fa6eb1
jmp 0x403b61
cmp eax, 0xefb2c4c
jne 0x403b61
jmp 0x404431
cmp eax, 0x19f57cc6
jne 0x403b61
mov eax, dword [ebp - 0x14]
shr eax, 0xd
and eax, 0xffffffe0
add eax, 0xc0
mov dword [ebp - 0x14], eax
push eax
push 0x2aa0
call fcn.004018f4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret