Function at 0x485bd0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e1700
mov eax, dword fs:[0]
push eax
mov eax, 0x1344
call fcn.004a6d00
mov eax, dword [0x51a500]
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 dword [sym.imp.zip.dll_zip_error_init]
add esp, 4
lea ecx, [ebp - 0x10c0]
call fcn.004858c0
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 0x14]
push ecx
lea ecx, [ebp - 0x1074]
call fcn.00458d70
mov ecx, dword [ebp + 0x1c]
call fcn.00485ac0
movzx edx, al
test edx, edx
je 0x485c92
mov dword [ebp - 0x1080], 0
lea eax, [ebp - 0x10c0]
push eax
push 0
mov ecx, dword [ebp + 0x1c]
call fcn.00485af0
movzx ecx, al
test ecx, ecx
jne 0x485c92
push str.user_cancel_READY
mov ecx, dword [ebp + 0x18]
call fcn.0040a8c0
mov byte [ebp - 0x12a6], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c0]
call fcn.00485a70
mov al, byte [ebp - 0x12a6]
jmp 0x486816
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 dword [sym.imp.zip.dll_zip_source_buffer_create]
add esp, 0x14
mov dword [ebp - 0x12bc], eax
cmp dword [ebp - 0x12bc], 0
jne 0x485d19
push 0x4eab64
mov ecx, dword [ebp + 0x18]
call fcn.0040a8c0
lea eax, [ebp - 0x12dc]
push eax
call dword [sym.imp.zip.dll_zip_error_strerror]
add esp, 4
push eax
mov ecx, dword [ebp + 0x18]
call fcn.00474130
lea ecx, [ebp - 0x12dc]
push ecx
call dword [sym.imp.zip.dll_zip_error_fini]
add esp, 4
mov byte [ebp - 0x12a7], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c0]
call fcn.00485a70
mov al, byte [ebp - 0x12a7]
jmp 0x486816
lea edx, [ebp - 0x12dc]
push edx
push 0
mov eax, dword [ebp - 0x12bc]
push eax
call dword [sym.imp.zip.dll_zip_open_from_source]
add esp, 0xc
mov dword [ebp - 0x12b4], eax
cmp dword [ebp - 0x12b4], 0
jne 0x485dab
push 0x4eab7c
mov ecx, dword [ebp + 0x18]
call fcn.0040a8c0
lea ecx, [ebp - 0x12dc]
push ecx
call dword [sym.imp.zip.dll_zip_error_strerror]
add esp, 4
push eax
mov ecx, dword [ebp + 0x18]
call fcn.00474130
mov edx, dword [ebp - 0x12bc]
push edx
call dword [sym.imp.zip.dll_zip_source_free]
add esp, 4
lea eax, [ebp - 0x12dc]
push eax
call dword [sym.imp.zip.dll_zip_error_fini]
add esp, 4
mov byte [ebp - 0x12a8], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c0]
call fcn.00485a70
mov al, byte [ebp - 0x12a8]
jmp 0x486816
push 0
mov ecx, dword [ebp - 0x12b4]
push ecx
call dword [sym.imp.zip.dll_zip_get_num_entries]
add esp, 8
mov dword [ebp - 0x12d0], eax
mov dword [ebp - 0x12b0], 0
jmp 0x485dde
mov edx, dword [ebp - 0x12b0]
add edx, 1
mov dword [ebp - 0x12b0], edx
mov eax, dword [ebp - 0x12b0]
cmp eax, dword [ebp - 0x12d0]
jge 0x486778
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 dword [sym.imp.zip.dll_zip_stat_init]
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 dword [sym.imp.zip.dll_zip_stat_index]
add esp, 0x14
push 0
mov eax, dword [ebp - 0x12b0]
cdq
push edx
push eax
mov eax, dword [ebp - 0x12b4]
push eax
call dword [sym.imp.zip.dll_zip_fopen_index]
add esp, 0x10
mov dword [ebp - 0x12cc], eax
cmp dword [ebp - 0x12cc], 0
jne 0x485e69
jmp 0x485dcf
mov ecx, dword [ebp - 0x1348]
push ecx
lea ecx, [ebp - 0x1058]
call fcn.00403260
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1058]
call fcn.004024c0
sub eax, 1
push eax
lea ecx, [ebp - 0x1058]
call fcn.00403050
movsx edx, byte [eax]
cmp edx, 0x2f
jne 0x485f83
push 0x4eab98
lea ecx, [ebp - 0x1138]
call fcn.00403260
mov byte [ebp - 4], 2
push 0x4eab9c
lea ecx, [ebp - 0x1150]
call fcn.00403260
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.00402d00
add esp, 0xc
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1150]
call fcn.004031d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1138]
call fcn.004031d0
lea ecx, [ebp - 0x1058]
call fcn.00403040
push eax
lea eax, [ebp - 0x10d8]
push eax
call fcn.0047ecb0
add esp, 8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x10d8]
call fcn.00402760
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x485f51
lea ecx, [ebp - 0x10d8]
call fcn.00402760
push eax
call fcn.00402450
add esp, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10d8]
call fcn.00402650
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1058]
call fcn.004031d0
jmp 0x485dcf
lea ecx, [ebp - 0x1028]
call fcn.004032a0
mov byte [ebp - 4], 5
mov byte [ebp - 0x12a1], 0
mov ecx, dword [ebp + 0x14]
call fcn.004024c0
sub eax, 1
push eax
mov ecx, dword [ebp + 0x14]
call fcn.0045d860
movsx ecx, byte [eax]
cmp ecx, 0x5c
je 0x486054
mov ecx, dword [ebp + 0x14]
call fcn.004024c0
sub eax, 1
push eax
mov ecx, dword [ebp + 0x14]
call fcn.0045d860
movsx edx, byte [eax]
cmp edx, 0x2f
je 0x486054
mov eax, dword [ebp - 0x1348]
push eax
push 0x4eaba0
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0x1210]
push edx
call fcn.00485760
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.0045b130
add esp, 0xc
mov dword [ebp - 0x12f4], eax
mov eax, dword [ebp - 0x12f4]
push eax
lea ecx, [ebp - 0x1028]
call fcn.00458d00
lea ecx, [ebp - 0x1228]
call fcn.004031d0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1210]
call fcn.004031d0
jmp 0x486098
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.00485760
add esp, 0xc
mov dword [ebp - 0x12f0], eax
mov ecx, dword [ebp - 0x12f0]
push ecx
lea ecx, [ebp - 0x1028]
call fcn.00458d00
lea ecx, [ebp - 0x11f8]
call fcn.004031d0
mov edx, dword [ebp - 0x1348]
push edx
lea ecx, [ebp - 0x1040]
call fcn.00403260
mov byte [ebp - 4], 7
mov dword [ebp - 0x12b8], 0xffffffff
push 0xffffffffffffffff
push 0x2f
lea ecx, [ebp - 0x1040]
call fcn.00478740
mov dword [ebp - 0x12b8], eax
cmp dword [ebp - 0x12b8], 0xffffffff
jne 0x4860f8
push 0xffffffffffffffff
push 0x5c
lea ecx, [ebp - 0x1040]
call fcn.00478740
mov dword [ebp - 0x12b8], eax
cmp dword [ebp - 0x12b8], 0xffffffff
je 0x4862d6
mov eax, dword [ebp - 0x12b8]
push eax
push 0
lea ecx, [ebp - 0x11e0]
push ecx
lea ecx, [ebp - 0x1040]
call fcn.00403cc0
mov dword [ebp - 0x1300], eax
mov edx, dword [ebp - 0x1300]
push edx
lea ecx, [ebp - 0x1040]
call fcn.00458d00
lea ecx, [ebp - 0x11e0]
call fcn.004031d0
lea ecx, [ebp - 0x10f0]
call fcn.004032a0
mov byte [ebp - 4], 8
movzx eax, byte [ebp - 0x12a1]
test eax, eax
je 0x48618f
lea ecx, [ebp - 0x1040]
push ecx
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x11c8]
push eax
call fcn.00455730
add esp, 0xc
mov dword [ebp - 0x12ec], eax
mov ecx, dword [ebp - 0x12ec]
push ecx
lea ecx, [ebp - 0x10f0]
call fcn.00458d00
lea ecx, [ebp - 0x11c8]
call fcn.004031d0
jmp 0x48620c
lea edx, [ebp - 0x1040]
push edx
push 0x4eaba4
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x1240]
push ecx
call fcn.00485760
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.00485720
add esp, 0xc
mov dword [ebp - 0x1310], eax
mov edx, dword [ebp - 0x1310]
push edx
lea ecx, [ebp - 0x10f0]
call fcn.00458d00
lea ecx, [ebp - 0x12a0]
call fcn.004031d0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1240]
call fcn.004031d0
lea ecx, [ebp - 0x10f0]
call fcn.00403040
push eax
lea eax, [ebp - 0x1108]
push eax
call fcn.0047ecb0
add esp, 8
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1108]
call fcn.00402760
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x4862b8
push 0x4eaba8
lea ecx, [ebp - 0x1198]
call fcn.004026f0
mov byte [ebp - 4], 0xb
push 0x4eabac
lea ecx, [ebp - 0x11b0]
call fcn.004026f0
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.004794f0
add esp, 0xc
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x11b0]
call fcn.00402650
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x1198]
call fcn.00402650
lea ecx, [ebp - 0x1108]
call fcn.00402760
push eax
call fcn.00402450
add esp, 4
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1108]
call fcn.00402650
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x10f0]
call fcn.004031d0
mov ecx, dword [ebp - 0x1348]
push ecx
lea ecx, [ebp - 0x10c0]
call fcn.0040a8c0
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.00485ac0
movzx ecx, al
test ecx, ecx
je 0x48639e
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.00485af0
movzx eax, al
test eax, eax
jne 0x48639e
push 0x4eabb0
mov ecx, dword [ebp + 0x18]
call fcn.0040a8c0
mov byte [ebp - 0x12a9], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1040]
call fcn.004031d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1028]
call fcn.004031d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1058]
call fcn.004031d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c0]
call fcn.00485a70
mov al, byte [ebp - 0x12a9]
jmp 0x486816
push 0x4eabcc
lea ecx, [ebp - 0x1180]
call fcn.00403260
mov byte [ebp - 4], 0xd
push 0x4eabd0
lea ecx, [ebp - 0x1168]
call fcn.00403260
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.00402d00
add esp, 0xc
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1168]
call fcn.004031d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1180]
call fcn.004031d0
mov ecx, dword [ebp - 0x1348]
push ecx
call fcn.00486c70
add esp, 4
mov byte [ebp - 0x12aa], al
movzx edx, byte [ebp - 0x12aa]
test edx, edx
je 0x486515
mov eax, dword [ebp - 0x1348]
push eax
lea ecx, [ebp - 0x1120]
push ecx
call fcn.0047f190
add esp, 8
mov byte [ebp - 4], 0xf
movzx edx, byte [ebp - 0x12a1]
test edx, edx
je 0x486489
lea eax, [ebp - 0x1120]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0x1258]
push edx
call fcn.00455730
add esp, 0xc
mov dword [ebp - 0x130c], eax
mov eax, dword [ebp - 0x130c]
push eax
lea ecx, [ebp - 0x1028]
call fcn.00458d00
lea ecx, [ebp - 0x1258]
call fcn.004031d0
jmp 0x486506
lea ecx, [ebp - 0x1120]
push ecx
push 0x4eabd4
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x1288]
push eax
call fcn.00485760
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.00485720
add esp, 0xc
mov dword [ebp - 0x1304], eax
mov ecx, dword [ebp - 0x1304]
push ecx
lea ecx, [ebp - 0x1028]
call fcn.00458d00
lea ecx, [ebp - 0x1270]
call fcn.004031d0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1288]
call fcn.004031d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1120]
call fcn.004031d0
push 0x4eabd8
lea ecx, [ebp - 0x1028]
call fcn.00403040
push eax
call fcn.004c11b2
add esp, 8
mov dword [ebp - 0x12c0], eax
cmp dword [ebp - 0x12c0], 0
jne 0x486622
mov ecx, dword [ebp + 0x1c]
call fcn.00485ac0
movzx edx, al
test edx, edx
je 0x4865f0
xorps xmm0, xmm0
movlpd qword [ebp - 0x1088], xmm0
lea eax, [ebp - 0x1028]
push eax
lea ecx, [ebp - 0x10c0]
call fcn.00458d70
mov dword [ebp - 0x1080], 4
lea ecx, [ebp - 0x10c0]
push ecx
push 4
mov ecx, dword [ebp + 0x1c]
call fcn.00485af0
mov byte [ebp - 0x12ab], al
push 0x4eabdc
mov ecx, dword [ebp + 0x18]
call fcn.0040a8c0
mov byte [ebp - 0x12a5], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1040]
call fcn.004031d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1028]
call fcn.004031d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1058]
call fcn.004031d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c0]
call fcn.00485a70
mov al, byte [ebp - 0x12a5]
jmp 0x486816
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1040]
call fcn.004031d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1028]
call fcn.004031d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1058]
call fcn.004031d0
jmp 0x485dcf
push 0
push 0x1000
lea eax, [ebp - 0x1010]
push eax
mov ecx, dword [ebp - 0x12cc]
push ecx
call dword [sym.imp.zip.dll_zip_fread]
add esp, 0x10
mov dword [ebp - 0x12c8], eax
mov dword [ebp - 0x12c4], edx
cmp dword [ebp - 0x12c4], 0
jl 0x486737
jg 0x486668
cmp dword [ebp - 0x12c8], 0
jbe 0x486737
mov ecx, dword [ebp + 0x1c]
call fcn.00485ac0
movzx edx, al
test edx, edx
je 0x486713
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.00485af0
movzx eax, al
test eax, eax
jne 0x486713
push str.user_cancel_EXTRACTING
mov ecx, dword [ebp + 0x18]
call fcn.0040a8c0
mov byte [ebp - 0x12a2], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1040]
call fcn.004031d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1028]
call fcn.004031d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1058]
call fcn.004031d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c0]
call fcn.00485a70
mov al, byte [ebp - 0x12a2]
jmp 0x486816
mov ecx, dword [ebp - 0x12c0]
push ecx
mov edx, dword [ebp - 0x12c8]
push edx
push 1
lea eax, [ebp - 0x1010]
push eax
call fcn.004ba049
add esp, 0x10
jmp 0x486622
mov ecx, dword [ebp - 0x12c0]
push ecx
call fcn.004b8ff5
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1040]
call fcn.004031d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1028]
call fcn.004031d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1058]
call fcn.004031d0
jmp 0x485dcf
mov ecx, dword [ebp + 0x1c]
call fcn.00485ac0
movzx edx, al
test edx, edx
je 0x4867d7
mov dword [ebp - 0x1080], 3
lea eax, [ebp - 0x10c0]
push eax
push 3
mov ecx, dword [ebp + 0x1c]
call fcn.00485af0
movzx ecx, al
test ecx, ecx
jne 0x4867d7
push str.user_cancel_EXTRACTSUC
mov ecx, dword [ebp + 0x18]
call fcn.0040a8c0
mov byte [ebp - 0x12a3], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c0]
call fcn.00485a70
mov al, byte [ebp - 0x12a3]
jmp 0x486816
mov edx, dword [ebp - 0x12b4]
push edx
call dword [sym.imp.zip.dll_zip_close]
add esp, 4
mov eax, dword [ebp - 0x12bc]
push eax
call dword [sym.imp.zip.dll_zip_source_free]
add esp, 4
mov byte [ebp - 0x12a4], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10c0]
call fcn.00485a70
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.004a6675
mov esp, ebp
pop ebp
ret