Function at 0x42cad0
Capabilities:
Get disk size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48a130
mov eax, dword fs:[0]
push eax
sub esp, 0xd14
mov eax, dword [0x4af6f0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov dword [ebp - 0xc70], eax
xor eax, eax
push 0x206
push eax
mov dword [ebp - 0xc9c], eax
mov dword [ebp - 0xc5c], eax
mov dword [ebp - 0xc60], eax
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push eax
mov dword [ebp - 0xc64], ebx
mov dword [ebp - 0xcec], ebx
call fcn.0046f6e0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x62c], ax
lea eax, [ebp - 0x62a]
push eax
call fcn.0046f6e0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x834], ax
lea eax, [ebp - 0x832]
push eax
call fcn.0046f6e0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xc44], ax
lea eax, [ebp - 0xc42]
push eax
call fcn.0046f6e0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x424], ax
lea eax, [ebp - 0x422]
push eax
call fcn.0046f6e0
xor eax, eax
push 0x206
push eax
mov word [ebp - 0xa3c], ax
lea eax, [ebp - 0xa3a]
push eax
call fcn.0046f6e0
xor eax, eax
mov dword [ebp - 0xc74], 0
mov dword [ebp - 0xcb8], eax
mov ecx, 0x4b2288
mov dword [ebp - 0xca8], eax
xorps xmm0, xmm0
mov eax, dword [ebp + 0x14]
add esp, 0x48
movzx eax, al
and eax, 8
mov dword [ebp - 0xc80], 0
mov dword [ebp - 0xc68], 0
lea edx, [ecx + 2]
movlpd qword [ebp - 0xc90], xmm0
movlpd qword [ebp - 0xc88], xmm0
movlpd qword [ebp - 0xc7c], xmm0
mov dword [ebp - 0xca4], 0
mov dword [ebp - 0xca0], 0
mov byte [ebp - 0xc55], 0
mov dword [ebp - 0xcd8], eax
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42cc50
sub ecx, edx
sar ecx, 1
jne 0x42cc80
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4b2490], eax
mov eax, dword [ebx]
mov dword [ebp - 0xca8], 1
cmp eax, dword [ebx + 4]
je 0x42cc80
mov dword [ebx + 4], eax
push 0
push 0x80
push 3
push 0
push 1
push closesocket
push esi
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
mov dword [ebp - 0xcbc], ebx
cmp ebx, 0xffffffff
jne 0x42ccd2
push 0x4a93ac
lea eax, [ebp - 0xd00]
mov dword [ebp - 0xc5c], 2
push eax
mov dword [ebp - 0xd00], 2
call fcn.0046ec09
lea eax, [ebp - 0xc7c]
push eax
push str._PSA____2.0
push ebx
call fcn.0042c830
add esp, 0xc
test eax, eax
jne 0x42cd29
lea eax, [ebp - 0xc7c]
push eax
push str._FCW____1.0_
push ebx
call fcn.0042c830
add esp, 0xc
test eax, eax
jne 0x42cd29
push 0x4a93ac
lea eax, [ebp - 0xd04]
mov dword [ebp - 0xc5c], 0xde
push eax
mov dword [ebp - 0xd04], 0xde
call fcn.0046ec09
push esi
lea eax, [ebp - 0x834]
push 0x104
push eax
call fcn.0046fd12
push esi
lea eax, [ebp - 0xc44]
push 0x104
push eax
call fcn.0046fd12
add esp, 0x18
lea eax, [ebp - 0x834]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0xc44]
push eax
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
mov esi, dword [ebp - 0xc7c]
lea eax, [ebp - 0xc88]
mov edi, dword [ebp - 0xc78]
add esi, 4
push 2
push eax
adc edi, 0
mov dword [ebp - 0xcc8], 0
mov ecx, esi
mov eax, edi
neg ecx
adc eax, 0
neg eax
push eax
push ecx
push ebx
call fcn.00440130
add esp, 0x14
test eax, eax
je 0x42d8d6
push 0
lea eax, [ebp - 0xc60]
push eax
push 4
lea eax, [ebp - 0xcc8]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0xcc8]
push str.ExtractFCWFile____NbFilesDisk_d
call fcn.004695f0
add esp, 8
lea eax, [ebp - 0xc88]
add esi, 8
xorps xmm0, xmm0
mov ecx, esi
movlpd qword [ebp - 0xcc4], xmm0
adc edi, 0
neg ecx
push 2
push eax
mov eax, edi
adc eax, 0
neg eax
push eax
push ecx
push ebx
call fcn.00440130
add esp, 0x14
test eax, eax
je 0x42d8b1
push 0
lea eax, [ebp - 0xc60]
push eax
push 8
lea eax, [ebp - 0xcc4]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0xcc0]
push dword [ebp - 0xcc4]
push str.ExtractFCWFile____TotFilesDiskSize_I64u
call fcn.004695f0
add esp, 0xc
mov dword [ebp - 0xcac], 0
add esi, 4
lea eax, [ebp - 0xc88]
mov ecx, esi
adc edi, 0
neg ecx
push 2
push eax
mov eax, edi
adc eax, 0
neg eax
push eax
push ecx
push ebx
call fcn.00440130
add esp, 0x14
test eax, eax
je 0x42d88c
push 0
lea eax, [ebp - 0xc60]
push eax
push 4
lea eax, [ebp - 0xcac]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0xcac]
push str.ExtractFCWFile____NbFiles_d
call fcn.004695f0
add esp, 8
lea eax, [ebp - 0xc88]
add esi, 8
xorps xmm0, xmm0
mov ecx, esi
movlpd qword [ebp - 0xc98], xmm0
adc edi, 0
neg ecx
push 2
push eax
mov eax, edi
adc eax, 0
neg eax
push eax
push ecx
push ebx
call fcn.00440130
add esp, 0x14
test eax, eax
je 0x42d867
push 0
lea eax, [ebp - 0xc60]
push eax
push 8
lea eax, [ebp - 0xc98]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0xc94]
mov dword [ebp - 0xc6c], eax
push dword [ebp - 0xc98]
push str.ExtractFCWFile____TotFilesSize_I64u
call fcn.004695f0
add esp, 0xc
test byte [ebp + 0x14], 2
je 0x42cf2a
push dword [ebp - 0xc70]
call fcn.0043b250
add esp, 4
push 0
push 0
lea eax, [ebp - 0xcb4]
mov dword [ebp - 0xcb4], 0
push eax
push dword [ebp - 0xc70]
mov dword [ebp - 0xcb0], 0
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
je 0x42cfce
push dword [ebp - 0xcb0]
push dword [ebp - 0xcb4]
push str.ExtractFCWFile____FreeBytesAvailable_I64u
call fcn.004695f0
add esp, 0xc
push dword [ebp - 0xc94]
push dword [ebp - 0xc98]
push str.ExtractFCWFile____TotFilesSize_I64u
call fcn.004695f0
mov eax, dword [ebp - 0xc94]
add esp, 0xc
cmp eax, dword [ebp - 0xcb0]
jb 0x42cfce
ja 0x42cfa9
mov eax, dword [ebp - 0xc98]
cmp eax, dword [ebp - 0xcb4]
jbe 0x42cfce
push 0x4a93ac
lea eax, [ebp - 0xd14]
mov dword [ebp - 0xc5c], 0x70
push eax
mov dword [ebp - 0xd14], 0x70
call fcn.0046ec09
cmp dword [ebp - 0xca8], 0
je 0x42cff1
push dword [ebp - 0xcc0]
mov ecx, 0x4af010
push dword [ebp - 0xcc4]
call fcn.00428f60
xor ecx, ecx
jmp 0x42d014
mov eax, dword [ebp - 0xc64]
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x52835813
imul ecx
sar edx, 0xa
mov ecx, edx
shr ecx, 0x1f
inc ecx
add ecx, edx
mov dword [ebp - 0xc68], ecx
mov edx, dword [ebp - 0xcac]
add edx, ecx
mov dword [ebp - 0xce8], edx
cmp ecx, edx
jae 0x42d824
cmp dword [ebp - 0xc6c], 0
je 0x42d824
cmp dword [ebp - 0xc9c], 0
jne 0x42d824
cmp dword [0x4b552c], 0
jne 0x42d824
push 0x208
lea eax, [ebp - 0x21c]
mov dword [ebp - 0xc74], 0
xorps xmm0, xmm0
mov dword [ebp - 0xc80], 0
push 0
push eax
movlpd qword [ebp - 0xc90], xmm0
call fcn.0046f6e0
push 0x208
lea eax, [ebp - 0x62c]
push 0
push eax
call fcn.0046f6e0
add esi, 4
lea eax, [ebp - 0xc88]
push 2
push eax
adc edi, 0
mov ecx, esi
neg ecx
mov eax, edi
adc eax, 0
neg eax
push eax
push ecx
push ebx
call fcn.00440130
add esp, 0x2c
test eax, eax
je 0x42d7ff
push 0
lea eax, [ebp - 0xc60]
push eax
push 4
lea eax, [ebp - 0xc74]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
push esi
push dword [ebp - 0xc74]
mov dword [ebp - 0xc6c], eax
push str.ExtractFCWFile____lgFile_u_LastOffSet_I64d
call fcn.004695f0
add esp, 0x10
cmp dword [ebp - 0xc6c], 0
je 0x42d7da
mov eax, dword [ebp - 0xc74]
cmp eax, 0x104
ja 0x42d7da
test eax, eax
je 0x42d193
add esi, eax
lea eax, [ebp - 0xc88]
push 2
push eax
adc edi, 0
mov ecx, esi
neg ecx
mov eax, edi
adc eax, 0
neg eax
push eax
push ecx
push ebx
call fcn.00440130
add esp, 0x14
test eax, eax
je 0x42d47b
push 0
lea eax, [ebp - 0xc60]
push eax
push dword [ebp - 0xc74]
lea eax, [ebp - 0x21c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, dword [ebp - 0xc74]
add eax, eax
cmp eax, 0x208
jae 0x42d476
xor ecx, ecx
mov word [ebp + eax - 0x21c], cx
lea eax, [ebp - 0x21c]
push eax
push str.ExtractFCWFile____File_s
call fcn.004695f0
add esp, 8
add esi, 8
lea eax, [ebp - 0xc88]
push 2
push eax
adc edi, 0
mov ecx, esi
neg ecx
mov eax, edi
adc eax, 0
neg eax
push eax
push ecx
push ebx
call fcn.00440130
add esp, 0x14
test eax, eax
je 0x42d7b5
push 0
lea eax, [ebp - 0xc60]
push eax
push 8
lea eax, [ebp - 0xca4]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
lea eax, [ebp - 0xc54]
push eax
lea eax, [ebp - 0xca4]
push eax
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
movzx eax, word [ebp - 0xc46]
push eax
movzx eax, word [ebp - 0xc48]
push eax
movzx eax, word [ebp - 0xc4a]
push eax
movzx eax, word [ebp - 0xc4c]
push eax
movzx eax, word [ebp - 0xc54]
push eax
movzx eax, word [ebp - 0xc52]
push eax
movzx eax, word [ebp - 0xc4e]
push eax
push str.ExtractFCWFile____stLastWriteTime_d__d__d____d:_d:_d__dms
call fcn.00469290
add esp, 0x20
lea eax, [ebp - 0xc88]
add esi, 8
mov ecx, esi
adc edi, 0
neg ecx
push 2
push eax
mov eax, edi
adc eax, 0
neg eax
push eax
push ecx
push ebx
call fcn.00440130
add esp, 0x14
test eax, eax
je 0x42d790
push 0
lea eax, [ebp - 0xc60]
push eax
push 8
lea eax, [ebp - 0xc90]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0xc8c]
push dword [ebp - 0xc90]
push str.ExtractFCWFile____FileSize_I64u
call fcn.004695f0
add esp, 0xc
lea eax, [ebp - 0xc88]
add esi, 8
mov ecx, esi
adc edi, 0
neg ecx
push 2
push eax
mov eax, edi
adc eax, 0
neg eax
push eax
push ecx
push ebx
call fcn.00440130
add esp, 0x14
test eax, eax
je 0x42d76b
push 0
lea eax, [ebp - 0xc60]
push eax
push 8
lea eax, [ebp - 0xc7c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0xc78]
push dword [ebp - 0xc7c]
push str.ExtractFCWFile____DataOffSet_I64d
call fcn.004695f0
add esp, 0xc
lea eax, [ebp - 0xc88]
add esi, 1
mov ecx, esi
adc edi, 0
neg ecx
push 2
push eax
mov eax, edi
adc eax, 0
neg eax
push eax
push ecx
push ebx
call fcn.00440130
add esp, 0x14
test eax, eax
je 0x42d746
push 0
lea eax, [ebp - 0xc60]
push eax
push 1
lea eax, [ebp - 0xc55]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
movzx eax, byte [ebp - 0xc55]
push eax
push str.ExtractFCWFile____TypeOfFile_d
call fcn.004695f0
add esp, 8
lea eax, [ebp - 0xc88]
add esi, 4
mov ecx, esi
adc edi, 0
neg ecx
push 2
push eax
mov eax, edi
adc eax, 0
neg eax
push eax
push ecx
push ebx
call fcn.00440130
add esp, 0x14
test eax, eax
je 0x42d721
push 0
lea eax, [ebp - 0xc60]
push eax
push 4
lea eax, [ebp - 0xc80]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0xc80]
mov dword [ebp - 0xc6c], eax
push str.ExtractFCWFile____lgFileOut_u
call fcn.004695f0
add esp, 8
cmp dword [ebp - 0xc6c], 0
je 0x42d6fc
mov eax, dword [ebp - 0xc80]
cmp eax, 0x104
ja 0x42d6fc
test eax, eax
je 0x42d448
add esi, eax
lea eax, [ebp - 0xc88]
push 2
push eax
adc edi, 0
mov ecx, esi
neg ecx
mov eax, edi
adc eax, 0
neg eax
push eax
push ecx
push ebx
call fcn.00440130
add esp, 0x14
test eax, eax
je 0x42d4a0
push 0
lea eax, [ebp - 0xc60]
push eax
push dword [ebp - 0xc80]
lea eax, [ebp - 0x62c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0xc6c], eax
mov eax, dword [ebp - 0xc80]
add eax, eax
cmp eax, 0x208
jae 0x42d476
xor ecx, ecx
mov word [ebp + eax - 0x62c], cx
lea eax, [ebp - 0x62c]
push eax
push str.ExtractFCWFile____FileOut_s
call fcn.004695f0
add esp, 8
cmp dword [ebp - 0xc6c], 0
jne 0x42d4c5
push 0x4a93ac
lea eax, [ebp - 0xcd0]
mov dword [ebp - 0xc5c], 0xd
push eax
mov dword [ebp - 0xcd0], 0xd
call fcn.0046ec09
call fcn.0046fea6
push 0x4a93ac
lea eax, [ebp - 0xcf4]
mov dword [ebp - 0xc5c], 0xd
push eax
mov dword [ebp - 0xcf4], 0xd
call fcn.0046ec09
push 0x4a93ac
lea eax, [ebp - 0xd0c]
mov dword [ebp - 0xc5c], 0xd
push eax
mov dword [ebp - 0xd0c], 0xd
call fcn.0046ec09
mov eax, dword [ebp - 0xc68]
mov ecx, dword [ebp - 0xc64]
inc eax
push eax
mov dword [ebp - 0xce0], eax
call fcn.0042db80
test byte [ebp + 0x14], 0x10
lea eax, [ebp - 0x21c]
push eax
jne 0x42d513
lea eax, [ebp - 0xa3c]
push 0x104
push eax
call fcn.0046fd12
add esp, 0xc
lea eax, [ebp - 0xa3c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
lea eax, [ebp - 0xa3c]
push eax
push dword [ebp - 0xc70]
lea eax, [ebp - 0x424]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
imul ecx, dword [ebp - 0xc68], 0xc69
lea eax, [ebp - 0x21c]
push eax
mov eax, dword [ebp - 0xc64]
push 0x104
mov dword [ebp - 0xc68], ecx
add ecx, 0xc
mov eax, dword [eax]
add eax, ecx
push eax
call fcn.0046fd12
mov ecx, dword [ebp - 0xc68]
lea eax, [ebp - 0x62c]
push eax
mov eax, dword [ebp - 0xc64]
add ecx, 0x41c
push 0x104
mov eax, dword [eax]
add eax, ecx
push eax
call fcn.0046fd12
mov edx, dword [ebp - 0xc68]
mov eax, dword [ebp - 0xc64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xc90]
mov dword [edx + ecx + 0xc3c], eax
mov eax, dword [ebp - 0xc8c]
mov dword [edx + ecx + 0xc40], eax
mov eax, dword [ebp - 0xc64]
mov ecx, dword [eax]
movzx eax, byte [ebp - 0xc55]
mov byte [edx + ecx + 0xc5c], al
mov eax, dword [ebp - 0xc64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xc7c]
mov dword [edx + ecx + 0xc54], eax
mov eax, dword [ebp - 0xc78]
mov dword [edx + ecx + 0xc58], eax
mov eax, dword [ebp - 0xc64]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xca4]
mov dword [edx + ecx + 0xc4c], eax
mov eax, dword [ebp - 0xca0]
mov dword [edx + ecx + 0xc50], eax
lea eax, [ebp - 0x424]
push eax
mov eax, dword [ebp - 0xc64]
push 0x104
mov eax, dword [eax]
add eax, 0xa34
add eax, edx
push eax
call fcn.0046fd12
mov al, byte [ebp - 0xc55]
add esp, 0x24
test al, 0x40
je 0x42d63e
lea eax, [ebp - 0x424]
push eax
call fcn.0043b250
add esp, 4
jmp 0x42d697
test al, 0x20
lea eax, [ebp - 0x424]
je 0x42d64e
push 1
push 0
jmp 0x42d656
push 0
push dword [ebp - 0xcd8]
push 1
push eax
push dword [ebp - 0xca0]
push dword [ebp - 0xca4]
push dword [ebp - 0xc8c]
push dword [ebp - 0xc90]
push dword [ebp - 0xc78]
push dword [ebp - 0xc7c]
push 0x48c8a4
push ebx
call fcn.00466960
mov dword [ebp - 0xc5c], eax
add esp, 0x30
mov dword [ebp - 0xc9c], eax
test byte [ebp - 0xc55], 0x10
je 0x42d6d3
mov eax, dword [ebp - 0xc64]
mov ecx, dword [ebp - 0xc68]
add ecx, 0x41c
mov dword [ebp - 0xcb8], 1
mov eax, dword [eax]
add eax, ecx
push eax
lea eax, [ebp - 0x834]
push eax
push 0x4b2288
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov eax, dword [ebp - 0xce0]
push 0
push 0
mov dword [ebp - 0xc68], eax
call fcn.0043fa80
mov ecx, dword [ebp - 0xc68]
add esp, 8
mov edx, dword [ebp - 0xce8]
jmp 0x42d022
push 0x4a93ac
lea eax, [ebp - 0xcf0]
mov dword [ebp - 0xc5c], 0xd
push eax
mov dword [ebp - 0xcf0], 0xd
call fcn.0046ec09
push 0x4a93ac
lea eax, [ebp - 0xcf8]
mov dword [ebp - 0xc5c], 0xd
push eax
mov dword [ebp - 0xcf8], 0xd
call fcn.0046ec09
push 0x4a93ac
lea eax, [ebp - 0xccc]
mov dword [ebp - 0xc5c], 0xd
push eax
mov dword [ebp - 0xccc], 0xd
call fcn.0046ec09
push 0x4a93ac
lea eax, [ebp - 0xd08]
mov dword [ebp - 0xc5c], 0xd
push eax
mov dword [ebp - 0xd08], 0xd
call fcn.0046ec09
push 0x4a93ac
lea eax, [ebp - 0xd10]
mov dword [ebp - 0xc5c], 0xd
push eax
mov dword [ebp - 0xd10], 0xd
call fcn.0046ec09
push 0x4a93ac
lea eax, [ebp - 0xd18]
mov dword [ebp - 0xc5c], 0xd
push eax
mov dword [ebp - 0xd18], 0xd
call fcn.0046ec09
push 0x4a93ac
lea eax, [ebp - 0xd20]
mov dword [ebp - 0xc5c], 0xd
push eax
mov dword [ebp - 0xd20], 0xd
call fcn.0046ec09
push 0x4a93ac
lea eax, [ebp - 0xcd4]
mov dword [ebp - 0xc5c], 0xd
push eax
mov dword [ebp - 0xcd4], 0xd
call fcn.0046ec09
mov edi, dword [ebp - 0xc64]
mov esi, dword [edi]
mov ecx, dword [edi + 4]
cmp esi, ecx
je 0x42d85c
sub ecx, esi
mov eax, 0x52835813
imul ecx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esi], eax
mov ecx, dword [edi]
mov eax, dword [ebp - 0xc98]
add dword [ecx + 4], eax
mov eax, dword [ebp - 0xc94]
adc dword [ecx + 8], eax
mov esi, dword [ebp - 0xc9c]
jmp 0x42d936
push 0x4a93ac
lea eax, [ebp - 0xcfc]
mov dword [ebp - 0xc5c], 0xd
push eax
mov dword [ebp - 0xcfc], 0xd
call fcn.0046ec09
push 0x4a93ac
lea eax, [ebp - 0xcdc]
mov dword [ebp - 0xc5c], 0xd
push eax
mov dword [ebp - 0xcdc], 0xd
call fcn.0046ec09
push 0x4a93ac
lea eax, [ebp - 0xd1c]
mov dword [ebp - 0xc5c], 0xd
push eax
mov dword [ebp - 0xd1c], 0xd
call fcn.0046ec09
push 0x4a93ac
lea eax, [ebp - 0xce4]
mov dword [ebp - 0xc5c], 0xd
push eax
mov dword [ebp - 0xce4], 0xd
call fcn.0046ec09
push str.ExtractFCWFile____Catch_Error_
call fcn.004695f0
mov eax, dword [ebp - 0xc5c]
add esp, 4
test eax, eax
mov ecx, 0xd
cmove eax, ecx
mov dword [ebp - 0xc5c], eax
mov eax, 0x42d924
ret
mov dword [ebp - 4], 0xffffffff
test ebx, ebx
je 0x42d948
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xcb8]
test eax, eax
je 0x42d974
mov eax, dword [ebp + 0x14]
test al, 4
je 0x42d974
test esi, esi
jne 0x42d974
push eax
push edi
push dword [ebp - 0xc70]
push 0x4b2288
call fcn.0042cad0
add esp, 0x10
mov esi, eax
cmp dword [0x4b552c], 0
mov eax, 0x4c7
cmovne esi, eax
cmp dword [ebp - 0xca8], 0
je 0x42d9ae
xor eax, eax
mov word [0x4b2288], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x4b2490]
push eax
push str.ExtractFCWFile____done_in__d_ms
call fcn.00469290
add esp, 8
push esi
push str.ExtractFCWFile____End__d_
call fcn.004695f0
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0046ebfa
mov esp, ebp
pop ebp
ret