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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a8b7d
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0xd94
mov eax, dword [0x4cd724]
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.004677c0
add esp, 0xc
xor edx, edx
mov word [ebp - 0xaa0], dx
push 0x206
push 0
lea eax, [ebp - 0xa9e]
push eax
call fcn.004677c0
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x238], cx
push 0x206
push 0
lea edx, [ebp - 0x236]
push edx
call fcn.004677c0
add esp, 0xc
xor eax, eax
mov word [ebp - 0x890], ax
push 0x206
push 0
lea ecx, [ebp - 0x88e]
push ecx
call fcn.004677c0
add esp, 0xc
xor edx, edx
mov word [ebp - 0x668], dx
push 0x206
push 0
lea eax, [ebp - 0x666]
push eax
call fcn.004677c0
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x440], cx
push 0x206
push 0
lea edx, [ebp - 0x43e]
push edx
call fcn.004677c0
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 0x4cfab8
call fcn.00467f58
add esp, 4
test eax, eax
jne 0x4183e4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [0x4cfab4], eax
mov dword [ebp - 0x444], 1
mov ecx, dword [ebp + 0x10]
call fcn.00419630
movzx edx, al
test edx, edx
jne 0x4183e4
mov ecx, dword [ebp + 0x10]
call fcn.00419690
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 0x418437
mov dword [ebp - 0x684], 2
mov ecx, dword [ebp - 0x684]
mov dword [ebp - 0xcec], ecx
push 0x4c6b94
lea edx, [ebp - 0xcec]
push edx
call fcn.00467f72
lea eax, [ebp - 0x28]
push eax
push 0x4afe34
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00417f20
add esp, 0xc
mov dword [ebp - 0xd34], eax
cmp dword [ebp - 0xd34], 0
jne 0x418482
mov dword [ebp - 0x684], 0xde
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0xcf0], edx
push 0x4c6b94
lea eax, [ebp - 0xcf0]
push eax
call fcn.00467f72
mov ecx, dword [ebp + 8]
push ecx
push 0x104
lea edx, [ebp - 0x238]
push edx
call fcn.0046a10d
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
push 0x104
lea ecx, [ebp - 0x890]
push ecx
call fcn.0046a10d
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.0040dbc0
add esp, 0x14
mov dword [ebp - 0xd38], eax
mov ecx, dword [ebp - 0xd38]
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 0
je 0x418557
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 0x41857e
mov dword [ebp - 0x684], 0xd
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0xcf4], edx
push 0x4c6b94
lea eax, [ebp - 0xcf4]
push eax
call fcn.00467f72
mov ecx, dword [ebp - 0xcb0]
push ecx
push str.ExtractFCWFile____NbFilesDisk_d
call fcn.00456e30
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.0040dbc0
add esp, 0x14
mov dword [ebp - 0xd3c], eax
mov edx, dword [ebp - 0xd3c]
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 0
je 0x41862d
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 0x418654
mov dword [ebp - 0x684], 0xd
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0xcf8], eax
push 0x4c6b94
lea ecx, [ebp - 0xcf8]
push ecx
call fcn.00467f72
mov edx, dword [ebp - 0xcb4]
push edx
mov eax, dword [ebp - 0xcb8]
push eax
push str.ExtractFCWFile____TotFilesDiskSize_I64u
call fcn.00456e30
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.0040dbc0
add esp, 0x14
mov dword [ebp - 0xd40], eax
mov ecx, dword [ebp - 0xd40]
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 0
je 0x418700
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 0x418727
mov dword [ebp - 0x684], 0xd
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0xcfc], edx
push 0x4c6b94
lea eax, [ebp - 0xcfc]
push eax
call fcn.00467f72
mov ecx, dword [ebp - 0xcd8]
push ecx
push str.ExtractFCWFile____NbFiles_d
call fcn.00456e30
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.0040dbc0
add esp, 0x14
mov dword [ebp - 0xd44], eax
mov edx, dword [ebp - 0xd44]
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 0
je 0x4187d6
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 0x4187fd
mov dword [ebp - 0x684], 0xd
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0xd00], eax
push 0x4c6b94
lea ecx, [ebp - 0xd00]
push ecx
call fcn.00467f72
mov edx, dword [ebp - 0xccc]
push edx
mov eax, dword [ebp - 0xcd0]
push eax
push 0x4afeb4
call fcn.00456e30
add esp, 0xc
movzx ecx, byte [ebp + 0x14]
and ecx, 2
je 0x41882d
mov edx, dword [ebp + 0xc]
push edx
call fcn.0040d2e0
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 0x4188d3
mov eax, dword [ebp - 0xcbc]
push eax
mov ecx, dword [ebp - 0xcc0]
push ecx
push str.ExtractFCWFile____FreeBytesAvailable_I64u
call fcn.00456e30
add esp, 0xc
mov edx, dword [ebp - 0xccc]
push edx
mov eax, dword [ebp - 0xcd0]
push eax
push str.ExtractFCWFile____TotFilesSize_I64u
call fcn.00456e30
add esp, 0xc
mov ecx, dword [ebp - 0xccc]
cmp ecx, dword [ebp - 0xcbc]
jb 0x4188d3
ja 0x4188ac
mov edx, dword [ebp - 0xcd0]
cmp edx, dword [ebp - 0xcc0]
jbe 0x4188d3
mov dword [ebp - 0x684], 0x70
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0xd04], eax
push 0x4c6b94
lea ecx, [ebp - 0xd04]
push ecx
call fcn.00467f72
cmp dword [ebp - 0x444], 0
je 0x4188f6
mov edx, dword [ebp - 0xcb4]
push edx
mov eax, dword [ebp - 0xcb8]
push eax
mov ecx, 0x4cf9c0
call fcn.004125a0
jmp 0x418913
mov ecx, dword [ebp + 0x10]
call fcn.00419610
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 0x419432
cmp dword [ebp - 0x448], 0
je 0x419432
cmp dword [ebp - 0x684], 0
jne 0x419432
cmp dword [0x4e7810], 0
jne 0x419432
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.004677c0
add esp, 0xc
push 0x208
push 0
lea edx, [ebp - 0xaa0]
push edx
call fcn.004677c0
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.0040dbc0
add esp, 0x14
mov dword [ebp - 0xd4c], eax
mov eax, dword [ebp - 0xd4c]
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
je 0x418a39
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 0x418a60
mov dword [ebp - 0x684], 0xd
mov ecx, dword [ebp - 0x684]
mov dword [ebp - 0xd08], ecx
push 0x4c6b94
lea edx, [ebp - 0xd08]
push edx
call fcn.00467f72
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.00456e30
add esp, 0x10
cmp dword [ebp - 0x448], 0
je 0x418b89
cmp dword [ebp - 0x898], 0x104
ja 0x418b89
cmp dword [ebp - 0x898], 0
jbe 0x418b87
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.0040dbc0
add esp, 0x14
mov dword [ebp - 0xd50], eax
mov ecx, dword [ebp - 0xd50]
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 0
je 0x418b3c
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 0x418b63
mov dword [ebp - 0x684], 0xd
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0xd0c], eax
push 0x4c6b94
lea ecx, [ebp - 0xd0c]
push ecx
call fcn.00467f72
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.00456e30
add esp, 8
jmp 0x418bb0
mov dword [ebp - 0x684], 0xd
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0xd10], edx
push 0x4c6b94
lea eax, [ebp - 0xd10]
push eax
call fcn.00467f72
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.0040dbc0
add esp, 0x14
mov dword [ebp - 0xd54], eax
mov ecx, dword [ebp - 0xd54]
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 0
je 0x418c37
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 0x418c5e
mov dword [ebp - 0x684], 0xd
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0xd14], edx
push 0x4c6b94
lea eax, [ebp - 0xd14]
push eax
call fcn.00467f72
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.00456a00
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.0040dbc0
add esp, 0x14
mov dword [ebp - 0xd58], eax
mov ecx, dword [ebp - 0xd58]
mov dword [ebp - 0x448], ecx
cmp dword [ebp - 0x448], 0
je 0x418d3e
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 0x418d65
mov dword [ebp - 0x684], 0xd
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0xd18], edx
push 0x4c6b94
lea eax, [ebp - 0xd18]
push eax
call fcn.00467f72
mov ecx, dword [ebp - 0x45c]
push ecx
mov edx, dword [ebp - 0x460]
push edx
push str.ExtractFCWFile____FileSize_I64u
call fcn.00456e30
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.0040dbc0
add esp, 0x14
mov dword [ebp - 0xd5c], eax
mov eax, dword [ebp - 0xd5c]
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
je 0x418e04
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 0x418e2b
mov dword [ebp - 0x684], 0xd
mov ecx, dword [ebp - 0x684]
mov dword [ebp - 0xd1c], ecx
push 0x4c6b94
lea edx, [ebp - 0xd1c]
push edx
call fcn.00467f72
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
push str.ExtractFCWFile____DataOffSet_I64d
call fcn.00456e30
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.0040dbc0
add esp, 0x14
mov dword [ebp - 0xd60], eax
mov edx, dword [ebp - 0xd60]
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 0
je 0x418ec7
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 0x418eee
mov dword [ebp - 0x684], 0xd
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0xd20], eax
push 0x4c6b94
lea ecx, [ebp - 0xd20]
push ecx
call fcn.00467f72
movzx edx, byte [ebp - 0x669]
push edx
push str.ExtractFCWFile____TypeOfFile_d
call fcn.00456e30
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.0040dbc0
add esp, 0x14
mov dword [ebp - 0xd64], eax
mov eax, dword [ebp - 0xd64]
mov dword [ebp - 0x448], eax
cmp dword [ebp - 0x448], 0
je 0x418f8a
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 0x418fb1
mov dword [ebp - 0x684], 0xd
mov ecx, dword [ebp - 0x684]
mov dword [ebp - 0xd24], ecx
push 0x4c6b94
lea edx, [ebp - 0xd24]
push edx
call fcn.00467f72
mov eax, dword [ebp - 0x44c]
push eax
push str.ExtractFCWFile____lgFileOut_u
call fcn.00456e30
add esp, 8
cmp dword [ebp - 0x448], 0
je 0x4190cc
cmp dword [ebp - 0x44c], 0x104
ja 0x4190cc
cmp dword [ebp - 0x44c], 0
jbe 0x4190ca
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.0040dbc0
add esp, 0x14
mov dword [ebp - 0xd68], eax
mov edx, dword [ebp - 0xd68]
mov dword [ebp - 0x448], edx
cmp dword [ebp - 0x448], 0
je 0x41907f
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 0x4190a6
mov dword [ebp - 0x684], 0xd
mov ecx, dword [ebp - 0x684]
mov dword [ebp - 0xd28], ecx
push 0x4c6b94
lea edx, [ebp - 0xd28]
push edx
call fcn.00467f72
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.00456e30
add esp, 8
jmp 0x4190f3
mov dword [ebp - 0x684], 0xd
mov eax, dword [ebp - 0x684]
mov dword [ebp - 0xd2c], eax
push 0x4c6b94
lea ecx, [ebp - 0xd2c]
push ecx
call fcn.00467f72
cmp dword [ebp - 0x448], 0
jne 0x419123
mov dword [ebp - 0x684], 0xd
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0xd30], edx
push 0x4c6b94
lea eax, [ebp - 0xd30]
push eax
call fcn.00467f72
mov ecx, dword [ebp - 0x67c]
add ecx, 1
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.004195b0
movzx edx, byte [ebp + 0x14]
and edx, 0x10
je 0x419158
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 0x419198
lea eax, [ebp - 0xca8]
push eax
push 0x104
lea ecx, [ebp - 0x440]
push ecx
call fcn.0046a10d
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.00419650
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.0046a10d
add esp, 0xc
mov eax, dword [ebp - 0x67c]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.00419650
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.0046a10d
add esp, 0xc
mov eax, dword [ebp - 0x67c]
push eax
mov ecx, dword [ebp + 0x10]
call fcn.00419650
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.00419650
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.00419650
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.00419650
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.00419650
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.0046a10d
add esp, 0xc
movzx eax, byte [ebp - 0x669]
and eax, 0x40
je 0x419311
lea ecx, [ebp - 0x668]
push ecx
call fcn.0040d2e0
add esp, 4
jmp 0x4193cc
movzx edx, byte [ebp - 0x669]
and edx, 0x20
je 0x419373
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 0x4b00a0
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00454be0
add esp, 0x30
mov dword [ebp - 0xd88], eax
mov edx, dword [ebp - 0xd88]
mov dword [ebp - 0x684], edx
jmp 0x4193cc
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 0x4b00a4
mov edx, dword [ebp - 0x14]
push edx
call fcn.00454be0
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 0x419412
mov dword [ebp - 0x1c], 1
mov edx, dword [ebp - 0x67c]
push edx
mov ecx, dword [ebp + 0x10]
call fcn.00419650
mov dword [ebp - 0xd90], eax
mov eax, dword [ebp - 0xd90]
add eax, 0x41c
push eax
lea ecx, [ebp - 0x238]
push ecx
push 0x4cfab8
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.0040e0e0
add esp, 8
jmp 0x418925
mov ecx, dword [ebp + 0x10]
call fcn.00419630
mov byte [ebp - 0xd91], al
movzx eax, byte [ebp - 0xd91]
test eax, eax
jne 0x4194bb
mov ecx, dword [ebp + 0x10]
call fcn.00419610
mov dword [ebp - 0xd98], eax
push 0
mov ecx, dword [ebp + 0x10]
call fcn.00419650
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.00419650
mov dword [ebp - 0xda0], eax
push 0
mov ecx, dword [ebp + 0x10]
call fcn.00419650
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 0x4194ea
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x14], 0
je 0x419501
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x1c], 0
je 0x419539
movzx edx, byte [ebp + 0x14]
and edx, 4
je 0x419539
cmp dword [ebp - 0x684], 0
jne 0x419539
movzx eax, byte [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
push 0x4cfab8
call fcn.00418200
add esp, 0x10
mov dword [ebp - 0x684], eax
cmp dword [0x4e7810], 0
je 0x41954c
mov dword [ebp - 0x684], 0x4c7
cmp dword [ebp - 0x444], 0
je 0x419577
xor eax, eax
mov word [0x4cfab8], ax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [0x4cfab4]
push eax
push str.ExtractFCWFile____done_in__d_ms
call fcn.00456a00
add esp, 8
mov ecx, dword [ebp - 0x684]
push ecx
push str.ExtractFCWFile____End__d_
call fcn.00456e30
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.004677af
mov esp, ebp
pop ebp
ret