Function at 0x4f22d0
Capabilities:
Check for time delay via gettickcount
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x62ea1a
mov eax, dword fs:[0]
push eax
mov eax, 0x4f3c
call fcn.005eb610
mov eax, dword [0x6f7654]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4f20], ecx
push 0x1d0
push 0x67bfc0
push 0x67bfe0
lea ecx, [ebp - 0x2468]
call fcn.00455c30
mov dword [ebp - 4], 0
mov eax, dword [ebp + 0x24]
push eax
mov ecx, dword [ebp + 0x20]
push ecx
mov edx, dword [ebp + 0x1c]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
push str.sqPatchVersionCheckServer__s___sqPatchVersionCheckServerPort__d____t_t_tsqPatchVersionCheckScheme__s___sqPatchReposName__s____t_t_tsqPatchCurrentVersionName__s___sqPatchInstallDir__s__t_t_tsqPatchDownloadDir__s___platform__s_
push 4
push 0x67c0d4
push 0x1d9
push 0x67c0dc
push 0x67c0fc
call fcn.004563b0
add esp, 0x38
push str.____________________game_update_start___________________________
push 4
push 0x67c15c
push 0x1db
push 0x67c164
push 0x67c184
call fcn.004563b0
add esp, 0x18
mov edx, dword [ebp - 0x4f20]
add edx, 0x10
push edx
lea ecx, [ebp - 0x2470]
call fcn.004071d0
mov eax, dword [ebp - 0x4f20]
mov byte [eax + 0xc], 0
lea ecx, [ebp - 0x2470]
call fcn.00407200
mov ecx, dword [ebp + 0x20]
push ecx
lea ecx, [ebp - 0x4e6c]
call fcn.00402dc0
mov byte [ebp - 4], 1
lea edx, [ebp - 0x4e6c]
push edx
lea eax, [ebp - 0x4e88]
push eax
call fcn.0041e030
add esp, 8
mov dword [ebp - 0x4f24], eax
mov ecx, dword [ebp - 0x4f24]
mov dword [ebp - 0x4f28], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x4f28]
push edx
lea eax, [ebp - 0x2048]
push eax
call fcn.0061aa90
add esp, 8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4e88]
call fcn.00403b10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4e6c]
call fcn.00402e00
lea ecx, [ebp - 0x2048]
call fcn.0045e920
test eax, eax
jbe 0x4f245d
lea ecx, [ebp - 0x34]
push ecx
lea edx, [ebp - 0x2024]
push edx
lea eax, [ebp - 0x202c]
push eax
lea ecx, [ebp - 0x2048]
call fcn.00402aa0
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
push 1
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1e70
mov ecx, dword [ebp - 0x4f20]
call fcn.004f11d0
mov dword [ebp - 0x2018], eax
mov ecx, dword [ebp - 0x2018]
push ecx
push str.patchVersion_s_n
push 4
push 0x67c1b0
push 0x1ee
push 0x67c1b8
push 0x67c1d8
call fcn.004563b0
add esp, 0x1c
mov byte [ebp - 0x2014], 0
push 0x1fdf
push 0
lea edx, [ebp - 0x2013]
push edx
call fcn.005eb2a0
add esp, 0xc
mov dword [ebp - 0x2454], 0
mov dword [ebp - 0x2458], 0
mov eax, 1
test eax, eax
je 0x4f25ac
mov ecx, dword [ebp - 0x2458]
add ecx, 1
push ecx
push str.ex_d
push 0xa
lea edx, [ebp - 0x247c]
push edx
call fcn.005edd8b
add esp, 0x10
push 0x20
mov eax, dword [ebp - 0x2458]
shl eax, 5
lea ecx, [ebp + eax - 0x2014]
push ecx
lea edx, [ebp - 0x247c]
push edx
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1070
movzx eax, al
test eax, eax
jne 0x4f2531
jmp 0x4f25ac
mov ecx, dword [ebp - 0x2458]
shl ecx, 5
lea edx, [ebp + ecx - 0x2014]
push edx
lea eax, [ebp - 0x247c]
push eax
push str.__s_:_s_n
push 4
push 0x67c204
push 0x1fd
push 0x67c20c
push 0x67c22c
call fcn.004563b0
add esp, 0x20
mov ecx, dword [ebp - 0x2458]
shl ecx, 5
lea edx, [ebp + ecx - 0x2014]
mov eax, dword [ebp - 0x2458]
mov dword [ebp + eax*4 - 0x244c], edx
mov ecx, dword [ebp - 0x2454]
add ecx, 1
mov dword [ebp - 0x2454], ecx
mov edx, dword [ebp - 0x2458]
add edx, 1
mov dword [ebp - 0x2458], edx
jmp 0x4f24d6
push str.ffxivboot.exe_149504_5f2a70612aa58378eb347869e75adeb8f5581a1b
mov eax, dword [0x6f466c]
push eax
call dword [0x6fc2c4]
add esp, 8
mov dword [ebp - 0x246c], eax
cmp dword [ebp - 0x246c], 0
jge 0x4f25fe
mov ecx, dword [ebp - 0x246c]
push ecx
push str.____failed_to_sqexPatchInitialize___d___n
push 4
push 0x67c2b0
push 0x207
push 0x67c2b8
push 0x67c2d8
call fcn.004563b0
add esp, 0x1c
jmp 0x4f3850
mov edx, dword [ebp - 0x4f20]
mov eax, dword [ebp - 0x246c]
mov dword [edx + 4], eax
push 2
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1e70
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x24]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x246c]
push ecx
push str.handle_d__checkserver_s__Port_d_Scheme_s__platform_s__sqPatchReposName_s_sqPatchCurrentVersionName_s
push 4
push 0x67c35c
push 0x212
push 0x67c364
push 0x67c384
call fcn.004563b0
add esp, 0x34
mov edx, dword [ebp - 0x2454]
push edx
lea eax, [ebp - 0x244c]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp + 0x14]
push edx
mov eax, dword [ebp + 0x24]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x246c]
push ecx
call dword [0x6fc2d4]
add esp, 0x24
mov dword [ebp - 0x204c], eax
cmp dword [ebp - 0x204c], 0
je 0x4f26d0
mov edx, dword [ebp - 0x204c]
push edx
push str.____failed_to_sqexPatchVersionCheckStartEx_errCode__d___n
push 4
push 0x67c3d8
push 0x218
push 0x67c3e0
push 0x67c400
call fcn.004563b0
add esp, 0x1c
jmp 0x4f3850
mov eax, dword [ebp - 0x246c]
push eax
call dword [0x6fc2fc]
add esp, 4
test eax, eax
je 0x4f273a
mov ecx, dword [ebp - 0x4f20]
movzx edx, byte [ecx + 0xc]
test edx, edx
je 0x4f272d
push str.cancel_to_sqexPatchVersionCheckIsBusy_sqexPatchVersionCheckCancel.
push 4
push 0x67c45c
push 0x221
push 0x67c464
push 0x67c484
call fcn.004563b0
add esp, 0x18
mov eax, dword [ebp - 0x4f20]
mov ecx, dword [eax + 4]
push ecx
call dword [0x6fc300]
add esp, 4
jmp 0x4f377a
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4f26d0
mov edx, dword [ebp - 0x246c]
push edx
call dword [0x6fc2d0]
add esp, 4
mov dword [ebp - 0x204c], eax
cmp dword [ebp - 0x204c], 0
je 0x4f27be
mov eax, dword [ebp - 0x4f20]
movzx ecx, byte [eax + 0xc]
test ecx, ecx
je 0x4f278f
push str.cancel_to_sqexPatchVersionCheckGetResponse_.
push 4
push 0x67c4cc
push 0x22f
push 0x67c4d4
push 0x67c4f4
call fcn.004563b0
add esp, 0x18
jmp 0x4f377a
mov edx, dword [ebp - 0x204c]
push edx
push str.___failed_to_sqexPatchVersionCheckGetResponse__errCode__d__n
push 4
push 0x67c548
push 0x232
push 0x67c550
push 0x67c570
call fcn.004563b0
add esp, 0x1c
jmp 0x4f3850
mov eax, dword [ebp - 0x246c]
push eax
call dword [0x6fc30c]
add esp, 4
mov dword [ebp - 0x201c], eax
cmp dword [ebp - 0x201c], 0
jge 0x4f2805
push str.___failed_to_sqexPatchGetNumOfPatch__n
push 4
push 0x67c5b0
push 0x23a
push 0x67c5b8
push 0x67c5d8
call fcn.004563b0
add esp, 0x18
jmp 0x4f3850
mov ecx, dword [ebp - 0x201c]
push ecx
push str.num_of_patch__d_n
push 4
push 0x67c604
push 0x23e
push 0x67c60c
push 0x67c62c
call fcn.004563b0
add esp, 0x1c
push 3
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1e70
mov ecx, dword [ebp - 0x4f20]
call fcn.004f3db0
push 0
push 0
push 0
push 0
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1960
push 0
push 0
push 0x3e8
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1ac0
push 0
push 0
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1c30
push 0x40
call fcn.005e8b02
add esp, 4
mov dword [ebp - 0x4e8c], eax
mov edx, dword [ebp - 0x4e8c]
mov dword [ebp - 0x2450], edx
cmp dword [ebp - 0x201c], 0
jle 0x4f2984
mov eax, dword [ebp - 0x201c]
sub eax, 1
push eax
lea ecx, [ebp - 0x3724]
push ecx
mov edx, dword [ebp - 0x246c]
push edx
call dword [0x6fc2bc]
add esp, 0xc
mov dword [ebp - 0x204c], eax
cmp dword [ebp - 0x204c], 0
je 0x4f2905
mov eax, dword [ebp - 0x204c]
push eax
push 0x67c644
push 4
push 0x67c670
push 0x250
push 0x67c678
push 0x67c698
call fcn.004563b0
add esp, 0x1c
jmp 0x4f3850
push 8
mov ecx, dword [ebp - 0x4f20]
add ecx, 0x13c
push ecx
lea edx, [ebp - 0x3724]
push edx
mov eax, dword [ebp - 0x246c]
push eax
call dword [0x6fc2e0]
add esp, 0x10
test eax, eax
je 0x4f2957
push 0x67c6b0
push 4
push 0x67c6d4
push 0x256
push 0x67c6dc
push 0x67c6fc
call fcn.004563b0
add esp, 0x18
jmp 0x4f3850
push 0x40
push 0
mov ecx, dword [ebp - 0x2450]
push ecx
call fcn.005eb2a0
add esp, 0xc
lea edx, [ebp - 0x36fc]
push edx
push 0x40
mov eax, dword [ebp - 0x2450]
push eax
call fcn.005f380a
add esp, 0xc
jmp 0x4f29c0
mov ecx, dword [ebp - 0x4f20]
call fcn.004f11d0
push eax
push 0x67c714
push 0x40
mov ecx, dword [ebp - 0x2450]
push ecx
call fcn.005edd8b
add esp, 0x10
push 0x67c718
mov edx, dword [ebp - 0x4f20]
add edx, 0x13c
push edx
call fcn.005f3ec0
add esp, 8
mov eax, dword [ebp - 0x2450]
push eax
mov ecx, dword [ebp - 0x4f20]
call fcn.004f2110
mov dword [ebp - 0x3728], 0
jmp 0x4f29ed
mov ecx, dword [ebp - 0x3728]
add ecx, 1
mov dword [ebp - 0x3728], ecx
mov edx, dword [ebp - 0x3728]
cmp edx, dword [ebp - 0x201c]
jge 0x4f36b2
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x2020]
push edx
mov eax, dword [ebp - 0x2024]
push eax
push str.DOWNLOADING:_disk_full__pos_1__TotalBytes__llu___freebytes.quadpart__llu__n
push 4
push 0x67c76c
push 0x26a
push 0x67c774
push 0x67c794
call fcn.004563b0
add esp, 0x28
mov ecx, dword [ebp - 0x3728]
push ecx
lea edx, [ebp - 0x4a24]
push edx
mov eax, dword [ebp - 0x246c]
push eax
call dword [0x6fc2bc]
add esp, 0xc
mov dword [ebp - 0x204c], eax
cmp dword [ebp - 0x204c], 0
je 0x4f2a94
mov ecx, dword [ebp - 0x204c]
push ecx
push str.___failed_to_sqexPatchGetPatchElement___d__n
push 4
push 0x67c7d8
push 0x271
push 0x67c7e0
push 0x67c800
call fcn.004563b0
add esp, 0x1c
jmp 0x4f3850
push 0xa
lea edx, [ebp - 0x3768]
push edx
lea eax, [ebp - 0x4a24]
push eax
mov ecx, dword [ebp - 0x246c]
push ecx
call dword [0x6fc2e0]
add esp, 0x10
test eax, eax
je 0x4f2ae0
push str.___failed_to_sqexGetPatchTypeName_n
push 4
push 0x67c83c
push 0x278
push 0x67c844
push 0x67c864
call fcn.004563b0
add esp, 0x18
jmp 0x4f3850
mov edx, dword [ebp - 0x4a18]
push edx
mov eax, dword [ebp - 0x4a1c]
push eax
mov ecx, dword [ebp - 0x4a00]
push ecx
mov edx, dword [ebp - 0x4a04]
push edx
mov eax, dword [ebp - 0x4a20]
push eax
mov ecx, dword [ebp - 0x4a24]
push ecx
push str.DOWNLOADING:_sqexPatchGetPatchElement_patchSize__llu___hashBlockSize__llu_
push 4
push 0x67c8e4
push 0x27d
push 0x67c8ec
push 0x67c90c
call fcn.004563b0
add esp, 0x30
mov edx, dword [ebp - 0x4f20]
cmp dword [edx + 0x2c], 4
jne 0x4f2b46
push 3
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1e70
mov eax, dword [ebp + 0x20]
push eax
lea ecx, [ebp - 0x497c]
push ecx
mov edx, dword [ebp - 0x201c]
add edx, 1
push edx
mov eax, dword [ebp - 0x3728]
add eax, 1
push eax
lea ecx, [ebp - 0x49fc]
push ecx
push str.Downloading..._patchElement.version__s__patchIndex__d___numOfPatch__d___patchElement.url__s__sqPatchDownloadDir__s_.
push 4
push 0x67c9a0
push 0x286
push 0x67c9a8
push 0x67c9c8
call fcn.004563b0
add esp, 0x2c
mov edx, dword [ebp + 0x20]
push edx
lea ecx, [ebp - 0x4ea8]
call fcn.00402dc0
mov byte [ebp - 4], 6
lea eax, [ebp - 0x4ea8]
push eax
lea ecx, [ebp - 0x4ec4]
push ecx
call fcn.004f3dd0
add esp, 8
mov dword [ebp - 0x4f2c], eax
mov edx, dword [ebp - 0x4f2c]
mov dword [ebp - 0x4f30], edx
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x4f30]
call fcn.00403ab0
push eax
lea eax, [ebp - 0x4a24]
push eax
mov ecx, dword [ebp - 0x246c]
push ecx
call dword [0x6fc2dc]
add esp, 0xc
mov dword [ebp - 0x204c], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x4ec4]
call fcn.00402e00
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4ea8]
call fcn.00402e00
push str.Downloading..._patchElement_01
push 4
push 0x67ca00
push 0x28b
push 0x67ca08
push 0x67ca28
call fcn.004563b0
add esp, 0x18
cmp dword [ebp - 0x204c], 0
je 0x4f2cac
cmp dword [ebp - 0x204c], 0x15f91
jne 0x4f2c5f
push 0x15f91
mov ecx, dword [ebp - 0x4f20]
call fcn.004f2030
jmp 0x4f2ca7
cmp dword [ebp - 0x204c], 0x15f92
jne 0x4f2c7d
push 0x15f92
mov ecx, dword [ebp - 0x4f20]
call fcn.004f2030
jmp 0x4f2ca7
mov edx, dword [ebp - 0x204c]
push edx
push str.___failed_to_sqexPatchDownloadStart_errCode__d__n
push 4
push 0x67ca74
push 0x299
push 0x67ca7c
push 0x67ca9c
call fcn.004563b0
add esp, 0x1c
jmp 0x4f3850
mov dword [ebp - 0x375c], 0
mov dword [ebp - 0x3758], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x372c], eax
push 0x2a4
push 0x67cab4
push 0x67cad4
lea ecx, [ebp - 0x3778]
call fcn.00455c30
mov byte [ebp - 4], 8
lea eax, [ebp - 0x3754]
push eax
mov ecx, dword [ebp - 0x246c]
push ecx
call dword [0x6fc2f8]
add esp, 8
test eax, eax
je 0x4f30fd
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x3740]
push ecx
mov edx, dword [ebp - 0x3744]
push edx
mov eax, dword [ebp - 0x3748]
push eax
mov ecx, dword [ebp - 0x374c]
push ecx
mov edx, dword [ebp - 0x3750]
push edx
mov eax, dword [ebp - 0x3754]
push eax
push str.DOWNLOADING:_disk_full__pos_1__downloadProgress.__llu__downloadProgress.size__llu__downloadProgress.total__llu___freebytes.quadpart__llu__n
push 4
push 0x67cb7c
push 0x2a9
push 0x67cb84
push 0x67cba4
call fcn.004563b0
add esp, 0x38
cmp dword [ebp - 0x3740], 0
ja 0x4f2d74
cmp dword [ebp - 0x3744], 0
jbe 0x4f3064
cmp dword [ebp - 0x30], 0
ja 0x4f2d80
cmp dword [ebp - 0x34], 0
jbe 0x4f2dec
push 0
push 3
mov ecx, dword [ebp - 0x3740]
push ecx
mov edx, dword [ebp - 0x3744]
push edx
call fcn.005f3df0
push 0
push 2
push edx
push eax
call fcn.005f39c0
mov dword [ebp - 0x4f38], eax
mov dword [ebp - 0x4f34], edx
mov eax, dword [ebp - 0x4f34]
cmp eax, dword [ebp - 0x30]
jb 0x4f2dec
ja 0x4f2dc6
mov ecx, dword [ebp - 0x4f38]
cmp ecx, dword [ebp - 0x34]
jbe 0x4f2dec
push 0x760
mov ecx, dword [ebp - 0x4f20]
call fcn.004f2030
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3778]
call fcn.00455c90
jmp 0x4f3850
cmp dword [ebp - 0x30], 0
ja 0x4f2df8
cmp dword [ebp - 0x34], 0
jbe 0x4f2e06
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
lea edx, [ebp - 0x3754]
push edx
mov eax, dword [ebp - 0x246c]
push eax
call dword [0x6fc2f8]
add esp, 8
test eax, eax
setne cl
mov byte [ebp - 0x4e2d], cl
mov edx, dword [ebp - 0x3744]
add edx, dword [ebp - 0x3754]
mov eax, dword [ebp - 0x3740]
adc eax, dword [ebp - 0x3750]
push eax
push edx
mov ecx, dword [ebp - 0x374c]
add ecx, dword [ebp - 0x3754]
mov edx, dword [ebp - 0x3748]
adc edx, dword [ebp - 0x3750]
push edx
push ecx
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1960
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x4e3c], eax
mov eax, dword [ebp - 0x4e3c]
sub eax, dword [ebp - 0x372c]
mov dword [ebp - 0x4e34], eax
mov dword [ebp - 0x4e2c], 0
mov dword [ebp - 0x4e28], 0
cmp dword [ebp - 0x4e34], 0
jle 0x4f2ee8
mov ecx, dword [ebp - 0x374c]
sub ecx, dword [ebp - 0x375c]
mov edx, dword [ebp - 0x3748]
sbb edx, dword [ebp - 0x3758]
push 0
push 0x3e8
push edx
push ecx
call fcn.005f3df0
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x4e34]
cdq
push edx
push eax
push esi
push ecx
call fcn.005f39c0
mov dword [ebp - 0x4e2c], eax
mov dword [ebp - 0x4e28], edx
mov edx, dword [ebp - 0x4e28]
push edx
mov eax, dword [ebp - 0x4e2c]
push eax
mov ecx, dword [ebp - 0x4e3c]
sub ecx, dword [ebp - 0x372c]
push ecx
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1ac0
mov edx, dword [ebp - 0x4e3c]
mov dword [ebp - 0x372c], edx
mov eax, dword [ebp - 0x374c]
mov dword [ebp - 0x375c], eax
mov ecx, dword [ebp - 0x3748]
mov dword [ebp - 0x3758], ecx
mov edx, dword [ebp - 0x3744]
sub edx, dword [ebp - 0x374c]
mov eax, dword [ebp - 0x3740]
sbb eax, dword [ebp - 0x3748]
push eax
push edx
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1c30
mov dword [ebp - 0x4ec8], 0x18
mov ecx, dword [ebp - 0x4ec8]
push ecx
call fcn.005ea3fd
add esp, 4
mov dword [ebp - 0x4ecc], eax
cmp dword [ebp - 0x4ecc], 0
je 0x4f2fa5
mov edx, dword [ebp - 0x4ec8]
push edx
push 0
mov eax, dword [ebp - 0x4ecc]
push eax
call fcn.005eb2a0
add esp, 0xc
mov ecx, dword [ebp - 0x4ecc]
mov dword [ebp - 0x4f3c], ecx
jmp 0x4f2faf
mov dword [ebp - 0x4f3c], 0
mov edx, dword [ebp - 0x4f3c]
mov dword [ebp - 0x4e38], edx
mov eax, dword [ebp - 0x374c]
add eax, dword [ebp - 0x3754]
mov ecx, dword [ebp - 0x3748]
adc ecx, dword [ebp - 0x3750]
mov edx, dword [ebp - 0x4e38]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov eax, dword [ebp - 0x3744]
add eax, dword [ebp - 0x3754]
mov ecx, dword [ebp - 0x3740]
adc ecx, dword [ebp - 0x3750]
mov edx, dword [ebp - 0x4e38]
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], ecx
mov eax, dword [ebp - 0x4e38]
push eax
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1d50
mov ecx, dword [ebp - 0x3740]
push ecx
mov edx, dword [ebp - 0x3744]
push edx
mov eax, dword [ebp - 0x3748]
push eax
mov ecx, dword [ebp - 0x374c]
push ecx
mov edx, dword [ebp - 0x3750]
push edx
mov eax, dword [ebp - 0x3754]
push eax
push str.DOWNLOADING:_downloadProgress.already__llu__downloadProgress.size__llu__downloadProgress.total__llu__n
push 4
push 0x67cc28
push 0x2d0
push 0x67cc30
push 0x67cc50
call fcn.004563b0
add esp, 0x30
jmp 0x4f3095
mov ecx, dword [ebp - 0x3740]
push ecx
mov edx, dword [ebp - 0x3744]
push edx
push str.DOWNLOADING:downloadProgress.total__llu____0_
push 4
push 0x67cc98
push 0x2d4
push 0x67cca0
push 0x67ccc0
call fcn.004563b0
add esp, 0x20
mov eax, dword [ebp - 0x4f20]
movzx ecx, byte [eax + 0xc]
test ecx, ecx
je 0x4f30ed
push str.cancel_to_sqexPatchDownloadIsBusy_.
push 4
push 0x67cd00
push 0x2d9
push 0x67cd08
push 0x67cd28
call fcn.004563b0
add esp, 0x18
mov edx, dword [ebp - 0x4f20]
mov eax, dword [edx + 4]
push eax
call dword [0x6fc2cc]
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3778]
call fcn.00455c90
jmp 0x4f377a
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4f2cea
mov ecx, dword [ebp - 0x3740]
push ecx
mov edx, dword [ebp - 0x3744]
push edx
mov eax, dword [ebp - 0x3748]
push eax
mov ecx, dword [ebp - 0x374c]
push ecx
mov edx, dword [ebp - 0x3750]
push edx
mov eax, dword [ebp - 0x3754]
push eax
push str.DOWNLOADING:_downloadProgress.already__llu__downloadProgress.size__llu__downloadProgress.total__llu__finished__n
push 4
push 0x67cdb0
push 0x2e1
push 0x67cdb8
push 0x67cdd8
call fcn.004563b0
add esp, 0x30
mov ecx, dword [ebp - 0x4f20]
cmp dword [ecx + 0x2c], 3
jne 0x4f32b1
lea edx, [ebp - 0x3754]
push edx
mov eax, dword [ebp - 0x246c]
push eax
call dword [0x6fc2f8]
add esp, 8
test eax, eax
jne 0x4f32b1
mov ecx, dword [ebp - 0x4f20]
call fcn.004f3db0
mov ecx, dword [ebp - 0x3744]
add ecx, dword [ebp - 0x3754]
mov edx, dword [ebp - 0x3740]
adc edx, dword [ebp - 0x3750]
push edx
push ecx
mov eax, dword [ebp - 0x374c]
add eax, dword [ebp - 0x3754]
mov ecx, dword [ebp - 0x3748]
adc ecx, dword [ebp - 0x3750]
push ecx
push eax
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1960
push 0
push 0
push 0x3e8
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1ac0
push 0
push 0
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1c30
mov dword [ebp - 0x4ed0], 0x18
mov edx, dword [ebp - 0x4ed0]
push edx
call fcn.005ea3fd
add esp, 4
mov dword [ebp - 0x4ed4], eax
cmp dword [ebp - 0x4ed4], 0
je 0x4f3234
mov eax, dword [ebp - 0x4ed0]
push eax
push 0
mov ecx, dword [ebp - 0x4ed4]
push ecx
call fcn.005eb2a0
add esp, 0xc
mov edx, dword [ebp - 0x4ed4]
mov dword [ebp - 0x4f40], edx
jmp 0x4f323e
mov dword [ebp - 0x4f40], 0
mov eax, dword [ebp - 0x4f40]
mov dword [ebp - 0x4e40], eax
mov ecx, dword [ebp - 0x374c]
add ecx, dword [ebp - 0x3754]
mov edx, dword [ebp - 0x3748]
adc edx, dword [ebp - 0x3750]
mov eax, dword [ebp - 0x4e40]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x3744]
add ecx, dword [ebp - 0x3754]
mov edx, dword [ebp - 0x3740]
adc edx, dword [ebp - 0x3750]
mov eax, dword [ebp - 0x4e40]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
mov ecx, dword [ebp - 0x4e40]
push ecx
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1d50
push 4
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1e70
push 0x400
lea edx, [ebp - 0x4e24]
push edx
mov eax, dword [ebp - 0x246c]
push eax
call dword [0x6fc2e4]
add esp, 0xc
mov dword [ebp - 0x204c], eax
cmp dword [ebp - 0x204c], 0
je 0x4f3363
mov ecx, dword [ebp - 0x4f20]
movzx edx, byte [ecx + 0xc]
test edx, edx
je 0x4f3325
push str.___cancel_to_sqexPatchDownloadGetResponse_n
push 4
push 0x67ce1c
push 0x2f9
push 0x67ce24
push 0x67ce44
call fcn.004563b0
add esp, 0x18
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3778]
call fcn.00455c90
jmp 0x4f377a
mov eax, dword [ebp - 0x204c]
push eax
push str.___failed_to_sqexPatchDownloadGetResponse_errCode__d__n
push 4
push 0x67ce94
push 0x2fd
push 0x67ce9c
push 0x67cebc
call fcn.004563b0
add esp, 0x1c
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3778]
call fcn.00455c90
jmp 0x4f3850
lea ecx, [ebp - 0x4e24]
push ecx
mov edx, dword [ebp - 0x201c]
add edx, 1
push edx
mov eax, dword [ebp - 0x3728]
add eax, 1
push eax
lea ecx, [ebp - 0x49fc]
push ecx
push str.Installing...__patchElement.version__s__patchIndex__d__numOfPatch__d___patchFilePath__s_
push 4
push 0x67cf34
push 0x302
push 0x67cf3c
push 0x67cf5c
call fcn.004563b0
add esp, 0x28
mov edx, dword [ebp + 0x1c]
push edx
lea ecx, [ebp - 0x4ef0]
call fcn.00402dc0
mov byte [ebp - 4], 9
lea eax, [ebp - 0x4e24]
push eax
lea ecx, [ebp - 0x4ef0]
push ecx
lea edx, [ebp - 0x4f0c]
push edx
call fcn.004f3dd0
add esp, 8
mov dword [ebp - 0x4f44], eax
mov eax, dword [ebp - 0x4f44]
mov dword [ebp - 0x4f48], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x4f48]
call fcn.00403ab0
push eax
mov ecx, dword [ebp - 0x246c]
push ecx
call dword [0x6fc2ec]
add esp, 0xc
mov dword [ebp - 0x204c], eax
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x4f0c]
call fcn.00402e00
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x4ef0]
call fcn.00402e00
cmp dword [ebp - 0x204c], 0
je 0x4f34af
cmp dword [ebp - 0x204c], 0x15f91
jne 0x4f3455
push 0x15f91
mov ecx, dword [ebp - 0x4f20]
call fcn.004f2030
jmp 0x4f3471
cmp dword [ebp - 0x204c], 0x15f92
jne 0x4f3471
push 0x15f92
mov ecx, dword [ebp - 0x4f20]
call fcn.004f2030
mov edx, dword [ebp - 0x204c]
push edx
push str.___failed_to_sqexPatchInstallStart___d__n
push 4
push 0x67cfa0
push 0x311
push 0x67cfa8
push 0x67cfc8
call fcn.004563b0
add esp, 0x1c
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3778]
call fcn.00455c90
jmp 0x4f3850
lea eax, [ebp - 0x373c]
push eax
mov ecx, dword [ebp - 0x246c]
push ecx
call dword [0x6fc2f0]
add esp, 8
test eax, eax
je 0x4f3583
mov edx, dword [ebp - 0x3734]
or edx, dword [ebp - 0x3730]
je 0x4f351b
mov eax, dword [ebp - 0x3730]
push eax
mov ecx, dword [ebp - 0x3734]
push ecx
mov edx, dword [ebp - 0x3738]
push edx
mov eax, dword [ebp - 0x373c]
push eax
push str.INSTALLING:_installProgress.completeSize__llu__installProgress.totalSize__llu__n
push 4
push 0x67d030
push 0x31b
push 0x67d038
push 0x67d058
call fcn.004563b0
add esp, 0x28
mov ecx, dword [ebp - 0x4f20]
movzx edx, byte [ecx + 0xc]
test edx, edx
je 0x4f3573
push str.___cancel_to_sqexPatchInstallIsBusy_n
push 4
push 0x67d098
push 0x320
push 0x67d0a0
push 0x67d0c0
call fcn.004563b0
add esp, 0x18
mov eax, dword [ebp - 0x4f20]
mov ecx, dword [eax + 4]
push ecx
call dword [0x6fc2c8]
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3778]
call fcn.00455c90
jmp 0x4f377a
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4f34af
mov edx, dword [ebp - 0x246c]
push edx
call dword [0x6fc2f4]
add esp, 4
mov dword [ebp - 0x204c], eax
cmp dword [ebp - 0x204c], 0
je 0x4f361e
mov eax, dword [ebp - 0x4f20]
movzx ecx, byte [eax + 0xc]
test ecx, ecx
je 0x4f35e7
push str.___cancel_to_sqexPatchInstallGetResponse_n
push 4
push 0x67d104
push 0x32e
push 0x67d10c
push 0x67d12c
call fcn.004563b0
add esp, 0x18
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3778]
call fcn.00455c90
jmp 0x4f377a
push str.___failed_to_sqexPatchInstallGetResponse_n
push 4
push 0x67d170
push 0x332
push 0x67d178
push 0x67d198
call fcn.004563b0
add esp, 0x18
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3778]
call fcn.00455c90
jmp 0x4f3850
mov edx, dword [ebp - 0x3730]
push edx
mov eax, dword [ebp - 0x3734]
push eax
mov ecx, dword [ebp - 0x3738]
push ecx
mov edx, dword [ebp - 0x373c]
push edx
push str.INSTALLING:__llu__llu_finished__n
push 4
push 0x67d1d4
push 0x336
push 0x67d1dc
push 0x67d1fc
call fcn.004563b0
add esp, 0x28
lea eax, [ebp - 0x49fc]
push eax
lea ecx, [ebp - 0x3768]
push ecx
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1660
lea edx, [ebp - 0x3768]
push edx
mov eax, dword [ebp - 0x4f20]
add eax, 0x134
push eax
call fcn.005f3ec0
add esp, 8
push 0
mov ecx, dword [ebp - 0x4f20]
call fcn.004f21f0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x3778]
call fcn.00455c90
jmp 0x4f29de
mov ecx, dword [ebp - 0x246c]
push ecx
call dword [0x6fc2b8]
add esp, 4
mov dword [ebp - 0x204c], eax
cmp dword [ebp - 0x204c], 0
je 0x4f3700
mov edx, dword [ebp - 0x204c]
push edx
push str.___failed_to_sqexPatchFinalize__errCode__d__n
push 4
push 0x67d244
push 0x348
push 0x67d24c
push 0x67d26c
call fcn.004563b0
add esp, 0x1c
jmp 0x4f3850
push 5
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1e70
mov eax, dword [ebp - 0x4f20]
mov dword [eax + 4], 0xffffffff
mov ecx, dword [ebp - 0x4f20]
add ecx, 0x10
push ecx
lea ecx, [ebp - 0x4e44]
call fcn.004071d0
mov edx, dword [ebp - 0x4f20]
mov byte [edx + 0xc], 1
lea ecx, [ebp - 0x4e44]
call fcn.00407200
mov dword [ebp - 0x4f10], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2048]
call fcn.00403b10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2468]
call fcn.00455c90
mov eax, dword [ebp - 0x4f10]
jmp 0x4f39a7
push str.CANCEL_LABEL
push 4
push 0x67d294
push 0x359
push 0x67d29c
push 0x67d2bc
call fcn.004563b0
add esp, 0x18
mov eax, dword [ebp - 0x246c]
push eax
call dword [0x6fc2b8]
add esp, 4
test eax, eax
je 0x4f37d6
push str.___failed_to_sqexPatchFinalize_n
push 4
push 0x67d2f4
push 0x35e
push 0x67d2fc
push 0x67d31c
call fcn.004563b0
add esp, 0x18
jmp 0x4f3850
mov ecx, dword [ebp - 0x4f20]
mov dword [ecx + 4], 0xffffffff
mov edx, dword [ebp - 0x4f20]
add edx, 0x10
push edx
lea ecx, [ebp - 0x4e48]
call fcn.004071d0
mov eax, dword [ebp - 0x4f20]
mov byte [eax + 0xc], 1
lea ecx, [ebp - 0x4e48]
call fcn.00407200
push 7
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1e70
mov dword [ebp - 0x4f14], 0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2048]
call fcn.00403b10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2468]
call fcn.00455c90
mov eax, dword [ebp - 0x4f14]
jmp 0x4f39a7
lea ecx, [ebp - 0x2c]
call fcn.00408aa0
mov byte [ebp - 4], 0xb
push 0x14
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x4f20]
call fcn.004f17c0
lea ecx, [ebp - 0x2c]
call fcn.00403ab0
push eax
push str.ERROR_LABEL__errorMsg__s_
push 4
push 0x67d350
push 0x371
push str.CSqexPatchAdapter::PatchUpdate
push 0x67d378
call fcn.004563b0
add esp, 0x1c
lea ecx, [ebp - 0x2c]
call fcn.0045e920
test eax, eax
ja 0x4f38b4
push 0
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1f50
jmp 0x4f3923
lea ecx, [ebp - 0x2c]
call fcn.0045e920
add eax, 1
push eax
call fcn.005e8b02
add esp, 4
mov dword [ebp - 0x4f18], eax
mov edx, dword [ebp - 0x4f18]
mov dword [ebp - 0x4e4c], edx
lea ecx, [ebp - 0x2c]
call fcn.0045e920
add eax, 1
push eax
push 0
mov eax, dword [ebp - 0x4e4c]
push eax
call fcn.005eb2a0
add esp, 0xc
push 0
lea ecx, [ebp - 0x2c]
call fcn.0045e920
push eax
mov ecx, dword [ebp - 0x4e4c]
push ecx
lea ecx, [ebp - 0x2c]
call fcn.004772a0
mov edx, dword [ebp - 0x4e4c]
push edx
mov ecx, dword [ebp - 0x4f20]
call fcn.004f1f50
mov eax, dword [ebp - 0x246c]
push eax
call dword [0x6fc2b8]
add esp, 4
mov ecx, dword [ebp - 0x4f20]
mov dword [ecx + 4], 0xffffffff
mov edx, dword [ebp - 0x4f20]
add edx, 0x10
push edx
lea ecx, [ebp - 0x4e50]
call fcn.004071d0
mov eax, dword [ebp - 0x4f20]
mov byte [eax + 0xc], 1
lea ecx, [ebp - 0x4e50]
call fcn.00407200
mov dword [ebp - 0x4f1c], 0xffffffff
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c]
call fcn.00402e00
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x2048]
call fcn.00403b10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2468]
call fcn.00455c90
mov eax, dword [ebp - 0x4f1c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005ea848
mov esp, ebp
pop ebp
ret 0x20