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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a93fd
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0xd94
mov eax, dword [0x4ce724]
xor eax, ebp
mov dword [ebp - 0x2c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x684], 0
mov dword [ebp - 0xcac], 0
xor eax, eax
mov word [ebp - 0xca8], ax
push 0x206
push 0
lea ecx, [ebp - 0xca6]
push ecx
call fcn.00468010
add esp, 0xc
xor edx, edx
mov word [ebp - 0xaa0], dx
push 0x206
push 0
lea eax, [ebp - 0xa9e]
push eax
call fcn.00468010
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x238], cx
push 0x206
push 0
lea edx, [ebp - 0x236]
push edx
call fcn.00468010
add esp, 0xc
xor eax, eax
mov word [ebp - 0x890], ax
push 0x206
push 0
lea ecx, [ebp - 0x88e]
push ecx
call fcn.00468010
add esp, 0xc
xor edx, edx
mov word [ebp - 0x668], dx
push 0x206
push 0
lea eax, [ebp - 0x666]
push eax
call fcn.00468010
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x440], cx
push 0x206
push 0
lea edx, [ebp - 0x43e]
push edx
call fcn.00468010
add esp, 0xc
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x44c], 0
mov dword [ebp - 0x67c], 0
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x674], 0
xor eax, eax
mov dword [ebp - 0x670], eax
mov byte [ebp - 0x669], 0
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x444], 0
movzx ecx, byte [ebp + 0x14]
and ecx, 8
mov dword [ebp - 0x678], ecx
call fcn.004040e0
mov dword [ebp - 0x680], eax
push 0x4d0ab8
call fcn.004687a8
add esp, 4
test eax, eax
jne 0x418454
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4d0ab4], eax
mov dword [ebp - 0x444], 1
mov ecx, dword [ebp + 0x10]
call fcn.004196a0
movzx edx, al
test edx, edx
jne 0x418454
mov ecx, dword [ebp + 0x10]
call fcn.00419700
mov dword [ebp - 4], 0
push 0
push 0x80
push 3
push 0
push 1
push closesocket
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0xffffffff
jne 0x4184a7
mov dword [ebp - 0x684], 2
mov ecx, dword [ebp - 0x684]
mov dword [ebp - 0xcec], ecx
push 0x4c7e64
lea edx, [ebp - 0xcec]
push edx
call fcn.004687c2
lea eax, [ebp - 0x28]
push eax
push 0x4b0e54
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00417f90
add esp, 0xc
mov dword [ebp - 0xd34], eax
cmp dword [ebp - 0xd34], 0
jne 0x4184f2
mov dword [ebp - 0x684], 0xde
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0xcf0], edx
push 0x4c7e64
lea eax, [ebp - 0xcf0]
push eax
call fcn.004687c2
mov ecx, dword [ebp + 8]
push ecx
push 0x104
lea edx, [ebp - 0x238]
push edx
call fcn.0046a95d
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
push 0x104
lea ecx, [ebp - 0x890]
push ecx
call fcn.0046a95d
add esp, 0xc
lea edx, [ebp - 0x238]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x890]
push eax
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
mov dword [ebp - 0xcb0], 0
mov ecx, dword [ebp - 0x28]
add ecx, 4
mov edx, dword [ebp - 0x24]
adc edx, 0
mov dword [ebp - 0xcc8], ecx
mov dword [ebp - 0xcc4], edx
push 2
lea eax, [ebp - 0x458]
push eax
mov ecx, dword [ebp - 0xcc8]
neg ecx
mov edx, dword [ebp - 0xcc4]
adc edx, 0
neg edx
push edx
push ecx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0040dc20
add esp, 0x14
mov dword [ebp - 0xd38], eax
mov ecx, dword [ebp - 0xd38]
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 0
je 0x4185c7
push 0
lea edx, [ebp - 0xcac]
push edx
push 4
lea eax, [ebp - 0xcb0]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x448], eax
jmp 0x4185ee
mov dword [ebp - 0x684], 0xd
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0xcf4], edx
push 0x4c7e64
lea eax, [ebp - 0xcf4]
push eax
call fcn.004687c2
mov ecx, dword [ebp - 0xcb0]
push ecx
push str.ExtractFCWFile____NbFilesDisk_d
call fcn.004576a0
add esp, 8
mov dword [ebp - 0xcb8], 0
mov dword [ebp - 0xcb4], 0
mov edx, dword [ebp - 0xcc8]
add edx, 8
mov eax, dword [ebp - 0xcc4]
adc eax, 0
mov dword [ebp - 0xcc8], edx
mov dword [ebp - 0xcc4], eax
push 2
lea ecx, [ebp - 0x458]
push ecx
mov edx, dword [ebp - 0xcc8]
neg edx
mov eax, dword [ebp - 0xcc4]
adc eax, 0
neg eax
push eax
push edx
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0040dc20
add esp, 0x14
mov dword [ebp - 0xd3c], eax
mov edx, dword [ebp - 0xd3c]
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 0
je 0x41869d
push 0
lea eax, [ebp - 0xcac]
push eax
push 8
lea ecx, [ebp - 0xcb8]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x448], eax
jmp 0x4186c4
mov dword [ebp - 0x684], 0xd
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0xcf8], eax
push 0x4c7e64
lea ecx, [ebp - 0xcf8]
push ecx
call fcn.004687c2
mov edx, dword [ebp - 0xcb4]
push edx
mov eax, dword [ebp - 0xcb8]
push eax
push str.ExtractFCWFile____TotFilesDiskSize_I64u
call fcn.004576a0
add esp, 0xc
mov dword [ebp - 0xcd8], 0
mov ecx, dword [ebp - 0xcc8]
add ecx, 4
mov edx, dword [ebp - 0xcc4]
adc edx, 0
mov dword [ebp - 0xcc8], ecx
mov dword [ebp - 0xcc4], edx
push 2
lea eax, [ebp - 0x458]
push eax
mov ecx, dword [ebp - 0xcc8]
neg ecx
mov edx, dword [ebp - 0xcc4]
adc edx, 0
neg edx
push edx
push ecx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0040dc20
add esp, 0x14
mov dword [ebp - 0xd40], eax
mov ecx, dword [ebp - 0xd40]
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 0
je 0x418770
push 0
lea edx, [ebp - 0xcac]
push edx
push 4
lea eax, [ebp - 0xcd8]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x448], eax
jmp 0x418797
mov dword [ebp - 0x684], 0xd
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0xcfc], edx
push 0x4c7e64
lea eax, [ebp - 0xcfc]
push eax
call fcn.004687c2
mov ecx, dword [ebp - 0xcd8]
push ecx
push str.ExtractFCWFile____NbFiles_d
call fcn.004576a0
add esp, 8
mov dword [ebp - 0xcd0], 0
mov dword [ebp - 0xccc], 0
mov edx, dword [ebp - 0xcc8]
add edx, 8
mov eax, dword [ebp - 0xcc4]
adc eax, 0
mov dword [ebp - 0xcc8], edx
mov dword [ebp - 0xcc4], eax
push 2
lea ecx, [ebp - 0x458]
push ecx
mov edx, dword [ebp - 0xcc8]
neg edx
mov eax, dword [ebp - 0xcc4]
adc eax, 0
neg eax
push eax
push edx
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0040dc20
add esp, 0x14
mov dword [ebp - 0xd44], eax
mov edx, dword [ebp - 0xd44]
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 0
je 0x418846
push 0
lea eax, [ebp - 0xcac]
push eax
push 8
lea ecx, [ebp - 0xcd0]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x448], eax
jmp 0x41886d
mov dword [ebp - 0x684], 0xd
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0xd00], eax
push 0x4c7e64
lea ecx, [ebp - 0xd00]
push ecx
call fcn.004687c2
mov edx, dword [ebp - 0xccc]
push edx
mov eax, dword [ebp - 0xcd0]
push eax
push 0x4b0ed4
call fcn.004576a0
add esp, 0xc
movzx ecx, byte [ebp + 0x14]
and ecx, 2
je 0x41889d
mov edx, dword [ebp + 0xc]
push edx
call fcn.0040d340
add esp, 4
mov dword [ebp - 0xcc0], 0
xor eax, eax
mov dword [ebp - 0xcbc], eax
push 0
push 0
lea ecx, [ebp - 0xcc0]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
je 0x418943
mov eax, dword [ebp - 0xcbc]
push eax
mov ecx, dword [ebp - 0xcc0]
push ecx
push str.ExtractFCWFile____FreeBytesAvailable_I64u
call fcn.004576a0
add esp, 0xc
mov edx, dword [ebp - 0xccc]
push edx
mov eax, dword [ebp - 0xcd0]
push eax
push str.ExtractFCWFile____TotFilesSize_I64u
call fcn.004576a0
add esp, 0xc
mov ecx, dword [ebp - 0xccc]
cmp ecx, dword [ebp - 0xcbc]
jb 0x418943
ja 0x41891c
mov edx, dword [ebp - 0xcd0]
cmp edx, dword [ebp - 0xcc0]
jbe 0x418943
mov dword [ebp - 0x684], 0x70
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0xd04], eax
push 0x4c7e64
lea ecx, [ebp - 0xd04]
push ecx
call fcn.004687c2
cmp dword [ebp - 0x444], 0
je 0x418966
mov edx, dword [ebp - 0xcb4]
push edx
mov eax, dword [ebp - 0xcb8]
push eax
mov ecx, 0x4d09c0
call fcn.00412610
jmp 0x418983
mov ecx, dword [ebp + 0x10]
call fcn.00419680
mov dword [ebp - 0xd48], eax
mov ecx, dword [ebp - 0xd48]
add ecx, 1
mov dword [ebp - 0x67c], ecx
mov edx, dword [ebp - 0x67c]
add edx, dword [ebp - 0xcd8]
mov dword [ebp - 0xcd4], edx
mov eax, dword [ebp - 0x67c]
cmp eax, dword [ebp - 0xcd4]
jae 0x4194a2
cmp dword [ebp - 0x448], 0
je 0x4194a2
cmp dword [ebp - 0x684], 0
jne 0x4194a2
cmp dword [0x4e8c5c], 0
jne 0x4194a2
mov dword [ebp - 0x898], 0
mov dword [ebp - 0x44c], 0
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0
push 0x208
push 0
lea ecx, [ebp - 0xca8]
push ecx
call fcn.00468010
add esp, 0xc
push 0x208
push 0
lea edx, [ebp - 0xaa0]
push edx
call fcn.00468010
add esp, 0xc
mov eax, dword [ebp - 0xcc8]
add eax, 4
mov ecx, dword [ebp - 0xcc4]
adc ecx, 0
mov dword [ebp - 0xcc8], eax
mov dword [ebp - 0xcc4], ecx
push 2
lea edx, [ebp - 0x458]
push edx
mov eax, dword [ebp - 0xcc8]
neg eax
mov ecx, dword [ebp - 0xcc4]
adc ecx, 0
neg ecx
push ecx
push eax
mov edx, dword [ebp - 0x14]
push edx
call fcn.0040dc20
add esp, 0x14
mov dword [ebp - 0xd4c], eax
mov eax, dword [ebp - 0xd4c]
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
je 0x418aa9
push 0
lea ecx, [ebp - 0xcac]
push ecx
push 4
lea edx, [ebp - 0x898]
push edx
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x448], eax
jmp 0x418ad0
mov dword [ebp - 0x684], 0xd
mov ecx, dword [ebp - 0x684]
mov dword [ebp - 0xd08], ecx
push 0x4c7e64
lea edx, [ebp - 0xd08]
push edx
call fcn.004687c2
mov eax, dword [ebp - 0xcc4]
push eax
mov ecx, dword [ebp - 0xcc8]
push ecx
mov edx, dword [ebp - 0x898]
push edx
push str.ExtractFCWFile____lgFile_u_LastOffSet_I64d
call fcn.004576a0
add esp, 0x10
cmp dword [ebp - 0x448], 0
je 0x418bf9
cmp dword [ebp - 0x898], 0x104
ja 0x418bf9
cmp dword [ebp - 0x898], 0
jbe 0x418bf7
mov eax, dword [ebp - 0x898]
xor ecx, ecx
add eax, dword [ebp - 0xcc8]
mov edx, dword [ebp - 0xcc4]
adc edx, ecx
mov dword [ebp - 0xcc8], eax
mov dword [ebp - 0xcc4], edx
push 2
lea eax, [ebp - 0x458]
push eax
mov ecx, dword [ebp - 0xcc8]
neg ecx
mov edx, dword [ebp - 0xcc4]
adc edx, 0
neg edx
push edx
push ecx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0040dc20
add esp, 0x14
mov dword [ebp - 0xd50], eax
mov ecx, dword [ebp - 0xd50]
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 0
je 0x418bac
push 0
lea edx, [ebp - 0xcac]
push edx
mov eax, dword [ebp - 0x898]
push eax
lea ecx, [ebp - 0xca8]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x448], eax
jmp 0x418bd3
mov dword [ebp - 0x684], 0xd
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0xd0c], eax
push 0x4c7e64
lea ecx, [ebp - 0xd0c]
push ecx
call fcn.004687c2
xor edx, edx
mov eax, dword [ebp - 0x898]
mov word [ebp + eax*2 - 0xca8], dx
lea ecx, [ebp - 0xca8]
push ecx
push str.ExtractFCWFile____File_s
call fcn.004576a0
add esp, 8
jmp 0x418c20
mov dword [ebp - 0x684], 0xd
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0xd10], edx
push 0x4c7e64
lea eax, [ebp - 0xd10]
push eax
call fcn.004687c2
mov ecx, dword [ebp - 0xcc8]
add ecx, 8
mov edx, dword [ebp - 0xcc4]
adc edx, 0
mov dword [ebp - 0xcc8], ecx
mov dword [ebp - 0xcc4], edx
push 2
lea eax, [ebp - 0x458]
push eax
mov ecx, dword [ebp - 0xcc8]
neg ecx
mov edx, dword [ebp - 0xcc4]
adc edx, 0
neg edx
push edx
push ecx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0040dc20
add esp, 0x14
mov dword [ebp - 0xd54], eax
mov ecx, dword [ebp - 0xd54]
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 0
je 0x418ca7
push 0
lea edx, [ebp - 0xcac]
push edx
push 8
lea eax, [ebp - 0x674]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x448], eax
jmp 0x418cce
mov dword [ebp - 0x684], 0xd
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0xd14], edx
push 0x4c7e64
lea eax, [ebp - 0xd14]
push eax
call fcn.004687c2
lea ecx, [ebp - 0xce8]
push ecx
lea edx, [ebp - 0x674]
push edx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
movzx eax, word [ebp - 0xcda]
push eax
movzx ecx, word [ebp - 0xcdc]
push ecx
movzx edx, word [ebp - 0xcde]
push edx
movzx eax, word [ebp - 0xce0]
push eax
movzx ecx, word [ebp - 0xce8]
push ecx
movzx edx, word [ebp - 0xce6]
push edx
movzx eax, word [ebp - 0xce2]
push eax
push str.ExtractFCWFile____stLastWriteTime_d__d__d____d:_d:_d__dms
call fcn.00457270
add esp, 0x20
mov ecx, dword [ebp - 0xcc8]
add ecx, 8
mov edx, dword [ebp - 0xcc4]
adc edx, 0
mov dword [ebp - 0xcc8], ecx
mov dword [ebp - 0xcc4], edx
push 2
lea eax, [ebp - 0x458]
push eax
mov ecx, dword [ebp - 0xcc8]
neg ecx
mov edx, dword [ebp - 0xcc4]
adc edx, 0
neg edx
push edx
push ecx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0040dc20
add esp, 0x14
mov dword [ebp - 0xd58], eax
mov ecx, dword [ebp - 0xd58]
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 0
je 0x418dae
push 0
lea edx, [ebp - 0xcac]
push edx
push 8
lea eax, [ebp - 0x460]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x448], eax
jmp 0x418dd5
mov dword [ebp - 0x684], 0xd
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0xd18], edx
push 0x4c7e64
lea eax, [ebp - 0xd18]
push eax
call fcn.004687c2
mov ecx, dword [ebp - 0x45c]
push ecx
mov edx, dword [ebp - 0x460]
push edx
push str.ExtractFCWFile____FileSize_I64u
call fcn.004576a0
add esp, 0xc
mov eax, dword [ebp - 0xcc8]
add eax, 8
mov ecx, dword [ebp - 0xcc4]
adc ecx, 0
mov dword [ebp - 0xcc8], eax
mov dword [ebp - 0xcc4], ecx
push 2
lea edx, [ebp - 0x458]
push edx
mov eax, dword [ebp - 0xcc8]
neg eax
mov ecx, dword [ebp - 0xcc4]
adc ecx, 0
neg ecx
push ecx
push eax
mov edx, dword [ebp - 0x14]
push edx
call fcn.0040dc20
add esp, 0x14
mov dword [ebp - 0xd5c], eax
mov eax, dword [ebp - 0xd5c]
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
je 0x418e74
push 0
lea ecx, [ebp - 0xcac]
push ecx
push 8
lea edx, [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x448], eax
jmp 0x418e9b
mov dword [ebp - 0x684], 0xd
mov ecx, dword [ebp - 0x684]
mov dword [ebp - 0xd1c], ecx
push 0x4c7e64
lea edx, [ebp - 0xd1c]
push edx
call fcn.004687c2
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
push str.ExtractFCWFile____DataOffSet_I64d
call fcn.004576a0
add esp, 0xc
mov edx, dword [ebp - 0xcc8]
add edx, 1
mov eax, dword [ebp - 0xcc4]
adc eax, 0
mov dword [ebp - 0xcc8], edx
mov dword [ebp - 0xcc4], eax
push 2
lea ecx, [ebp - 0x458]
push ecx
mov edx, dword [ebp - 0xcc8]
neg edx
mov eax, dword [ebp - 0xcc4]
adc eax, 0
neg eax
push eax
push edx
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0040dc20
add esp, 0x14
mov dword [ebp - 0xd60], eax
mov edx, dword [ebp - 0xd60]
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 0
je 0x418f37
push 0
lea eax, [ebp - 0xcac]
push eax
push 1
lea ecx, [ebp - 0x669]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x448], eax
jmp 0x418f5e
mov dword [ebp - 0x684], 0xd
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0xd20], eax
push 0x4c7e64
lea ecx, [ebp - 0xd20]
push ecx
call fcn.004687c2
movzx edx, byte [ebp - 0x669]
push edx
push str.ExtractFCWFile____TypeOfFile_d
call fcn.004576a0
add esp, 8
mov eax, dword [ebp - 0xcc8]
add eax, 4
mov ecx, dword [ebp - 0xcc4]
adc ecx, 0
mov dword [ebp - 0xcc8], eax
mov dword [ebp - 0xcc4], ecx
push 2
lea edx, [ebp - 0x458]
push edx
mov eax, dword [ebp - 0xcc8]
neg eax
mov ecx, dword [ebp - 0xcc4]
adc ecx, 0
neg ecx
push ecx
push eax
mov edx, dword [ebp - 0x14]
push edx
call fcn.0040dc20
add esp, 0x14
mov dword [ebp - 0xd64], eax
mov eax, dword [ebp - 0xd64]
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
je 0x418ffa
push 0
lea ecx, [ebp - 0xcac]
push ecx
push 4
lea edx, [ebp - 0x44c]
push edx
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x448], eax
jmp 0x419021
mov dword [ebp - 0x684], 0xd
mov ecx, dword [ebp - 0x684]
mov dword [ebp - 0xd24], ecx
push 0x4c7e64
lea edx, [ebp - 0xd24]
push edx
call fcn.004687c2
mov eax, dword [ebp - 0x44c]
push eax
push str.ExtractFCWFile____lgFileOut_u
call fcn.004576a0
add esp, 8
cmp dword [ebp - 0x448], 0
je 0x41913c
cmp dword [ebp - 0x44c], 0x104
ja 0x41913c
cmp dword [ebp - 0x44c], 0
jbe 0x41913a
mov ecx, dword [ebp - 0x44c]
xor edx, edx
add ecx, dword [ebp - 0xcc8]
mov eax, dword [ebp - 0xcc4]
adc eax, edx
mov dword [ebp - 0xcc8], ecx
mov dword [ebp - 0xcc4], eax
push 2
lea ecx, [ebp - 0x458]
push ecx
mov edx, dword [ebp - 0xcc8]
neg edx
mov eax, dword [ebp - 0xcc4]
adc eax, 0
neg eax
push eax
push edx
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0040dc20
add esp, 0x14
mov dword [ebp - 0xd68], eax
mov edx, dword [ebp - 0xd68]
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 0
je 0x4190ef
push 0
lea eax, [ebp - 0xcac]
push eax
mov ecx, dword [ebp - 0x44c]
push ecx
lea edx, [ebp - 0xaa0]
push edx
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x448], eax
jmp 0x419116
mov dword [ebp - 0x684], 0xd
mov ecx, dword [ebp - 0x684]
mov dword [ebp - 0xd28], ecx
push 0x4c7e64
lea edx, [ebp - 0xd28]
push edx
call fcn.004687c2
xor eax, eax
mov ecx, dword [ebp - 0x44c]
mov word [ebp + ecx*2 - 0xaa0], ax
lea edx, [ebp - 0xaa0]
push edx
push str.ExtractFCWFile____FileOut_s
call fcn.004576a0
add esp, 8
jmp 0x419163
mov dword [ebp - 0x684], 0xd
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0xd2c], eax
push 0x4c7e64
lea ecx, [ebp - 0xd2c]
push ecx
call fcn.004687c2
cmp dword [ebp - 0x448], 0
jne 0x419193
mov dword [ebp - 0x684], 0xd
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0xd30], edx
push 0x4c7e64
lea eax, [ebp - 0xd30]
push eax
call fcn.004687c2
mov ecx, dword [ebp - 0x67c]
add ecx, 1
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.00419620
movzx edx, byte [ebp + 0x14]
and edx, 0x10
je 0x4191c8
lea eax, [ebp - 0xca8]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x668]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
jmp 0x419208
lea eax, [ebp - 0xca8]
push eax
push 0x104
lea ecx, [ebp - 0x440]
push ecx
call fcn.0046a95d
add esp, 0xc
lea edx, [ebp - 0x440]
push edx
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
lea eax, [ebp - 0x440]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0x668]
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov eax, dword [ebp - 0x67c]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004196c0
mov dword [ebp - 0xd6c], eax
lea ecx, [ebp - 0xca8]
push ecx
push 0x104
mov edx, dword [ebp - 0xd6c]
add edx, 0xc
push edx
call fcn.0046a95d
add esp, 0xc
mov eax, dword [ebp - 0x67c]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004196c0
mov dword [ebp - 0xd70], eax
lea ecx, [ebp - 0xaa0]
push ecx
push 0x104
mov edx, dword [ebp - 0xd70]
add edx, 0x41c
push edx
call fcn.0046a95d
add esp, 0xc
mov eax, dword [ebp - 0x67c]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004196c0
mov dword [ebp - 0xd74], eax
mov ecx, dword [ebp - 0xd74]
mov edx, dword [ebp - 0x460]
mov dword [ecx + 0xc3c], edx
mov eax, dword [ebp - 0x45c]
mov dword [ecx + 0xc40], eax
mov ecx, dword [ebp - 0x67c]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.004196c0
mov dword [ebp - 0xd78], eax
mov edx, dword [ebp - 0xd78]
mov al, byte [ebp - 0x669]
mov byte [edx + 0xc5c], al
mov ecx, dword [ebp - 0x67c]
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.004196c0
mov dword [ebp - 0xd7c], eax
mov edx, dword [ebp - 0xd7c]
mov eax, dword [ebp - 0x28]
mov dword [edx + 0xc54], eax
mov ecx, dword [ebp - 0x24]
mov dword [edx + 0xc58], ecx
mov edx, dword [ebp - 0x67c]
push edx
mov ecx, dword [ebp + 0x10]
call fcn.004196c0
mov dword [ebp - 0xd80], eax
mov eax, dword [ebp - 0xd80]
mov ecx, dword [ebp - 0x674]
mov dword [eax + 0xc4c], ecx
mov edx, dword [ebp - 0x670]
mov dword [eax + 0xc50], edx
mov eax, dword [ebp - 0x67c]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.004196c0
mov dword [ebp - 0xd84], eax
lea ecx, [ebp - 0x668]
push ecx
push 0x104
mov edx, dword [ebp - 0xd84]
add edx, 0xa34
push edx
call fcn.0046a95d
add esp, 0xc
movzx eax, byte [ebp - 0x669]
and eax, 0x40
je 0x419381
lea ecx, [ebp - 0x668]
push ecx
call fcn.0040d340
add esp, 4
jmp 0x41943c
movzx edx, byte [ebp - 0x669]
and edx, 0x20
je 0x4193e3
push 1
push 0
push 1
lea eax, [ebp - 0x668]
push eax
mov ecx, dword [ebp - 0x670]
push ecx
mov edx, dword [ebp - 0x674]
push edx
mov eax, dword [ebp - 0x45c]
push eax
mov ecx, dword [ebp - 0x460]
push ecx
mov edx, dword [ebp - 0x24]
push edx
mov eax, dword [ebp - 0x28]
push eax
push 0x4b10c0
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00455450
add esp, 0x30
mov dword [ebp - 0xd88], eax
mov edx, dword [ebp - 0xd88]
mov dword [ebp - 0x684], edx
jmp 0x41943c
push 0
mov eax, dword [ebp - 0x678]
push eax
push 1
lea ecx, [ebp - 0x668]
push ecx
mov edx, dword [ebp - 0x670]
push edx
mov eax, dword [ebp - 0x674]
push eax
mov ecx, dword [ebp - 0x45c]
push ecx
mov edx, dword [ebp - 0x460]
push edx
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
push 0x4b10c4
mov edx, dword [ebp - 0x14]
push edx
call fcn.00455450
add esp, 0x30
mov dword [ebp - 0xd8c], eax
mov eax, dword [ebp - 0xd8c]
mov dword [ebp - 0x684], eax
movzx ecx, byte [ebp - 0x669]
and ecx, 0x10
je 0x419482
mov dword [ebp - 0x1c], 1
mov edx, dword [ebp - 0x67c]
push edx
mov ecx, dword [ebp + 0x10]
call fcn.004196c0
mov dword [ebp - 0xd90], eax
mov eax, dword [ebp - 0xd90]
add eax, 0x41c
push eax
lea ecx, [ebp - 0x238]
push ecx
push 0x4d0ab8
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov edx, dword [ebp - 0x67c]
add edx, 1
mov dword [ebp - 0x67c], edx
push 0
push 0
call fcn.0040e140
add esp, 8
jmp 0x418995
mov ecx, dword [ebp + 0x10]
call fcn.004196a0
mov byte [ebp - 0xd91], al
movzx eax, byte [ebp - 0xd91]
test eax, eax
jne 0x41952b
mov ecx, dword [ebp + 0x10]
call fcn.00419680
mov dword [ebp - 0xd98], eax
push 0
mov ecx, dword [ebp + 0x10]
call fcn.004196c0
mov dword [ebp - 0xd9c], eax
mov ecx, dword [ebp - 0xd9c]
mov edx, dword [ebp - 0xd98]
mov dword [ecx], edx
push 0
mov ecx, dword [ebp + 0x10]
call fcn.004196c0
mov dword [ebp - 0xda0], eax
push 0
mov ecx, dword [ebp + 0x10]
call fcn.004196c0
mov dword [ebp - 0xda4], eax
mov eax, dword [ebp - 0xda0]
mov ecx, dword [eax + 4]
add ecx, dword [ebp - 0xcd0]
mov edx, dword [eax + 8]
adc edx, dword [ebp - 0xccc]
mov eax, dword [ebp - 0xda4]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
jmp 0x41955a
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x14], 0
je 0x419571
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x1c], 0
je 0x4195a9
movzx edx, byte [ebp + 0x14]
and edx, 4
je 0x4195a9
cmp dword [ebp - 0x684], 0
jne 0x4195a9
movzx eax, byte [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
push 0x4d0ab8
call fcn.00418270
add esp, 0x10
mov dword [ebp - 0x684], eax
cmp dword [0x4e8c5c], 0
je 0x4195bc
mov dword [ebp - 0x684], 0x4c7
cmp dword [ebp - 0x444], 0
je 0x4195e7
xor eax, eax
mov word [0x4d0ab8], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x4d0ab4]
push eax
push str.ExtractFCWFile____done_in__d_ms
call fcn.00457270
add esp, 8
mov ecx, dword [ebp - 0x684]
push ecx
push str.ExtractFCWFile____End__d_
call fcn.004576a0
add esp, 8
mov eax, dword [ebp - 0x684]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x2c]
xor ecx, ebp
call fcn.00467fff
mov esp, ebp
pop ebp
ret