Function at 0x44e920
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4c8e13
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x628
mov eax, dword [0x4fb770]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x5dc], ecx
push 0
push 0
push 0x188
mov eax, dword [ebp - 0x5dc]
mov ecx, dword [eax + 0xfc]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x258], 0xffffffff
jne 0x44e97c
jmp 0x44f30d
push 0
mov edx, dword [ebp - 0x258]
push edx
push 0x199
mov eax, dword [ebp - 0x5dc]
mov ecx, dword [eax + 0xfc]
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x44e9ab
jmp 0x44f30d
mov edx, dword [ebp - 0x10]
push edx
lea ecx, [ebp - 0x250]
call fcn.00401e40
mov dword [ebp - 4], 0
call fcn.004ba5ee
mov dword [ebp - 0x518], eax
mov eax, dword [ebp - 0x518]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x518]
call dword [edx + 0xc]
mov dword [ebp - 0x514], eax
mov eax, dword [ebp - 0x514]
add eax, 0x10
mov dword [ebp - 0x4a0], eax
mov byte [ebp - 4], 1
push 0x104
push 0x104
lea ecx, [ebp - 0x4a0]
call fcn.0041bf90
push eax
call fcn.0043e210
add esp, 8
mov dword [ebp - 0x520], 0xffffffff
cmp dword [ebp - 0x520], 0xffffffff
jne 0x44ea5d
mov ecx, dword [ebp - 0x4a0]
mov dword [ebp - 0x51c], ecx
cmp dword [ebp - 0x51c], 0
jne 0x44ea48
mov dword [ebp - 0x520], 0
jmp 0x44ea5d
mov edx, dword [ebp - 0x51c]
push edx
call fcn.0049d13d
add esp, 4
mov dword [ebp - 0x520], eax
mov eax, dword [ebp - 0x520]
push eax
lea ecx, [ebp - 0x4a0]
call fcn.00456690
mov ecx, 0x4d3240
test ecx, ecx
jne 0x44ea84
mov dword [ebp - 0x524], 0
jmp 0x44ea97
push 0x4d3240
call fcn.0049d13d
add esp, 4
mov dword [ebp - 0x524], eax
mov edx, dword [ebp - 0x524]
push edx
push 0x4d3240
lea ecx, [ebp - 0x4a0]
call fcn.00401ba0
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x4a0]
push ecx
lea edx, [ebp - 0x254]
push edx
call fcn.00419430
add esp, 0xc
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x254]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x44eb15
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x254]
call fcn.0044f730
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4a0]
call fcn.0044f730
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x250]
call fcn.0044f730
jmp 0x44f30d
push 0
mov ecx, dword [ebp - 0x254]
push ecx
call fcn.0046e820
add esp, 8
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x5dc]
mov eax, dword [edx + 0x130]
mov dword [ebp - 0x534], eax
mov ecx, dword [ebp - 0x534]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.0046e940
add esp, 8
lea eax, [ebp - 0x24c]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.0046e840
add esp, 0xc
mov edx, dword [ebp - 0x24c]
mov dword [ebp - 0x4a8], edx
call fcn.004ba5ee
mov dword [ebp - 0x53c], eax
mov eax, dword [ebp - 0x53c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x53c]
call dword [edx + 0xc]
mov dword [ebp - 0x538], eax
mov eax, dword [ebp - 0x538]
add eax, 0x10
mov dword [ebp - 0x4a4], eax
mov byte [ebp - 4], 3
call fcn.004ba5ee
mov dword [ebp - 0x544], eax
mov ecx, dword [ebp - 0x544]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x544]
call dword [edx + 0xc]
mov dword [ebp - 0x540], eax
mov eax, dword [ebp - 0x540]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 4
mov dword [ebp - 0x4ac], 0
jmp 0x44ebf1
mov ecx, dword [ebp - 0x4ac]
add ecx, 1
mov dword [ebp - 0x4ac], ecx
mov edx, dword [ebp - 0x4ac]
cmp edx, dword [ebp - 0x4a8]
jge 0x44ed3e
lea eax, [ebp - 0x24c]
push eax
mov ecx, dword [ebp - 0x4ac]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.0046e840
add esp, 0xc
lea eax, [ebp - 0x248]
push eax
mov ecx, dword [ebp - 0x4ac]
push ecx
mov edx, dword [ebp - 0x18]
push edx
call fcn.0046e920
add esp, 0xc
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x4b0]
call fcn.00401e40
mov byte [ebp - 4], 5
push 5
lea ecx, [ebp - 0x4c8]
push ecx
lea ecx, [ebp - 0x4b0]
call fcn.004318c0
mov dword [ebp - 0x558], eax
mov edx, dword [ebp - 0x558]
mov eax, dword [edx]
mov dword [ebp - 0x554], eax
push 0x4d3234
mov ecx, dword [ebp - 0x554]
push ecx
call fcn.0049e884
add esp, 8
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x4c1], al
lea ecx, [ebp - 0x4c8]
call fcn.0044f730
movzx edx, byte [ebp - 0x4c1]
test edx, edx
je 0x44ecbe
lea eax, [ebp - 0x4b0]
push eax
lea ecx, [ebp - 0x4a4]
call fcn.00402240
jmp 0x44ed2a
push 4
lea ecx, [ebp - 0x4d0]
push ecx
lea ecx, [ebp - 0x4b0]
call fcn.004318c0
mov dword [ebp - 0x564], eax
mov edx, dword [ebp - 0x564]
mov eax, dword [edx]
mov dword [ebp - 0x560], eax
push 0x4d3228
mov ecx, dword [ebp - 0x560]
push ecx
call fcn.0049e884
add esp, 8
neg eax
sbb eax, eax
inc eax
mov byte [ebp - 0x4c9], al
lea ecx, [ebp - 0x4d0]
call fcn.0044f730
movzx edx, byte [ebp - 0x4c9]
test edx, edx
je 0x44ed2a
lea eax, [ebp - 0x4b0]
push eax
lea ecx, [ebp - 0x14]
call fcn.00402240
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4b0]
call fcn.0044f730
jmp 0x44ebe2
mov ecx, dword [ebp - 0x18]
push ecx
call fcn.0046e9a0
add esp, 4
push 0x20
push ecx
mov edx, esp
mov dword [ebp - 0x4d4], esp
push 0x4d6ad4
mov eax, dword [ebp - 0x5dc]
add eax, 0x130
push eax
push edx
call fcn.00401850
add esp, 0xc
mov dword [ebp - 0x5e0], eax
mov ecx, dword [ebp - 0x5e0]
mov dword [ebp - 0x5e4], ecx
mov byte [ebp - 4], 6
push 7
push 4
push 0
push ecx
mov edx, esp
mov dword [ebp - 0x4d8], esp
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x5dc]
add ecx, 0x130
push ecx
push edx
call fcn.00419430
add esp, 0xc
mov dword [ebp - 0x5e8], eax
mov byte [ebp - 4], 4
call fcn.00410020
add esp, 0x18
push 0x20
push ecx
mov edx, esp
mov dword [ebp - 0x4dc], esp
push 0x4d6ac4
mov eax, dword [ebp - 0x5dc]
add eax, 0x130
push eax
push edx
call fcn.00401850
add esp, 0xc
mov dword [ebp - 0x5ec], eax
mov ecx, dword [ebp - 0x5ec]
mov dword [ebp - 0x5f0], ecx
mov byte [ebp - 4], 7
push 8
push 5
push 0
push ecx
mov edx, esp
mov dword [ebp - 0x4e0], esp
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x5dc]
add ecx, 0x130
push ecx
push edx
call fcn.00419430
add esp, 0xc
mov dword [ebp - 0x5f4], eax
mov byte [ebp - 4], 4
call fcn.00410020
add esp, 0x18
push 0x20
push ecx
mov edx, esp
mov dword [ebp - 0x4e4], esp
push 0x4d6ab4
mov eax, dword [ebp - 0x5dc]
add eax, 0x130
push eax
push edx
call fcn.00401850
add esp, 0xc
mov dword [ebp - 0x5f8], eax
mov ecx, dword [ebp - 0x5f8]
mov dword [ebp - 0x5fc], ecx
mov byte [ebp - 4], 8
push 7
push 2
push 0
push ecx
mov edx, esp
mov dword [ebp - 0x4e8], esp
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x5dc]
add ecx, 0x130
push ecx
push edx
call fcn.00419430
add esp, 0xc
mov dword [ebp - 0x600], eax
mov byte [ebp - 4], 4
call fcn.00410020
add esp, 0x18
push 0x20
push ecx
mov edx, esp
mov dword [ebp - 0x4ec], esp
push 0x4d6aa4
mov eax, dword [ebp - 0x5dc]
add eax, 0x130
push eax
push edx
call fcn.00401850
add esp, 0xc
mov dword [ebp - 0x604], eax
mov ecx, dword [ebp - 0x604]
mov dword [ebp - 0x608], ecx
mov byte [ebp - 4], 9
push 9
push 3
push 0
push ecx
mov edx, esp
mov dword [ebp - 0x4f0], esp
lea eax, [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x5dc]
add ecx, 0x130
push ecx
push edx
call fcn.00419430
add esp, 0xc
mov dword [ebp - 0x60c], eax
mov byte [ebp - 4], 4
call fcn.00410020
add esp, 0x18
push 0x4d6ad4
mov edx, dword [ebp - 0x5dc]
add edx, 0x130
push edx
lea eax, [ebp - 0x4f4]
push eax
call fcn.00401850
add esp, 0xc
mov dword [ebp - 0x610], eax
mov ecx, dword [ebp - 0x610]
mov dword [ebp - 0x614], ecx
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x614]
push edx
mov ecx, dword [ebp - 0x5dc]
add ecx, 0x238
call fcn.0043b000
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4f4]
call fcn.0044f730
push 0x4d6ac4
mov eax, dword [ebp - 0x5dc]
add eax, 0x130
push eax
lea ecx, [ebp - 0x4f8]
push ecx
call fcn.00401850
add esp, 0xc
mov dword [ebp - 0x618], eax
mov edx, dword [ebp - 0x618]
mov dword [ebp - 0x61c], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x61c]
push eax
mov ecx, dword [ebp - 0x5dc]
add ecx, 0x2b8
call fcn.0043b000
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4f8]
call fcn.0044f730
push 0x4d6ab4
mov ecx, dword [ebp - 0x5dc]
add ecx, 0x130
push ecx
lea edx, [ebp - 0x4fc]
push edx
call fcn.00401850
add esp, 0xc
mov dword [ebp - 0x620], eax
mov eax, dword [ebp - 0x620]
mov dword [ebp - 0x624], eax
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x624]
push ecx
mov ecx, dword [ebp - 0x5dc]
add ecx, 0x338
call fcn.0043b000
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4fc]
call fcn.0044f730
push 0x4d6aa4
mov edx, dword [ebp - 0x5dc]
add edx, 0x130
push edx
lea eax, [ebp - 0x500]
push eax
call fcn.00401850
add esp, 0xc
mov dword [ebp - 0x628], eax
mov ecx, dword [ebp - 0x628]
mov dword [ebp - 0x62c], ecx
mov byte [ebp - 4], 0xd
mov edx, dword [ebp - 0x62c]
push edx
mov ecx, dword [ebp - 0x5dc]
add ecx, 0x3b8
call fcn.0043b000
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x500]
call fcn.0044f730
mov dword [ebp - 0x580], 0
cmp dword [ebp - 0x580], 0
jne 0x44f0b8
mov dword [ebp - 0x630], 0
jmp 0x44f0c7
mov eax, dword [ebp - 0x580]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x630], ecx
push 5
mov edx, dword [ebp - 0x630]
push edx
push 0
mov eax, dword [ebp - 0x5dc]
mov ecx, dword [eax + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_RedrawWindow]
lea edx, [ebp - 0x4a4]
push edx
mov eax, dword [ebp - 0x5dc]
add eax, 0x130
push eax
lea ecx, [ebp - 0x504]
push ecx
call fcn.00419430
add esp, 0xc
mov dword [ebp - 0x634], eax
mov edx, dword [ebp - 0x634]
mov dword [ebp - 0x584], edx
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x584]
mov ecx, dword [eax]
mov dword [ebp - 0x588], ecx
push 0
mov edx, dword [ebp - 0x588]
push edx
lea ecx, [ebp - 0x49c]
call fcn.004bb1d8
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x504]
call fcn.0044f730
mov dword [ebp - 0x48c], 0
mov dword [ebp - 0x488], 0
lea eax, [ebp - 0x484]
mov dword [ebp - 0x590], eax
mov ecx, dword [ebp - 0x590]
mov dword [ecx], 0
mov dword [ecx + 4], 0
lea edx, [ebp - 0x47c]
mov dword [ebp - 0x594], edx
mov eax, dword [ebp - 0x594]
mov dword [eax], 0
mov dword [eax + 4], 0
lea ecx, [ebp - 0x48c]
push ecx
lea ecx, [ebp - 0x49c]
call fcn.004bbb81
test eax, eax
je 0x44f2b3
mov edx, dword [ebp - 0x474]
mov dword [ebp - 0x4bc], edx
cmp dword [ebp - 0x4bc], 0x1000
jle 0x44f1d9
mov dword [ebp - 0x4bc], 0x1000
call fcn.004ba5ee
mov dword [ebp - 0x59c], eax
mov eax, dword [ebp - 0x59c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x59c]
call dword [edx + 0xc]
mov dword [ebp - 0x598], eax
mov eax, dword [ebp - 0x598]
add eax, 0x10
mov dword [ebp - 0x4b8], eax
mov byte [ebp - 4], 0x11
mov ecx, dword [ebp - 0x4bc]
add ecx, 1
push ecx
lea ecx, [ebp - 0x4b8]
call fcn.0044f660
mov dword [ebp - 0x4b4], eax
mov edx, dword [ebp - 0x4bc]
push edx
mov eax, dword [ebp - 0x4b4]
push eax
lea ecx, [ebp - 0x49c]
call fcn.004baabc
test eax, eax
je 0x44f2a4
mov ecx, dword [ebp - 0x4b4]
add ecx, dword [ebp - 0x4bc]
mov byte [ecx], 0
mov edx, dword [ebp - 0x4bc]
push edx
lea ecx, [ebp - 0x4b8]
call fcn.0044f6c0
mov eax, dword [ebp - 0x4b8]
push eax
lea ecx, [ebp - 0x4c0]
call fcn.00449ee0
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x4c0]
push ecx
mov ecx, dword [ebp - 0x5dc]
add ecx, 0x134
call fcn.004b99cc
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x4c0]
call fcn.0044f730
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x4b8]
call fcn.0044f730
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x49c]
call fcn.004bade8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x14]
call fcn.0044f730
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4a4]
call fcn.0044f730
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x254]
call fcn.0044f730
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x4a0]
call fcn.0044f730
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x250]
call fcn.0044f730
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x1c]
call fcn.0049d184
mov esp, ebp
pop ebp
ret