Function at 0x49f6d0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x579836
mov eax, dword fs:[0]
push eax
mov eax, 0x13ac
call fcn.005318d0
mov eax, dword [0x5c4680]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x133c]
push eax
call fcn.0050b9a0
add esp, 4
lea ecx, [ebp - 0x10d8]
call fcn.0049f400
mov dword [ebp - 4], 0
mov ecx, dword [ebp + 0x14]
push ecx
lea ecx, [ebp - 0x108c]
call fcn.004864b0
mov ecx, dword [ebp + 0x1c]
call fcn.0041cfb0
movzx edx, al
test edx, edx
je 0x49f791
mov dword [ebp - 0x1098], 0
lea eax, [ebp - 0x10d8]
push eax
push 0
mov ecx, dword [ebp + 0x1c]
call fcn.0049f5e0
movzx ecx, al
test ecx, ecx
jne 0x49f791
push str.user_cancel_READY
mov ecx, dword [ebp + 0x18]
call fcn.00409b90
mov byte [ebp - 0x1305], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10d8]
call fcn.0049f590
mov al, byte [ebp - 0x1305]
jmp 0x4a041b
lea edx, [ebp - 0x133c]
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.0051dc80
add esp, 0x14
mov dword [ebp - 0x131c], eax
cmp dword [ebp - 0x131c], 0
jne 0x49f815
push 0x580894
mov ecx, dword [ebp + 0x18]
call fcn.00409b90
lea eax, [ebp - 0x133c]
push eax
call fcn.0051b080
add esp, 4
push eax
mov ecx, dword [ebp + 0x18]
call fcn.00489990
lea ecx, [ebp - 0x133c]
push ecx
call fcn.0051af90
add esp, 4
mov byte [ebp - 0x1306], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10d8]
call fcn.0049f590
mov al, byte [ebp - 0x1306]
jmp 0x4a041b
lea edx, [ebp - 0x133c]
push edx
push 0
mov eax, dword [ebp - 0x131c]
push eax
call fcn.0051c9d0
add esp, 0xc
mov dword [ebp - 0x1314], eax
cmp dword [ebp - 0x1314], 0
jne 0x49f8a3
push 0x5808ac
mov ecx, dword [ebp + 0x18]
call fcn.00409b90
lea ecx, [ebp - 0x133c]
push ecx
call fcn.0051b080
add esp, 4
push eax
mov ecx, dword [ebp + 0x18]
call fcn.00489990
mov edx, dword [ebp - 0x131c]
push edx
call fcn.0051de80
add esp, 4
lea eax, [ebp - 0x133c]
push eax
call fcn.0051af90
add esp, 4
mov byte [ebp - 0x1307], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10d8]
call fcn.0049f590
mov al, byte [ebp - 0x1307]
jmp 0x4a041b
push 0
mov ecx, dword [ebp - 0x1314]
push ecx
call fcn.0051b330
add esp, 8
mov dword [ebp - 0x1330], eax
mov dword [ebp - 0x1310], 0
jmp 0x49f8d5
mov edx, dword [ebp - 0x1310]
add edx, 1
mov dword [ebp - 0x1310], edx
mov eax, dword [ebp - 0x1310]
cmp eax, dword [ebp - 0x1330]
jge 0x4a037f
mov ecx, dword [ebp - 0x1310]
mov dword [ebp - 0x1090], ecx
mov edx, dword [ebp - 0x1330]
mov dword [ebp - 0x1094], edx
lea eax, [ebp - 0x13b8]
push eax
call fcn.0051e230
add esp, 4
lea ecx, [ebp - 0x13b8]
push ecx
push 0
mov eax, dword [ebp - 0x1310]
cdq
push edx
push eax
mov edx, dword [ebp - 0x1314]
push edx
call fcn.0051df00
add esp, 0x14
push 0
mov eax, dword [ebp - 0x1310]
cdq
push edx
push eax
mov eax, dword [ebp - 0x1314]
push eax
call fcn.0051b290
add esp, 0x10
mov dword [ebp - 0x132c], eax
cmp dword [ebp - 0x132c], 0
jne 0x49f95d
jmp 0x49f8c6
mov ecx, dword [ebp - 0x13b0]
push ecx
lea ecx, [ebp - 0x1040]
call fcn.004022c0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1040]
call fcn.0041a9b0
sub eax, 1
push eax
lea ecx, [ebp - 0x1040]
call fcn.00404440
movsx edx, byte [eax]
cmp edx, 0x2f
jne 0x49faf2
lea ecx, [ebp - 0x1040]
call fcn.00402360
push eax
lea eax, [ebp - 0x10f0]
push eax
call fcn.00498370
add esp, 8
mov byte [ebp - 4], 2
push 0x5808c8
lea ecx, [ebp - 0x11c8]
call fcn.00403d10
mov byte [ebp - 4], 3
push 0x5808cc
lea ecx, [ebp - 0x11e0]
call fcn.00403d10
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x11c8]
push ecx
lea edx, [ebp - 0x11e0]
push edx
lea eax, [ebp - 0x10f0]
push eax
call fcn.0048f900
add esp, 0xc
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x11e0]
call fcn.00403c70
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x11c8]
call fcn.00403c70
lea ecx, [ebp - 0x10f0]
call fcn.00403d90
push eax
lea ecx, [ebp - 0x1270]
push ecx
call fcn.00498bb0
add esp, 8
mov dword [ebp - 0x1360], eax
mov edx, dword [ebp - 0x1360]
push edx
lea ecx, [ebp - 0x1040]
call fcn.00486440
lea ecx, [ebp - 0x1270]
call fcn.00402270
lea ecx, [ebp - 0x1040]
call fcn.00402360
push eax
lea eax, [ebp - 0x1138]
push eax
call fcn.00498370
add esp, 8
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1138]
call fcn.00403d90
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x49faa2
lea ecx, [ebp - 0x1138]
call fcn.00403d90
push eax
call fcn.0048e220
add esp, 4
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1138]
call fcn.00403c70
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x10f0]
call fcn.00403c70
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1040]
call fcn.00402270
jmp 0x49f8c6
lea ecx, [ebp - 0x1028]
call fcn.0042b2d0
mov byte [ebp - 4], 6
mov byte [ebp - 0x1301], 0
mov ecx, dword [ebp + 0x14]
call fcn.0041a9b0
sub eax, 1
push eax
mov ecx, dword [ebp + 0x14]
call fcn.0047d430
movsx ecx, byte [eax]
cmp ecx, 0x5c
je 0x49fbc3
mov ecx, dword [ebp + 0x14]
call fcn.0041a9b0
sub eax, 1
push eax
mov ecx, dword [ebp + 0x14]
call fcn.0047d430
movsx edx, byte [eax]
cmp edx, 0x2f
je 0x49fbc3
mov eax, dword [ebp - 0x13b0]
push eax
push 0x5808d0
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0x1240]
push edx
call fcn.0049f0d0
add esp, 0xc
mov dword [ebp - 0x135c], eax
mov eax, dword [ebp - 0x135c]
mov dword [ebp - 0x1358], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1358]
push ecx
lea edx, [ebp - 0x1258]
push edx
call fcn.0047ab50
add esp, 0xc
mov dword [ebp - 0x1354], eax
mov eax, dword [ebp - 0x1354]
push eax
lea ecx, [ebp - 0x1028]
call fcn.00486440
lea ecx, [ebp - 0x1258]
call fcn.00402270
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1240]
call fcn.00402270
jmp 0x49fc07
mov byte [ebp - 0x1301], 1
mov ecx, dword [ebp - 0x13b0]
push ecx
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x1228]
push eax
call fcn.0049f0d0
add esp, 0xc
mov dword [ebp - 0x1350], eax
mov ecx, dword [ebp - 0x1350]
push ecx
lea ecx, [ebp - 0x1028]
call fcn.00486440
lea ecx, [ebp - 0x1228]
call fcn.00402270
mov edx, dword [ebp - 0x13b0]
push edx
lea ecx, [ebp - 0x1058]
call fcn.004022c0
mov byte [ebp - 4], 8
mov dword [ebp - 0x1318], 0xffffffff
push 0xffffffffffffffff
push 0x2f
lea ecx, [ebp - 0x1058]
call fcn.0048e7a0
mov dword [ebp - 0x1318], eax
cmp dword [ebp - 0x1318], 0xffffffff
jne 0x49fc67
push 0xffffffffffffffff
push 0x5c
lea ecx, [ebp - 0x1058]
call fcn.0048e7a0
mov dword [ebp - 0x1318], eax
cmp dword [ebp - 0x1318], 0xffffffff
je 0x49fe45
mov eax, dword [ebp - 0x1318]
push eax
push 0
lea ecx, [ebp - 0x1210]
push ecx
lea ecx, [ebp - 0x1058]
call fcn.0048e810
mov dword [ebp - 0x134c], eax
mov edx, dword [ebp - 0x134c]
push edx
lea ecx, [ebp - 0x1058]
call fcn.00486440
lea ecx, [ebp - 0x1210]
call fcn.00402270
lea ecx, [ebp - 0x1108]
call fcn.0042b2d0
mov byte [ebp - 4], 9
movzx eax, byte [ebp - 0x1301]
test eax, eax
je 0x49fcfe
lea ecx, [ebp - 0x1058]
push ecx
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x11f8]
push eax
call fcn.0049f040
add esp, 0xc
mov dword [ebp - 0x1364], eax
mov ecx, dword [ebp - 0x1364]
push ecx
lea ecx, [ebp - 0x1108]
call fcn.00486440
lea ecx, [ebp - 0x11f8]
call fcn.00402270
jmp 0x49fd7b
lea edx, [ebp - 0x1058]
push edx
push 0x5808d4
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x1288]
push ecx
call fcn.0049f0d0
add esp, 0xc
mov dword [ebp - 0x1348], eax
mov edx, dword [ebp - 0x1348]
mov dword [ebp - 0x1344], edx
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x1344]
push eax
lea ecx, [ebp - 0x1300]
push ecx
call fcn.0049f000
add esp, 0xc
mov dword [ebp - 0x1378], eax
mov edx, dword [ebp - 0x1378]
push edx
lea ecx, [ebp - 0x1108]
call fcn.00486440
lea ecx, [ebp - 0x1300]
call fcn.00402270
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1288]
call fcn.00402270
lea ecx, [ebp - 0x1108]
call fcn.00402360
push eax
lea eax, [ebp - 0x1120]
push eax
call fcn.00498370
add esp, 8
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1120]
call fcn.00403d90
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x49fe27
push 0x5808d8
lea ecx, [ebp - 0x1198]
call fcn.00403d10
mov byte [ebp - 4], 0xc
push 0x5808dc
lea ecx, [ebp - 0x11b0]
call fcn.00403d10
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x1198]
push ecx
lea edx, [ebp - 0x11b0]
push edx
lea eax, [ebp - 0x1120]
push eax
call fcn.0048f900
add esp, 0xc
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x11b0]
call fcn.00403c70
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x1198]
call fcn.00403c70
lea ecx, [ebp - 0x1120]
call fcn.00403d90
push eax
call fcn.0048e220
add esp, 4
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x1120]
call fcn.00403c70
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1108]
call fcn.00402270
mov ecx, dword [ebp - 0x13b0]
push ecx
lea ecx, [ebp - 0x10d8]
call fcn.00409b90
mov edx, dword [ebp - 0x13a0]
mov eax, dword [ebp - 0x139c]
mov dword [ebp - 0x10a8], edx
mov dword [ebp - 0x10a4], eax
mov ecx, dword [ebp + 0x1c]
call fcn.0041cfb0
movzx ecx, al
test ecx, ecx
je 0x49ff0d
xorps xmm0, xmm0
movlpd qword [ebp - 0x10a0], xmm0
mov dword [ebp - 0x1098], 1
lea edx, [ebp - 0x10d8]
push edx
push 1
mov ecx, dword [ebp + 0x1c]
call fcn.0049f5e0
movzx eax, al
test eax, eax
jne 0x49ff0d
push 0x5808e0
mov ecx, dword [ebp + 0x18]
call fcn.00409b90
mov byte [ebp - 0x1308], 0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1058]
call fcn.00402270
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1028]
call fcn.00402270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1040]
call fcn.00402270
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10d8]
call fcn.0049f590
mov al, byte [ebp - 0x1308]
jmp 0x4a041b
lea ecx, [ebp - 0x1028]
call fcn.00402360
push eax
lea ecx, [ebp - 0x1070]
push ecx
call fcn.00498370
add esp, 8
mov byte [ebp - 4], 0xe
push 0x5808fc
lea ecx, [ebp - 0x1180]
call fcn.00403d10
mov byte [ebp - 4], 0xf
push 0x580900
lea ecx, [ebp - 0x1168]
call fcn.00403d10
mov byte [ebp - 4], 0x10
lea edx, [ebp - 0x1180]
push edx
lea eax, [ebp - 0x1168]
push eax
lea ecx, [ebp - 0x1070]
push ecx
call fcn.0048f900
add esp, 0xc
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1168]
call fcn.00403c70
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1180]
call fcn.00403c70
lea ecx, [ebp - 0x1070]
call fcn.00403d90
push eax
lea edx, [ebp - 0x12a0]
push edx
call fcn.00498bb0
add esp, 8
mov dword [ebp - 0x1374], eax
mov eax, dword [ebp - 0x1374]
push eax
lea ecx, [ebp - 0x1028]
call fcn.00486440
lea ecx, [ebp - 0x12a0]
call fcn.00402270
mov ecx, dword [ebp - 0x13b0]
push ecx
call fcn.004a0a90
add esp, 4
mov byte [ebp - 0x1309], al
movzx edx, byte [ebp - 0x1309]
test edx, edx
je 0x4a00e1
mov eax, dword [ebp - 0x13b0]
push eax
lea ecx, [ebp - 0x1150]
push ecx
call fcn.00498990
add esp, 8
mov byte [ebp - 4], 0x11
movzx edx, byte [ebp - 0x1301]
test edx, edx
je 0x4a0055
lea eax, [ebp - 0x1150]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
lea edx, [ebp - 0x12b8]
push edx
call fcn.0049f040
add esp, 0xc
mov dword [ebp - 0x1370], eax
mov eax, dword [ebp - 0x1370]
push eax
lea ecx, [ebp - 0x1028]
call fcn.00486440
lea ecx, [ebp - 0x12b8]
call fcn.00402270
jmp 0x4a00d2
lea ecx, [ebp - 0x1150]
push ecx
push 0x580904
mov edx, dword [ebp + 0x14]
push edx
lea eax, [ebp - 0x12e8]
push eax
call fcn.0049f0d0
add esp, 0xc
mov dword [ebp - 0x136c], eax
mov ecx, dword [ebp - 0x136c]
mov dword [ebp - 0x1368], ecx
mov byte [ebp - 4], 0x12
mov edx, dword [ebp - 0x1368]
push edx
lea eax, [ebp - 0x12d0]
push eax
call fcn.0049f000
add esp, 0xc
mov dword [ebp - 0x1340], eax
mov ecx, dword [ebp - 0x1340]
push ecx
lea ecx, [ebp - 0x1028]
call fcn.00486440
lea ecx, [ebp - 0x12d0]
call fcn.00402270
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x12e8]
call fcn.00402270
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1150]
call fcn.00402270
push 0x580908
lea ecx, [ebp - 0x1028]
call fcn.00402360
push eax
call fcn.0054b824
add esp, 8
mov dword [ebp - 0x1320], eax
cmp dword [ebp - 0x1320], 0
jne 0x4a020c
mov ecx, dword [ebp + 0x1c]
call fcn.0041cfb0
movzx edx, al
test edx, edx
je 0x4a01cb
xorps xmm0, xmm0
movlpd qword [ebp - 0x10a0], xmm0
lea eax, [ebp - 0x1028]
push eax
lea ecx, [ebp - 0x10d8]
call fcn.004864b0
mov dword [ebp - 0x1098], 4
lea ecx, [ebp - 0x10d8]
push ecx
push 4
mov ecx, dword [ebp + 0x1c]
call fcn.0049f5e0
mov byte [ebp - 0x130a], al
push 0x58090c
mov ecx, dword [ebp + 0x18]
call fcn.00409b90
mov byte [ebp - 0x130b], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1070]
call fcn.00403c70
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1058]
call fcn.00402270
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1028]
call fcn.00402270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1040]
call fcn.00402270
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10d8]
call fcn.0049f590
mov al, byte [ebp - 0x130b]
jmp 0x4a041b
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1070]
call fcn.00403c70
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1058]
call fcn.00402270
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1028]
call fcn.00402270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1040]
call fcn.00402270
jmp 0x49f8c6
push 0
push 0x1000
lea eax, [ebp - 0x1010]
push eax
mov ecx, dword [ebp - 0x132c]
push ecx
call fcn.0051b2b0
add esp, 0x10
mov dword [ebp - 0x1328], eax
mov dword [ebp - 0x1324], edx
cmp dword [ebp - 0x1324], 0
jl 0x4a032f
jg 0x4a0251
cmp dword [ebp - 0x1328], 0
jbe 0x4a032f
mov ecx, dword [ebp + 0x1c]
call fcn.0041cfb0
movzx edx, al
test edx, edx
je 0x4a030b
mov dword [ebp - 0x1098], 2
mov eax, dword [ebp - 0x1328]
mov ecx, dword [ebp - 0x1324]
mov dword [ebp - 0x10a0], eax
mov dword [ebp - 0x109c], ecx
lea edx, [ebp - 0x10d8]
push edx
push 2
mov ecx, dword [ebp + 0x1c]
call fcn.0049f5e0
movzx eax, al
test eax, eax
jne 0x4a030b
push str.user_cancel_EXTRACTING
mov ecx, dword [ebp + 0x18]
call fcn.00409b90
mov byte [ebp - 0x1304], 0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1070]
call fcn.00403c70
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1058]
call fcn.00402270
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1028]
call fcn.00402270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1040]
call fcn.00402270
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10d8]
call fcn.0049f590
mov al, byte [ebp - 0x1304]
jmp 0x4a041b
mov ecx, dword [ebp - 0x1320]
push ecx
mov edx, dword [ebp - 0x1328]
push edx
push 1
lea eax, [ebp - 0x1010]
push eax
call fcn.0054c2c2
add esp, 0x10
jmp 0x4a020c
mov ecx, dword [ebp - 0x1320]
push ecx
call fcn.0054b10b
add esp, 4
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1070]
call fcn.00403c70
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1058]
call fcn.00402270
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1028]
call fcn.00402270
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1040]
call fcn.00402270
jmp 0x49f8c6
mov ecx, dword [ebp + 0x1c]
call fcn.0041cfb0
movzx edx, al
test edx, edx
je 0x4a03de
mov dword [ebp - 0x1098], 3
lea eax, [ebp - 0x10d8]
push eax
push 3
mov ecx, dword [ebp + 0x1c]
call fcn.0049f5e0
movzx ecx, al
test ecx, ecx
jne 0x4a03de
push str.user_cancel_EXTRACTSUC
mov ecx, dword [ebp + 0x18]
call fcn.00409b90
mov byte [ebp - 0x1302], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10d8]
call fcn.0049f590
mov al, byte [ebp - 0x1302]
jmp 0x4a041b
mov edx, dword [ebp - 0x1314]
push edx
call fcn.0051a600
add esp, 4
mov eax, dword [ebp - 0x131c]
push eax
call fcn.0051de80
add esp, 4
mov byte [ebp - 0x1303], 1
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10d8]
call fcn.0049f590
mov al, byte [ebp - 0x1303]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005313f0
mov esp, ebp
pop ebp
ret