Function at 0x479160
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5510e0
mov eax, dword fs:[0]
push eax
mov eax, 0x1344
call fcn.0050a440
mov eax, dword [0x599680]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x12dc]
push eax
call fcn.004e45c0
add esp, 4
lea ecx, [ebp - 0x10c0]
call fcn.00478e90
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 0x14]
push ecx
lea ecx, [ebp - 0x1074]
call fcn.0045ffb0
mov ecx, dword [ebp + 0x1c]
call fcn.0045e300
movzx edx, al
test edx, edx
je 0x479221
mov dword [ebp - 0x1080], 0
lea eax, [ebp - 0x10c0]
push eax
push 0
mov ecx, dword [ebp + 0x1c]
call fcn.00479070
movzx ecx, al
test ecx, ecx
jne 0x479221
push str.user_cancel_READY
mov ecx, dword [ebp + 0x18]
call fcn.00409f90
mov byte [ebp - 0x12a6], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c0]
call fcn.00479020
mov al, byte [ebp - 0x12a6]
jmp 0x479d97
lea edx, [ebp - 0x12dc]
push edx
push 1
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004f67f0
add esp, 0x14
mov dword [ebp - 0x12bc], eax
cmp dword [ebp - 0x12bc], 0
jne 0x4792a5
push 0x5587a4
mov ecx, dword [ebp + 0x18]
call fcn.00409f90
lea eax, [ebp - 0x12dc]
push eax
call fcn.004f3bf0
add esp, 4
push eax
mov ecx, dword [ebp + 0x18]
call fcn.00467bf0
lea ecx, [ebp - 0x12dc]
push ecx
call fcn.004f3b00
add esp, 4
mov byte [ebp - 0x12a7], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c0]
call fcn.00479020
mov al, byte [ebp - 0x12a7]
jmp 0x479d97
lea edx, [ebp - 0x12dc]
push edx
push 0
mov eax, dword [ebp - 0x12bc]
push eax
call fcn.004f5540
add esp, 0xc
mov dword [ebp - 0x12b4], eax
cmp dword [ebp - 0x12b4], 0
jne 0x479333
push 0x5587bc
mov ecx, dword [ebp + 0x18]
call fcn.00409f90
lea ecx, [ebp - 0x12dc]
push ecx
call fcn.004f3bf0
add esp, 4
push eax
mov ecx, dword [ebp + 0x18]
call fcn.00467bf0
mov edx, dword [ebp - 0x12bc]
push edx
call fcn.004f69f0
add esp, 4
lea eax, [ebp - 0x12dc]
push eax
call fcn.004f3b00
add esp, 4
mov byte [ebp - 0x12a8], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c0]
call fcn.00479020
mov al, byte [ebp - 0x12a8]
jmp 0x479d97
push 0
mov ecx, dword [ebp - 0x12b4]
push ecx
call fcn.004f3ea0
add esp, 8
mov dword [ebp - 0x12d0], eax
mov dword [ebp - 0x12b0], 0
jmp 0x479365
mov edx, dword [ebp - 0x12b0]
add edx, 1
mov dword [ebp - 0x12b0], edx
mov eax, dword [ebp - 0x12b0]
cmp eax, dword [ebp - 0x12d0]
jge 0x479cfb
mov ecx, dword [ebp - 0x12b0]
mov dword [ebp - 0x1078], ecx
mov edx, dword [ebp - 0x12d0]
mov dword [ebp - 0x107c], edx
lea eax, [ebp - 0x1350]
push eax
call fcn.004f6da0
add esp, 4
lea ecx, [ebp - 0x1350]
push ecx
push 0
mov eax, dword [ebp - 0x12b0]
cdq
push edx
push eax
mov edx, dword [ebp - 0x12b4]
push edx
call fcn.004f6a70
add esp, 0x14
push 0
mov eax, dword [ebp - 0x12b0]
cdq
push edx
push eax
mov eax, dword [ebp - 0x12b4]
push eax
call fcn.004f3e00
add esp, 0x10
mov dword [ebp - 0x12cc], eax
cmp dword [ebp - 0x12cc], 0
jne 0x4793ed
jmp 0x479356
mov ecx, dword [ebp - 0x1348]
push ecx
lea ecx, [ebp - 0x1058]
call fcn.00402b90
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1058]
call fcn.00401dd0
sub eax, 1
push eax
lea ecx, [ebp - 0x1058]
call fcn.00402980
movsx edx, byte [eax]
cmp edx, 0x2f
jne 0x479507
push 0x5587d8
lea ecx, [ebp - 0x1138]
call fcn.00402b90
mov byte [ebp - 4], 2
push 0x5587dc
lea ecx, [ebp - 0x1150]
call fcn.00402b90
mov byte [ebp - 4], 3
lea eax, [ebp - 0x1058]
push eax
lea ecx, [ebp - 0x1138]
push ecx
lea edx, [ebp - 0x1150]
push edx
call fcn.00402650
add esp, 0xc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1150]
call fcn.00402b00
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1138]
call fcn.00402b00
lea ecx, [ebp - 0x1058]
call fcn.00402970
push eax
lea eax, [ebp - 0x10d8]
push eax
call fcn.00471e00
add esp, 8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x10d8]
call fcn.00402070
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4794d5
lea ecx, [ebp - 0x10d8]
call fcn.00402070
push eax
call fcn.00401ce0
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10d8]
call fcn.00401f60
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1058]
call fcn.00402b00
jmp 0x479356
lea ecx, [ebp - 0x1028]
call fcn.00402bd0
mov byte [ebp - 4], 5
mov byte [ebp - 0x12a1], 0
mov ecx, dword [ebp + 0x14]
call fcn.00401dd0
sub eax, 1
push eax
mov ecx, dword [ebp + 0x14]
call fcn.00456ae0
movsx ecx, byte [eax]
cmp ecx, 0x5c
je 0x4795d8
mov ecx, dword [ebp + 0x14]
call fcn.00401dd0
sub eax, 1
push eax
mov ecx, dword [ebp + 0x14]
call fcn.00456ae0
movsx edx, byte [eax]
cmp edx, 0x2f
je 0x4795d8
mov eax, dword [ebp - 0x1348]
push eax
push 0x5587e0
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0x1210]
push edx
call fcn.00478b60
add esp, 0xc
mov dword [ebp - 0x12fc], eax
mov eax, dword [ebp - 0x12fc]
mov dword [ebp - 0x12f8], eax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x12f8]
push ecx
lea edx, [ebp - 0x1228]
push edx
call fcn.00454180
add esp, 0xc
mov dword [ebp - 0x12f4], eax
mov eax, dword [ebp - 0x12f4]
push eax
lea ecx, [ebp - 0x1028]
call fcn.0045ff40
lea ecx, [ebp - 0x1228]
call fcn.00402b00
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1210]
call fcn.00402b00
jmp 0x47961c
mov byte [ebp - 0x12a1], 1
mov ecx, dword [ebp - 0x1348]
push ecx
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x11f8]
push eax
call fcn.00478b60
add esp, 0xc
mov dword [ebp - 0x12f0], eax
mov ecx, dword [ebp - 0x12f0]
push ecx
lea ecx, [ebp - 0x1028]
call fcn.0045ff40
lea ecx, [ebp - 0x11f8]
call fcn.00402b00
mov edx, dword [ebp - 0x1348]
push edx
lea ecx, [ebp - 0x1040]
call fcn.00402b90
mov byte [ebp - 4], 7
mov dword [ebp - 0x12b8], 0xffffffff
push 0xffffffffffffffff
push 0x2f
lea ecx, [ebp - 0x1040]
call fcn.004680a0
mov dword [ebp - 0x12b8], eax
cmp dword [ebp - 0x12b8], 0xffffffff
jne 0x47967c
push 0xffffffffffffffff
push 0x5c
lea ecx, [ebp - 0x1040]
call fcn.004680a0
mov dword [ebp - 0x12b8], eax
cmp dword [ebp - 0x12b8], 0xffffffff
je 0x47985a
mov eax, dword [ebp - 0x12b8]
push eax
push 0
lea ecx, [ebp - 0x11e0]
push ecx
lea ecx, [ebp - 0x1040]
call fcn.004035e0
mov dword [ebp - 0x1300], eax
mov edx, dword [ebp - 0x1300]
push edx
lea ecx, [ebp - 0x1040]
call fcn.0045ff40
lea ecx, [ebp - 0x11e0]
call fcn.00402b00
lea ecx, [ebp - 0x10f0]
call fcn.00402bd0
mov byte [ebp - 4], 8
movzx eax, byte [ebp - 0x12a1]
test eax, eax
je 0x479713
lea ecx, [ebp - 0x1040]
push ecx
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x11c8]
push eax
call fcn.00478ad0
add esp, 0xc
mov dword [ebp - 0x12ec], eax
mov ecx, dword [ebp - 0x12ec]
push ecx
lea ecx, [ebp - 0x10f0]
call fcn.0045ff40
lea ecx, [ebp - 0x11c8]
call fcn.00402b00
jmp 0x479790
lea edx, [ebp - 0x1040]
push edx
push 0x5587e4
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x1240]
push ecx
call fcn.00478b60
add esp, 0xc
mov dword [ebp - 0x12e8], eax
mov edx, dword [ebp - 0x12e8]
mov dword [ebp - 0x12e4], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x12e4]
push eax
lea ecx, [ebp - 0x12a0]
push ecx
call fcn.00478a90
add esp, 0xc
mov dword [ebp - 0x1310], eax
mov edx, dword [ebp - 0x1310]
push edx
lea ecx, [ebp - 0x10f0]
call fcn.0045ff40
lea ecx, [ebp - 0x12a0]
call fcn.00402b00
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1240]
call fcn.00402b00
lea ecx, [ebp - 0x10f0]
call fcn.00402970
push eax
lea eax, [ebp - 0x1108]
push eax
call fcn.00471e00
add esp, 8
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1108]
call fcn.00402070
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x47983c
push 0x5587e8
lea ecx, [ebp - 0x1198]
call fcn.00402000
mov byte [ebp - 4], 0xb
push 0x5587ec
lea ecx, [ebp - 0x11b0]
call fcn.00402000
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x1198]
push ecx
lea edx, [ebp - 0x11b0]
push edx
lea eax, [ebp - 0x1108]
push eax
call fcn.00469120
add esp, 0xc
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x11b0]
call fcn.00401f60
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1198]
call fcn.00401f60
lea ecx, [ebp - 0x1108]
call fcn.00402070
push eax
call fcn.00401ce0
add esp, 4
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1108]
call fcn.00401f60
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x10f0]
call fcn.00402b00
mov ecx, dword [ebp - 0x1348]
push ecx
lea ecx, [ebp - 0x10c0]
call fcn.00409f90
mov edx, dword [ebp - 0x1338]
mov eax, dword [ebp - 0x1334]
mov dword [ebp - 0x1090], edx
mov dword [ebp - 0x108c], eax
mov ecx, dword [ebp + 0x1c]
call fcn.0045e300
movzx ecx, al
test ecx, ecx
je 0x479922
xorps xmm0, xmm0
movlpd qword [ebp - 0x1088], xmm0
mov dword [ebp - 0x1080], 1
lea edx, [ebp - 0x10c0]
push edx
push 1
mov ecx, dword [ebp + 0x1c]
call fcn.00479070
movzx eax, al
test eax, eax
jne 0x479922
push 0x5587f0
mov ecx, dword [ebp + 0x18]
call fcn.00409f90
mov byte [ebp - 0x12a9], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1040]
call fcn.00402b00
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1028]
call fcn.00402b00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1058]
call fcn.00402b00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c0]
call fcn.00479020
mov al, byte [ebp - 0x12a9]
jmp 0x479d97
push 0x55880c
lea ecx, [ebp - 0x1180]
call fcn.00402b90
mov byte [ebp - 4], 0xd
push 0x558810
lea ecx, [ebp - 0x1168]
call fcn.00402b90
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1028]
push ecx
lea edx, [ebp - 0x1180]
push edx
lea eax, [ebp - 0x1168]
push eax
call fcn.00402650
add esp, 0xc
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1168]
call fcn.00402b00
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1180]
call fcn.00402b00
mov ecx, dword [ebp - 0x1348]
push ecx
call fcn.0047a400
add esp, 4
mov byte [ebp - 0x12aa], al
movzx edx, byte [ebp - 0x12aa]
test edx, edx
je 0x479a99
mov eax, dword [ebp - 0x1348]
push eax
lea ecx, [ebp - 0x1120]
push ecx
call fcn.00472420
add esp, 8
mov byte [ebp - 4], 0xf
movzx edx, byte [ebp - 0x12a1]
test edx, edx
je 0x479a0d
lea eax, [ebp - 0x1120]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0x1258]
push edx
call fcn.00478ad0
add esp, 0xc
mov dword [ebp - 0x130c], eax
mov eax, dword [ebp - 0x130c]
push eax
lea ecx, [ebp - 0x1028]
call fcn.0045ff40
lea ecx, [ebp - 0x1258]
call fcn.00402b00
jmp 0x479a8a
lea ecx, [ebp - 0x1120]
push ecx
push 0x558814
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x1288]
push eax
call fcn.00478b60
add esp, 0xc
mov dword [ebp - 0x1308], eax
mov ecx, dword [ebp - 0x1308]
mov dword [ebp - 0x12e0], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x12e0]
push edx
lea eax, [ebp - 0x1270]
push eax
call fcn.00478a90
add esp, 0xc
mov dword [ebp - 0x1304], eax
mov ecx, dword [ebp - 0x1304]
push ecx
lea ecx, [ebp - 0x1028]
call fcn.0045ff40
lea ecx, [ebp - 0x1270]
call fcn.00402b00
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1288]
call fcn.00402b00
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1120]
call fcn.00402b00
push 0x558818
lea ecx, [ebp - 0x1028]
call fcn.00402970
push eax
call fcn.005243a4
add esp, 8
mov dword [ebp - 0x12c0], eax
cmp dword [ebp - 0x12c0], 0
jne 0x479ba6
mov ecx, dword [ebp + 0x1c]
call fcn.0045e300
movzx edx, al
test edx, edx
je 0x479b74
xorps xmm0, xmm0
movlpd qword [ebp - 0x1088], xmm0
lea eax, [ebp - 0x1028]
push eax
lea ecx, [ebp - 0x10c0]
call fcn.0045ffb0
mov dword [ebp - 0x1080], 4
lea ecx, [ebp - 0x10c0]
push ecx
push 4
mov ecx, dword [ebp + 0x1c]
call fcn.00479070
mov byte [ebp - 0x12ab], al
push 0x55881c
mov ecx, dword [ebp + 0x18]
call fcn.00409f90
mov byte [ebp - 0x12a5], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1040]
call fcn.00402b00
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1028]
call fcn.00402b00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1058]
call fcn.00402b00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c0]
call fcn.00479020
mov al, byte [ebp - 0x12a5]
jmp 0x479d97
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1040]
call fcn.00402b00
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1028]
call fcn.00402b00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1058]
call fcn.00402b00
jmp 0x479356
push 0
push 0x1000
lea eax, [ebp - 0x1010]
push eax
mov ecx, dword [ebp - 0x12cc]
push ecx
call fcn.004f3e20
add esp, 0x10
mov dword [ebp - 0x12c8], eax
mov dword [ebp - 0x12c4], edx
cmp dword [ebp - 0x12c4], 0
jl 0x479cba
jg 0x479beb
cmp dword [ebp - 0x12c8], 0
jbe 0x479cba
mov ecx, dword [ebp + 0x1c]
call fcn.0045e300
movzx edx, al
test edx, edx
je 0x479c96
mov dword [ebp - 0x1080], 2
mov eax, dword [ebp - 0x12c8]
mov ecx, dword [ebp - 0x12c4]
mov dword [ebp - 0x1088], eax
mov dword [ebp - 0x1084], ecx
lea edx, [ebp - 0x10c0]
push edx
push 2
mov ecx, dword [ebp + 0x1c]
call fcn.00479070
movzx eax, al
test eax, eax
jne 0x479c96
push str.user_cancel_EXTRACTING
mov ecx, dword [ebp + 0x18]
call fcn.00409f90
mov byte [ebp - 0x12a2], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1040]
call fcn.00402b00
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1028]
call fcn.00402b00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1058]
call fcn.00402b00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c0]
call fcn.00479020
mov al, byte [ebp - 0x12a2]
jmp 0x479d97
mov ecx, dword [ebp - 0x12c0]
push ecx
mov edx, dword [ebp - 0x12c8]
push edx
push 1
lea eax, [ebp - 0x1010]
push eax
call fcn.00524e40
add esp, 0x10
jmp 0x479ba6
mov ecx, dword [ebp - 0x12c0]
push ecx
call fcn.00523c8b
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1040]
call fcn.00402b00
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1028]
call fcn.00402b00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1058]
call fcn.00402b00
jmp 0x479356
mov ecx, dword [ebp + 0x1c]
call fcn.0045e300
movzx edx, al
test edx, edx
je 0x479d5a
mov dword [ebp - 0x1080], 3
lea eax, [ebp - 0x10c0]
push eax
push 3
mov ecx, dword [ebp + 0x1c]
call fcn.00479070
movzx ecx, al
test ecx, ecx
jne 0x479d5a
push str.user_cancel_EXTRACTSUC
mov ecx, dword [ebp + 0x18]
call fcn.00409f90
mov byte [ebp - 0x12a3], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c0]
call fcn.00479020
mov al, byte [ebp - 0x12a3]
jmp 0x479d97
mov edx, dword [ebp - 0x12b4]
push edx
call fcn.004f3170
add esp, 4
mov eax, dword [ebp - 0x12bc]
push eax
call fcn.004f69f0
add esp, 4
mov byte [ebp - 0x12a4], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c0]
call fcn.00479020
mov al, byte [ebp - 0x12a4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00509f60
mov esp, ebp
pop ebp
ret