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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a8744
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x13b4
call fcn.00467dc0
mov eax, dword [0x4cd724]
xor eax, ebp
mov dword [ebp - 0x24], 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 - 4], 0
mov dword [ebp - 0x894], 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 - 0x880], cx
push 0x206
push 0
lea edx, [ebp - 0x87e]
push edx
call fcn.004677c0
add esp, 0xc
xor eax, eax
mov word [ebp - 0x670], ax
push 0x206
push 0
lea ecx, [ebp - 0x66e]
push ecx
call fcn.004677c0
add esp, 0xc
xor edx, edx
mov word [ebp - 0x468], dx
push 0x206
push 0
lea eax, [ebp - 0x466]
push eax
call fcn.004677c0
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x228], cx
push 0x1fe
push 0
lea edx, [ebp - 0x226]
push edx
call fcn.004677c0
add esp, 0xc
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0
mov dword [ebp - 0x890], 0
mov dword [ebp - 0x88c], 0
mov dword [ebp - 0x888], 0
mov dword [ebp - 0x884], 0
mov byte [ebp - 0x671], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x23c], 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 0x405ab3
mov dword [ebp - 0x1098], 2
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x1c]
call fcn.004087f0
mov eax, dword [ebp - 0x1098]
jmp 0x408574
mov byte [ebp - 4], 1
mov ecx, dword [ebp + 8]
push ecx
push 0x104
lea edx, [ebp - 0x880]
push edx
call fcn.0046a10d
add esp, 0xc
mov eax, dword [ebp + 8]
push eax
push 0x104
lea ecx, [ebp - 0x670]
push ecx
call fcn.0046a10d
add esp, 0xc
lea edx, [ebp - 0x880]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea eax, [ebp - 0x670]
push eax
call dword [sym.imp.SHLWAPI.dll_PathStripPathW]
mov dword [ebp - 0xd74], 0
mov ecx, dword [ebp + 0xc]
add ecx, 4
mov edx, dword [ebp + 0x10]
adc edx, 0
mov dword [ebp - 0xce8], ecx
mov dword [ebp - 0xce4], edx
mov eax, dword [ebp - 0xce4]
push eax
mov ecx, dword [ebp - 0xce8]
push ecx
push str.ReadDataStruct____LastOffSet_I64d
call fcn.00456e30
add esp, 0xc
push 2
lea edx, [ebp - 0x890]
push edx
mov eax, dword [ebp - 0xce8]
neg eax
mov ecx, dword [ebp - 0xce4]
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 - 0x10bc], eax
mov eax, dword [ebp - 0x10bc]
mov dword [ebp - 0x23c], eax
cmp dword [ebp - 0x23c], 0
je 0x405b95
cmp dword [ebp - 0x890], 0xffffffff
jne 0x405bc3
cmp dword [ebp - 0x88c], 0
jne 0x405bc3
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x109c], 0xd
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x1c]
call fcn.004087f0
mov eax, dword [ebp - 0x109c]
jmp 0x408574
push 0
lea edx, [ebp - 0xcac]
push edx
push 4
lea eax, [ebp - 0xd74]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x23c], eax
mov edx, dword [ebp - 0xd74]
push edx
push str.ReadDataStruct____NbFiles_d
call fcn.00456e30
add esp, 8
mov dword [ebp - 0xd28], 0
mov dword [ebp - 0xd24], 0
mov eax, dword [ebp - 0xce8]
add eax, 8
mov ecx, dword [ebp - 0xce4]
adc ecx, 0
mov dword [ebp - 0xce8], eax
mov dword [ebp - 0xce4], ecx
push 2
lea edx, [ebp - 0x890]
push edx
mov eax, dword [ebp - 0xce8]
neg eax
mov ecx, dword [ebp - 0xce4]
adc ecx, 0
neg ecx
push ecx
push eax
mov edx, dword [ebp - 0x14]
push edx
call fcn.0040dbc0
add esp, 0x14
push 0
lea eax, [ebp - 0xcac]
push eax
push 8
lea ecx, [ebp - 0xd28]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0xd24]
push eax
mov ecx, dword [ebp - 0xd28]
push ecx
push 0x4ac778
call fcn.00456e30
add esp, 0xc
cmp dword [0x4cf9c8], 0
je 0x405cc3
mov edx, dword [ebp - 0xd74]
xor eax, eax
push eax
push edx
push 0x64
push 0
mov ecx, 0x4cf9c0
call fcn.00412300
push 1
push 0
mov ecx, 0x4cf9c0
call fcn.004123a0
jmp 0x405cdb
mov ecx, dword [ebp - 0xd74]
xor edx, edx
push edx
push ecx
push 3
push 0
mov ecx, 0x4cf9c0
call fcn.00412300
lea ecx, [ebp - 0xd68]
call fcn.0044b1f0
mov dword [ebp - 0x10c0], eax
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd50]
call fcn.0044b1f0
mov dword [ebp - 0x10c4], eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xd18]
call fcn.0044b1f0
mov dword [ebp - 0x10c8], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xd00]
call fcn.0044b1f0
mov dword [ebp - 0x10cc], eax
mov byte [ebp - 4], 5
lea ecx, [ebp + 0x1c]
call fcn.00408850
lea ecx, [ebp - 0xd68]
call fcn.00408850
lea ecx, [ebp - 0xd50]
call fcn.00408850
lea ecx, [ebp - 0xd18]
call fcn.00408850
lea ecx, [ebp - 0xd00]
call fcn.00408850
mov dword [ebp - 0xcc4], 0
mov dword [ebp - 0xd70], 0
mov dword [ebp - 0xd6c], 0
mov dword [ebp - 0xce0], 0
mov dword [ebp - 0xcdc], 0
mov dword [ebp - 0xcbc], 0
mov eax, dword [ebp - 0xcc4]
cmp eax, dword [ebp - 0xd74]
jae 0x406b66
cmp dword [ebp - 0x890], 0xffffffff
jne 0x405dc7
cmp dword [ebp - 0x88c], 0
je 0x406b66
cmp dword [ebp - 0x23c], 0
je 0x406b66
cmp dword [0x4e7810], 0
jne 0x406b66
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0
mov ecx, dword [ebp - 0xce8]
add ecx, 4
mov edx, dword [ebp - 0xce4]
adc edx, 0
mov dword [ebp - 0xce8], ecx
mov dword [ebp - 0xce4], edx
push 2
lea eax, [ebp - 0x890]
push eax
mov ecx, dword [ebp - 0xce8]
neg ecx
mov edx, dword [ebp - 0xce4]
adc edx, 0
neg edx
push edx
push ecx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0040dbc0
add esp, 0x14
push 0
lea ecx, [ebp - 0xcac]
push ecx
push 4
lea edx, [ebp - 0x260]
push edx
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp - 0xce4]
push ecx
mov edx, dword [ebp - 0xce8]
push edx
mov eax, dword [ebp - 0x260]
push eax
push str.ReadDataStruct____lgFile_u_LastOffSet_u
call fcn.00456e30
add esp, 0x10
cmp dword [ebp - 0x260], 0
jbe 0x405f39
mov ecx, dword [ebp - 0x260]
xor edx, edx
add ecx, dword [ebp - 0xce8]
mov eax, dword [ebp - 0xce4]
adc eax, edx
mov dword [ebp - 0xce8], ecx
mov dword [ebp - 0xce4], eax
push 2
lea ecx, [ebp - 0x890]
push ecx
mov edx, dword [ebp - 0xce8]
neg edx
mov eax, dword [ebp - 0xce4]
adc eax, 0
neg eax
push eax
push edx
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0040dbc0
add esp, 0x14
push 0
lea edx, [ebp - 0xcac]
push edx
mov eax, dword [ebp - 0x260]
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 - 0x23c], eax
xor eax, eax
mov ecx, dword [ebp - 0x260]
mov word [ebp + ecx*2 - 0xca8], ax
lea edx, [ebp - 0xca8]
push edx
push str.ReadDataStruct____File_s
call fcn.00456e30
add esp, 8
mov eax, dword [ebp - 0xce8]
add eax, 8
mov ecx, dword [ebp - 0xce4]
adc ecx, 0
mov dword [ebp - 0xce8], eax
mov dword [ebp - 0xce4], ecx
push 2
lea edx, [ebp - 0x890]
push edx
mov eax, dword [ebp - 0xce8]
neg eax
mov ecx, dword [ebp - 0xce4]
adc ecx, 0
neg ecx
push ecx
push eax
mov edx, dword [ebp - 0x14]
push edx
call fcn.0040dbc0
add esp, 0x14
push 0
lea eax, [ebp - 0xcac]
push eax
push 8
lea ecx, [ebp - 0x258]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x254]
push eax
mov ecx, dword [ebp - 0x258]
push ecx
push str.ReadDataStruct____FileSize_I64u
call fcn.00456e30
add esp, 0xc
mov edx, dword [ebp - 0xce8]
add edx, 8
mov eax, dword [ebp - 0xce4]
adc eax, 0
mov dword [ebp - 0xce8], edx
mov dword [ebp - 0xce4], eax
push 2
lea ecx, [ebp - 0x890]
push ecx
mov edx, dword [ebp - 0xce8]
neg edx
mov eax, dword [ebp - 0xce4]
adc eax, 0
neg eax
push eax
push edx
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0040dbc0
add esp, 0x14
push 0
lea edx, [ebp - 0xcac]
push edx
push 8
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x23c], eax
mov edx, dword [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0x20]
push eax
push str.ReadDataStruct____DataOffSet_I64u
call fcn.00456e30
add esp, 0xc
mov ecx, dword [ebp - 0xce8]
add ecx, 1
mov edx, dword [ebp - 0xce4]
adc edx, 0
mov dword [ebp - 0xce8], ecx
mov dword [ebp - 0xce4], edx
push 2
lea eax, [ebp - 0x890]
push eax
mov ecx, dword [ebp - 0xce8]
neg ecx
mov edx, dword [ebp - 0xce4]
adc edx, 0
neg edx
push edx
push ecx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0040dbc0
add esp, 0x14
push 0
lea ecx, [ebp - 0xcac]
push ecx
push 1
lea edx, [ebp - 0x671]
push edx
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x23c], eax
movzx ecx, byte [ebp - 0x671]
push ecx
push str.ReadDataStruct____TypeOfFile_d
call fcn.00456e30
add esp, 8
mov edx, dword [ebp - 0xce8]
add edx, 4
mov eax, dword [ebp - 0xce4]
adc eax, 0
mov dword [ebp - 0xce8], edx
mov dword [ebp - 0xce4], eax
push 2
lea ecx, [ebp - 0x890]
push ecx
mov edx, dword [ebp - 0xce8]
neg edx
mov eax, dword [ebp - 0xce4]
adc eax, 0
neg eax
push eax
push edx
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.0040dbc0
add esp, 0x14
push 0
lea edx, [ebp - 0xcac]
push edx
push 4
lea eax, [ebp - 0x25c]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x23c], eax
mov edx, dword [ebp - 0x25c]
push edx
push str.ReadDataStruct____lgFileOut_u
call fcn.00456e30
add esp, 8
cmp dword [ebp - 0x25c], 0
jbe 0x4061db
mov eax, dword [ebp - 0x25c]
xor ecx, ecx
add eax, dword [ebp - 0xce8]
mov edx, dword [ebp - 0xce4]
adc edx, ecx
mov dword [ebp - 0xce8], eax
mov dword [ebp - 0xce4], edx
push 2
lea eax, [ebp - 0x890]
push eax
mov ecx, dword [ebp - 0xce8]
neg ecx
mov edx, dword [ebp - 0xce4]
adc edx, 0
neg edx
push edx
push ecx
mov eax, dword [ebp - 0x14]
push eax
call fcn.0040dbc0
add esp, 0x14
push 0
lea ecx, [ebp - 0xcac]
push ecx
mov edx, dword [ebp - 0x25c]
push edx
lea eax, [ebp - 0xaa0]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x23c], eax
xor edx, edx
mov eax, dword [ebp - 0x25c]
mov word [ebp + eax*2 - 0xaa0], dx
lea ecx, [ebp - 0xaa0]
push ecx
push str.ReadDataStruct____FileOut_s
call fcn.00456e30
add esp, 8
mov edx, dword [ebp - 0xcc4]
add edx, 1
push edx
lea ecx, [ebp + 0x1c]
call fcn.004088b0
mov eax, dword [ebp - 0xcc4]
push eax
lea ecx, [ebp + 0x1c]
call fcn.00408900
mov dword [ebp - 0x10d0], eax
lea ecx, [ebp - 0xca8]
push ecx
push 0x104
mov edx, dword [ebp - 0x10d0]
push edx
call fcn.0046a10d
add esp, 0xc
mov eax, dword [ebp - 0xcc4]
push eax
lea ecx, [ebp + 0x1c]
call fcn.00408900
mov dword [ebp - 0x10d4], eax
mov ecx, dword [ebp - 0x10d4]
push ecx
push str.ReadDataStruct____vDataFiles_i_.szFile_s
call fcn.00456a00
add esp, 8
mov edx, dword [ebp - 0xcc4]
push edx
lea ecx, [ebp + 0x1c]
call fcn.00408900
mov dword [ebp - 0x10d8], eax
lea eax, [ebp - 0xaa0]
push eax
push 0x104
mov ecx, dword [ebp - 0x10d8]
add ecx, 0x208
push ecx
call fcn.0046a10d
add esp, 0xc
mov edx, dword [ebp - 0xcc4]
push edx
lea ecx, [ebp + 0x1c]
call fcn.00408900
mov dword [ebp - 0x10dc], eax
mov eax, dword [ebp - 0x10dc]
add eax, 0x208
push eax
push str.ReadDataStruct____vDataFiles_i_.szFileOut_s
call fcn.00456a00
add esp, 8
mov ecx, dword [ebp - 0xcc4]
push ecx
lea ecx, [ebp + 0x1c]
call fcn.00408900
mov dword [ebp - 0x10e0], eax
mov edx, dword [ebp - 0x10e0]
mov eax, dword [ebp - 0x258]
mov dword [edx + 0x410], eax
mov ecx, dword [ebp - 0x254]
mov dword [edx + 0x414], ecx
mov edx, dword [ebp - 0xcc4]
push edx
lea ecx, [ebp + 0x1c]
call fcn.00408900
mov dword [ebp - 0x10e4], eax
mov eax, dword [ebp - 0x10e4]
mov cl, byte [ebp - 0x671]
mov byte [eax + 0x428], cl
mov edx, dword [ebp - 0xcc4]
push edx
lea ecx, [ebp + 0x1c]
call fcn.00408900
mov dword [ebp - 0x10e8], eax
mov eax, dword [ebp - 0x10e8]
mov ecx, dword [ebp - 0x20]
mov dword [eax + 0x420], ecx
mov edx, dword [ebp - 0x1c]
mov dword [eax + 0x424], edx
movzx eax, byte [ebp - 0x671]
and eax, 1
je 0x4066a8
mov ecx, dword [ebp - 0xce0]
add ecx, 1
mov dword [ebp - 0xce0], ecx
mov edx, dword [ebp - 0xce0]
push edx
lea ecx, [ebp - 0xd18]
call fcn.004088b0
mov eax, dword [ebp - 0xce0]
sub eax, 1
push eax
lea ecx, [ebp - 0xd18]
call fcn.00408900
mov dword [ebp - 0x10ec], eax
mov ecx, dword [ebp - 0x10ec]
mov edx, dword [ebp - 0x20]
mov dword [ecx + 0x420], edx
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 0x424], eax
mov ecx, dword [ebp - 0xce0]
sub ecx, 1
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00408900
mov dword [ebp - 0x10f0], eax
mov edx, dword [ebp - 0x10f0]
mov eax, dword [ebp - 0x258]
mov dword [edx + 0x418], eax
mov ecx, dword [ebp - 0x254]
mov dword [edx + 0x41c], ecx
mov edx, dword [ebp - 0x230]
add edx, dword [ebp - 0x258]
mov eax, dword [ebp - 0x22c]
adc eax, dword [ebp - 0x254]
mov dword [ebp - 0x230], edx
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x888]
add ecx, dword [ebp - 0x258]
mov edx, dword [ebp - 0x884]
adc edx, dword [ebp - 0x254]
mov dword [ebp - 0x888], ecx
mov dword [ebp - 0x884], edx
movzx eax, byte [ebp - 0x671]
and eax, 4
je 0x406494
mov ecx, dword [ebp - 0xce0]
sub ecx, 1
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00408900
mov dword [ebp - 0x10f4], eax
lea edx, [ebp - 0xca8]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x10f4]
add ecx, 0x208
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov edx, dword [ebp - 0xce0]
sub edx, 1
push edx
lea ecx, [ebp - 0xd18]
call fcn.00408900
mov dword [ebp - 0x10f8], eax
mov eax, dword [ebp - 0x10f8]
add eax, 0x208
push eax
push 0x4ac970
call fcn.00456a00
add esp, 8
jmp 0x4066a3
mov ecx, dword [ebp - 0xce0]
sub ecx, 1
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00408900
mov dword [ebp - 0x10fc], eax
lea edx, [ebp - 0xca8]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp - 0x10fc]
add ecx, 0x208
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov edx, dword [ebp - 0xcdc]
add edx, 1
mov dword [ebp - 0xcdc], edx
mov eax, dword [ebp - 0xcdc]
push eax
lea ecx, [ebp - 0xd00]
call fcn.004088b0
mov ecx, dword [ebp - 0xcdc]
sub ecx, 1
push ecx
lea ecx, [ebp - 0xd00]
call fcn.00408900
mov dword [ebp - 0x1100], eax
lea edx, [ebp - 0xca8]
push edx
mov eax, dword [ebp + 0x18]
push eax
mov ecx, dword [ebp - 0x1100]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov edx, dword [ebp - 0xcdc]
sub edx, 1
push edx
lea ecx, [ebp - 0xd00]
call fcn.00408900
mov dword [ebp - 0x1104], eax
mov eax, dword [ebp + 0x14]
push eax
push 0x104
mov ecx, dword [ebp - 0x1104]
add ecx, 0x208
push ecx
call fcn.0046a10d
add esp, 0xc
mov edx, dword [ebp - 0xcdc]
sub edx, 1
push edx
lea ecx, [ebp - 0xd00]
call fcn.00408900
mov dword [ebp - 0x1108], eax
xor eax, eax
cmp dword [ebp + 0x38], 0
sete al
mov ecx, dword [ebp - 0x1108]
mov dword [ecx + 0x428], eax
mov edx, dword [ebp - 0xcdc]
sub edx, 1
push edx
lea ecx, [ebp - 0xd00]
call fcn.00408900
mov dword [ebp - 0x110c], eax
mov eax, dword [ebp - 0x110c]
mov ecx, dword [ebp - 0x258]
mov dword [eax + 0x418], ecx
mov edx, dword [ebp - 0x254]
mov dword [eax + 0x41c], edx
mov eax, dword [ebp - 0x250]
add eax, dword [ebp - 0x258]
mov ecx, dword [ebp - 0x24c]
adc ecx, dword [ebp - 0x254]
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x888]
add edx, dword [ebp - 0x258]
mov eax, dword [ebp - 0x884]
adc eax, dword [ebp - 0x254]
mov dword [ebp - 0x888], edx
mov dword [ebp - 0x884], eax
mov ecx, dword [ebp - 0xce0]
sub ecx, 1
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00408900
mov dword [ebp - 0x1110], eax
mov edx, dword [ebp - 0x1110]
add edx, 0x208
push edx
push str.ReadDataStruct____vFilesToExtract_dwCptFtE_1_.szTgdFile_s
call fcn.00456a00
add esp, 8
mov eax, dword [ebp - 0xcdc]
sub eax, 1
push eax
lea ecx, [ebp - 0xd00]
call fcn.00408900
mov dword [ebp - 0x1114], eax
mov ecx, dword [ebp - 0x1114]
push ecx
push str.ReadDataStruct____vFilesToUncompress_dwCptFtU_1_.szSrcFile_s
call fcn.00456a00
add esp, 8
mov edx, dword [ebp - 0xcdc]
sub edx, 1
push edx
lea ecx, [ebp - 0xd00]
call fcn.00408900
mov dword [ebp - 0x1118], eax
mov eax, dword [ebp - 0x1118]
add eax, 0x208
push eax
push str.ReadDataStruct____vFilesToUncompress_dwCptFtU_1_.szTgdFile_s
call fcn.00456a00
add esp, 8
jmp 0x406b3e
movzx ecx, byte [ebp - 0x671]
and ecx, 2
je 0x406b3e
lea edx, [ebp - 0xaa0]
push edx
lea eax, [ebp - 0x880]
push eax
lea ecx, [ebp - 0x468]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea edx, [ebp - 0x468]
push edx
call fcn.0040cfa0
add esp, 4
mov dword [ebp - 0x111c], eax
cmp dword [ebp - 0x111c], 0
jne 0x406733
lea eax, [ebp - 0xaa0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindExtensionW]
mov dword [ebp - 0xd78], eax
lea ecx, [ebp - 0x670]
push ecx
lea edx, [ebp - 0x880]
push edx
lea eax, [ebp - 0x468]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov ecx, dword [ebp - 0xd78]
push ecx
lea edx, [ebp - 0x468]
push edx
call dword [sym.imp.SHLWAPI.dll_PathRenameExtensionW]
movzx eax, byte [ebp - 0x671]
and eax, 8
je 0x4068ca
lea ecx, [ebp - 0x468]
push ecx
call fcn.0040cfa0
add esp, 4
mov dword [ebp - 0x1120], eax
cmp dword [ebp - 0x1120], 0
je 0x40676b
cmp dword [ebp + 0x34], 0
je 0x4068ca
mov edx, dword [ebp - 0xcbc]
add edx, 1
mov dword [ebp - 0xcbc], edx
mov eax, dword [ebp - 0xcbc]
push eax
lea ecx, [ebp - 0xd50]
call fcn.004088b0
mov ecx, dword [ebp - 0xcbc]
sub ecx, 1
push ecx
lea ecx, [ebp - 0xd50]
call fcn.00408900
mov dword [ebp - 0x1124], eax
mov edx, dword [ebp - 0x1124]
mov eax, dword [ebp - 0x258]
mov dword [edx + 0x418], eax
mov ecx, dword [ebp - 0x254]
mov dword [edx + 0x41c], ecx
mov edx, dword [ebp - 0x238]
add edx, dword [ebp - 0x258]
mov eax, dword [ebp - 0x234]
adc eax, dword [ebp - 0x254]
mov dword [ebp - 0x238], edx
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x888]
add ecx, dword [ebp - 0x258]
mov edx, dword [ebp - 0x884]
adc edx, dword [ebp - 0x254]
mov dword [ebp - 0x888], ecx
mov dword [ebp - 0x884], edx
mov eax, dword [ebp - 0xcbc]
sub eax, 1
push eax
lea ecx, [ebp - 0xd50]
call fcn.00408900
mov dword [ebp - 0x1128], eax
push 0x2f
lea ecx, [ebp - 0xaa0]
push ecx
push 0x4d51c8
mov edx, dword [ebp - 0x1128]
push edx
call fcn.0040b2f0
add esp, 0x10
movzx eax, byte [ebp - 0x671]
and eax, 4
je 0x40688c
mov ecx, dword [ebp - 0xcbc]
sub ecx, 1
push ecx
lea ecx, [ebp - 0xd50]
call fcn.00408900
mov dword [ebp - 0x112c], eax
lea edx, [ebp - 0xaa0]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp - 0x112c]
add ecx, 0x208
push ecx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
jmp 0x4068c5
mov edx, dword [ebp - 0xcbc]
sub edx, 1
push edx
lea ecx, [ebp - 0xd50]
call fcn.00408900
mov dword [ebp - 0x1130], eax
lea eax, [ebp - 0xca8]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp - 0x1130]
add edx, 0x208
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
jmp 0x406a21
mov eax, dword [ebp - 0xd6c]
add eax, 1
mov dword [ebp - 0xd6c], eax
mov ecx, dword [ebp - 0xd6c]
push ecx
lea ecx, [ebp - 0xd68]
call fcn.004088b0
mov edx, dword [ebp - 0xd6c]
sub edx, 1
push edx
lea ecx, [ebp - 0xd68]
call fcn.00408900
mov dword [ebp - 0x1134], eax
mov eax, dword [ebp - 0x1134]
mov ecx, dword [ebp - 0x258]
mov dword [eax + 0x418], ecx
mov edx, dword [ebp - 0x254]
mov dword [eax + 0x41c], edx
mov eax, dword [ebp - 0x248]
add eax, dword [ebp - 0x258]
mov ecx, dword [ebp - 0x244]
adc ecx, dword [ebp - 0x254]
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], ecx
mov edx, dword [ebp - 0x888]
add edx, dword [ebp - 0x258]
mov eax, dword [ebp - 0x884]
adc eax, dword [ebp - 0x254]
mov dword [ebp - 0x888], edx
mov dword [ebp - 0x884], eax
mov ecx, dword [ebp - 0xd6c]
sub ecx, 1
push ecx
lea ecx, [ebp - 0xd68]
call fcn.00408900
mov dword [ebp - 0x1138], eax
lea edx, [ebp - 0x468]
push edx
push 0x104
mov eax, dword [ebp - 0x1138]
push eax
call fcn.0046a10d
add esp, 0xc
movzx ecx, byte [ebp - 0x671]
and ecx, 4
je 0x4069e9
mov edx, dword [ebp - 0xd6c]
sub edx, 1
push edx
lea ecx, [ebp - 0xd68]
call fcn.00408900
mov dword [ebp - 0x113c], eax
lea eax, [ebp - 0xaa0]
push eax
mov ecx, dword [ebp + 0x14]
push ecx
mov edx, dword [ebp - 0x113c]
add edx, 0x208
push edx
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
jmp 0x406a21
mov eax, dword [ebp - 0xd6c]
sub eax, 1
push eax
lea ecx, [ebp - 0xd68]
call fcn.00408900
mov dword [ebp - 0x1140], eax
lea ecx, [ebp - 0xca8]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp - 0x1140]
add eax, 0x208
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
movzx ecx, byte [ebp - 0x671]
and ecx, 4
jne 0x406b3e
mov edx, dword [ebp - 0xcdc]
add edx, 1
mov dword [ebp - 0xcdc], edx
mov eax, dword [ebp - 0xcdc]
push eax
lea ecx, [ebp - 0xd00]
call fcn.004088b0
mov ecx, dword [ebp - 0xcdc]
sub ecx, 1
push ecx
lea ecx, [ebp - 0xd00]
call fcn.00408900
mov dword [ebp - 0x1144], eax
mov edx, dword [ebp - 0x1144]
mov eax, dword [ebp - 0x258]
mov dword [edx + 0x418], eax
mov ecx, dword [ebp - 0x254]
mov dword [edx + 0x41c], ecx
mov edx, dword [ebp - 0x250]
add edx, dword [ebp - 0x258]
mov eax, dword [ebp - 0x24c]
adc eax, dword [ebp - 0x254]
mov dword [ebp - 0x250], edx
mov dword [ebp - 0x24c], eax
mov ecx, dword [ebp - 0x888]
add ecx, dword [ebp - 0x258]
mov edx, dword [ebp - 0x884]
adc edx, dword [ebp - 0x254]
mov dword [ebp - 0x888], ecx
mov dword [ebp - 0x884], edx
mov eax, dword [ebp - 0xcdc]
sub eax, 1
push eax
lea ecx, [ebp - 0xd00]
call fcn.00408900
mov dword [ebp - 0x1148], eax
lea ecx, [ebp - 0xca8]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp - 0x1148]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov ecx, dword [ebp - 0xcdc]
sub ecx, 1
push ecx
lea ecx, [ebp - 0xd00]
call fcn.00408900
mov dword [ebp - 0x114c], eax
mov edx, dword [ebp + 0x14]
push edx
push 0x104
mov eax, dword [ebp - 0x114c]
add eax, 0x208
push eax
call fcn.0046a10d
add esp, 0xc
mov ecx, dword [ebp - 0xcc4]
add ecx, 1
mov dword [ebp - 0xcc4], ecx
mov edx, dword [ebp - 0xcc4]
xor eax, eax
push eax
push edx
mov ecx, 0x4cf9c0
call fcn.004126f0
jmp 0x405d9f
mov dword [ebp - 0xcd8], 0
xor ecx, ecx
mov dword [ebp - 0xcd4], ecx
push 0
push 0
lea edx, [ebp - 0xcd8]
push edx
mov eax, dword [ebp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExW]
test eax, eax
je 0x406d87
mov ecx, dword [0x4da194]
add ecx, dword [ebp - 0x888]
mov edx, dword [0x4da198]
adc edx, dword [ebp - 0x884]
mov dword [ebp - 0xd80], ecx
mov dword [ebp - 0xd7c], edx
mov eax, dword [ebp - 0xcd4]
push eax
mov ecx, dword [ebp - 0xcd8]
push ecx
push str.ReadDataStruct____FreeBytesAvailable_I64u
call fcn.00456e30
add esp, 0xc
mov edx, dword [0x4da198]
push edx
mov eax, dword [0x4da194]
push eax
push str.ReadDataStruct____TotFilesSize_I64u
call fcn.00456e30
add esp, 0xc
mov ecx, dword [ebp - 0x884]
push ecx
mov edx, dword [ebp - 0x888]
push edx
push str.ReadDataStruct____TotDataSize_I64u
call fcn.00456e30
add esp, 0xc
mov eax, dword [ebp - 0xd7c]
push eax
mov ecx, dword [ebp - 0xd80]
push ecx
push str.ReadDataStruct____TotNeedSize_I64u
call fcn.00456e30
add esp, 0xc
mov edx, dword [ebp - 0xd7c]
cmp edx, dword [ebp - 0xcd4]
jb 0x406d87
ja 0x406c4a
mov eax, dword [ebp - 0xd80]
cmp eax, dword [ebp - 0xcd8]
jbe 0x406d87
xor ecx, ecx
mov word [ebp - 0xf88], cx
push 0x206
push 0
lea edx, [ebp - 0xf86]
push edx
call fcn.004677c0
add esp, 0xc
mov eax, dword [ebp + 0x14]
push eax
push 0x104
lea ecx, [ebp - 0xf88]
push ecx
call fcn.0046a10d
add esp, 0xc
lea edx, [ebp - 0xf88]
push edx
call dword [sym.imp.SHLWAPI.dll_PathStripToRootW]
mov eax, dword [0x4da190]
push eax
mov ecx, 0x4e7830
call fcn.004087b0
mov dword [ebp - 0x1150], eax
mov ecx, dword [ebp - 0x1150]
mov edx, dword [ecx + 0x410]
push edx
push 0x100
lea eax, [ebp - 0x228]
push eax
push 0x25e
mov ecx, dword [0x4d1ddc]
push ecx
call fcn.00449970
add esp, 0x14
mov dword [ebp - 0x1154], eax
cmp dword [ebp - 0x1154], 0
je 0x406d1c
lea edx, [ebp - 0xf88]
push edx
push 0
push 0x400
mov eax, dword [ebp - 0xd7c]
push eax
mov ecx, dword [ebp - 0xd80]
push ecx
call fcn.0046a2b0
push edx
push eax
lea edx, [ebp - 0x228]
push edx
push 0x100
push 0x4e7608
call fcn.00467d96
add esp, 0x18
mov dword [0x4e7808], 0x70
mov eax, dword [0x4e7808]
mov dword [ebp - 0x10a0], eax
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xd00]
call fcn.004087f0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xd18]
call fcn.004087f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd50]
call fcn.004087f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd68]
call fcn.004087f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x1c]
call fcn.004087f0
mov eax, dword [ebp - 0x10a0]
jmp 0x408574
lea ecx, [ebp - 0xd50]
call fcn.00408960
mov dword [ebp - 0x1158], eax
cmp dword [ebp - 0x1158], 0
jbe 0x406eeb
xor ecx, ecx
mov word [ebp - 0x1090], cx
push 0xfe
push 0
lea edx, [ebp - 0x108e]
push edx
call fcn.004677c0
add esp, 0xc
mov dword [ebp - 0xf8c], 0
push 0
lea ecx, [ebp - 0xd50]
call fcn.00408900
mov dword [ebp - 0x115c], eax
push 0
lea eax, [ebp - 0xf8c]
push eax
push 0
push 0
push 0
lea ecx, [ebp - 0x1090]
push ecx
mov edx, dword [ebp - 0x115c]
push edx
call fcn.00420bb0
add esp, 0x1c
push 0
lea ecx, [ebp - 0xd50]
call fcn.00408900
mov dword [ebp - 0x1160], eax
mov eax, dword [ebp - 0xf8c]
push eax
lea ecx, [ebp - 0x1090]
push ecx
mov edx, dword [ebp - 0x1160]
push edx
push str.ReadDataStruct____Url_s__HostName_s_Scheme_d
call fcn.00456a00
add esp, 0x10
cmp dword [ebp - 0xf8c], 5
je 0x406eeb
push 0
lea eax, [ebp - 0x1090]
push eax
call fcn.00420100
add esp, 8
mov dword [ebp - 0x1164], eax
mov ecx, dword [ebp - 0x1164]
mov dword [ebp - 0x1094], ecx
mov edx, dword [ebp - 0x1094]
and edx, 2
je 0x406e7f
cmp dword [0x4e7810], 0
je 0x406eeb
mov eax, dword [ebp - 0x1094]
mov dword [ebp - 0x894], eax
mov dword [ebp - 0x10a4], 0x4ce
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xd00]
call fcn.004087f0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xd18]
call fcn.004087f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd50]
call fcn.004087f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd68]
call fcn.004087f0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x1c]
call fcn.004087f0
mov eax, dword [ebp - 0x10a4]
jmp 0x408574
mov ecx, dword [ebp - 0x250]
mov edx, dword [ebp - 0x24c]
mov dword [ebp - 0x116c], ecx
mov dword [ebp - 0x1168], edx
mov eax, dword [ebp - 0x1168]
mov dword [ebp - 0x1170], eax
and dword [ebp - 0x1168], 0x7fffffff
fild qword [ebp - 0x116c]
and dword [ebp - 0x1170], 0x80000000
mov dword [ebp - 0x1174], 0
fild qword [ebp - 0x1174]
fchs
faddp st(1)
fmul qword [0x4ad070]
call fcn.0046a236
mov dword [ebp - 0xd38], eax
mov dword [ebp - 0xd34], edx
mov ecx, dword [ebp - 0x238]
mov edx, dword [ebp - 0x234]
mov dword [ebp - 0x117c], ecx
mov dword [ebp - 0x1178], edx
mov eax, dword [ebp - 0x1178]
mov dword [ebp - 0x1180], eax
and dword [ebp - 0x1178], 0x7fffffff
fild qword [ebp - 0x117c]
and dword [ebp - 0x1180], 0x80000000
mov dword [ebp - 0x1184], 0
fild qword [ebp - 0x1184]
fchs
faddp st(1)
fmul qword [0x4ad068]
call fcn.0046a236
mov dword [ebp - 0xcd0], eax
mov dword [ebp - 0xccc], edx
mov ecx, dword [ebp - 0x230]
add ecx, dword [ebp - 0x248]
mov edx, dword [ebp - 0x22c]
adc edx, dword [ebp - 0x244]
add ecx, dword [ebp - 0xcd0]
adc edx, dword [ebp - 0xccc]
add ecx, dword [ebp - 0xd38]
adc edx, dword [ebp - 0xd34]
mov dword [ebp - 0xcb8], ecx
mov dword [ebp - 0xcb4], edx
mov eax, dword [ebp - 0xcb4]
push eax
mov ecx, dword [ebp - 0xcb8]
push ecx
mov edx, dword [ebp - 0xd34]
push edx
mov eax, dword [ebp - 0xd38]
push eax
mov ecx, dword [ebp - 0x24c]
push ecx
mov edx, dword [ebp - 0x250]
push edx
push str.ReadDataStruct____TotSizeFilesToUncompress_I64u_TotSizeComp_I64u_TotSize_I64u
call fcn.00456e30
add esp, 0x1c
mov dword [0x4cfa31], 0
mov dword [0x4cfa35], 0
mov dword [ebp - 0xd20], 0
lea ecx, [ebp - 0xd50]
call fcn.00408960
mov dword [ebp - 0x1188], eax
cmp dword [ebp - 0x1188], 0
jbe 0x407421
cmp dword [0x4cf9c8], 0
je 0x407207
mov eax, dword [ebp - 0xcb8]
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x1190], eax
mov dword [ebp - 0x118c], ecx
mov edx, dword [ebp - 0x118c]
mov dword [ebp - 0x1194], edx
and dword [ebp - 0x118c], 0x7fffffff
fild qword [ebp - 0x1190]
and dword [ebp - 0x1194], 0x80000000
mov dword [ebp - 0x1198], 0
fild qword [ebp - 0x1198]
fchs
faddp st(1)
mov eax, dword [ebp - 0xcd0]
mov ecx, dword [ebp - 0xccc]
mov dword [ebp - 0x11a0], eax
mov dword [ebp - 0x119c], ecx
mov edx, dword [ebp - 0x119c]
mov dword [ebp - 0x11a4], edx
and dword [ebp - 0x119c], 0x7fffffff
fild qword [ebp - 0x11a0]
and dword [ebp - 0x11a4], 0x80000000
mov dword [ebp - 0x11a8], 0
fild qword [ebp - 0x11a8]
fchs
faddp st(1)
fdivrp st(1)
fmul qword [0x4ad060]
fnstcw word [ebp - 0x11aa]
movzx eax, word [ebp - 0x11aa]
or eax, 0xc00
mov dword [ebp - 0x11b0], eax
fldcw word [ebp - 0x11b0]
fistp qword [ebp - 0x11b8]
fldcw word [ebp - 0x11aa]
mov eax, dword [ebp - 0x11b8]
add eax, dword [0x4cf9f1]
mov dword [ebp - 0xd20], eax
mov ecx, dword [ebp - 0xccc]
push ecx
mov edx, dword [ebp - 0xcd0]
push edx
push 0x64
push 0
mov ecx, 0x4cf9c0
call fcn.00412300
mov ecx, 0x4cf9c0
call fcn.00412880
mov eax, dword [ebp - 0xd20]
push eax
mov ecx, dword [0x4cf9f1]
push ecx
mov ecx, 0x4cf9c0
call fcn.004123a0
mov edx, dword [0x4da190]
push edx
mov ecx, 0x4e7830
call fcn.004087b0
mov dword [ebp - 0x11bc], eax
mov eax, dword [ebp - 0x11bc]
mov ecx, dword [eax + 0x410]
push ecx
push 0x100
lea edx, [ebp - 0x228]
push edx
push 0x8b
mov eax, dword [0x4d1ddc]
push eax
call fcn.00449970
add esp, 0x14
mov dword [ebp - 0x11c0], eax
cmp dword [ebp - 0x11c0], 0
je 0x407202
lea ecx, [ebp - 0x228]
push ecx
mov ecx, 0x4cf9c0
call fcn.00412cb0
jmp 0x407314
mov edx, dword [ebp - 0xcb8]
mov eax, dword [ebp - 0xcb4]
mov dword [ebp - 0x11c8], edx
mov dword [ebp - 0x11c4], eax
mov ecx, dword [ebp - 0x11c4]
mov dword [ebp - 0x11cc], ecx
and dword [ebp - 0x11c4], 0x7fffffff
fild qword [ebp - 0x11c8]
and dword [ebp - 0x11cc], 0x80000000
mov dword [ebp - 0x11d0], 0
fild qword [ebp - 0x11d0]
fchs
faddp st(1)
mov edx, dword [ebp - 0xcd0]
mov eax, dword [ebp - 0xccc]
mov dword [ebp - 0x11d8], edx
mov dword [ebp - 0x11d4], eax
mov ecx, dword [ebp - 0x11d4]
mov dword [ebp - 0x11dc], ecx
and dword [ebp - 0x11d4], 0x7fffffff
fild qword [ebp - 0x11d8]
and dword [ebp - 0x11dc], 0x80000000
mov dword [ebp - 0x11e0], 0
fild qword [ebp - 0x11e0]
fchs
faddp st(1)
fdivrp st(1)
fmul qword [0x4ad060]
fnstcw word [ebp - 0x11e2]
movzx eax, word [ebp - 0x11e2]
or eax, 0xc00
mov dword [ebp - 0x11e8], eax
fldcw word [ebp - 0x11e8]
fistp qword [ebp - 0x11f0]
fldcw word [ebp - 0x11e2]
mov edx, dword [ebp - 0x11f0]
add edx, dword [0x4cf9e9]
mov dword [ebp - 0xd20], edx
mov eax, dword [ebp - 0xccc]
push eax
mov ecx, dword [ebp - 0xcd0]
push ecx
mov edx, dword [ebp - 0xd20]
push edx
mov eax, dword [0x4cf9e9]
push eax
mov ecx, 0x4cf9c0
call fcn.00412300
mov ecx, dword [ebp - 0xd20]
push ecx
push str.ReadDataStruct____Status1_u
call fcn.00456e30
add esp, 8
mov dword [ebp - 0xcc4], 0
lea ecx, [ebp - 0xd50]
call fcn.00408960
mov dword [ebp - 0x11f4], eax
mov edx, dword [ebp - 0xcc4]
cmp edx, dword [ebp - 0x11f4]
jae 0x407412
cmp dword [0x4e7810], 0
jne 0x407412
cmp dword [ebp - 0x894], 0
jne 0x407412
mov eax, dword [ebp - 0xcc4]
push eax
lea ecx, [ebp - 0xd50]
call fcn.00408900
mov dword [ebp - 0x11f8], eax
mov ecx, dword [ebp - 0xcc4]
push ecx
lea ecx, [ebp - 0xd50]
call fcn.00408900
mov dword [ebp - 0x11fc], eax
mov edx, dword [ebp + 0x38]
push edx
mov eax, dword [ebp - 0x11f8]
add eax, 0x208
push eax
push 0x4acc9c
push 0x4acca0
mov ecx, dword [ebp - 0x11fc]
push ecx
call fcn.00422630
add esp, 0x14
mov dword [ebp - 0x1200], eax
cmp dword [ebp - 0x1200], 0
je 0x4073fe
mov dword [ebp - 0x894], 0x4d4
mov edx, dword [ebp - 0x894]
mov dword [ebp - 0x10a8], edx
push 0x4c6b94
lea eax, [ebp - 0x10a8]
push eax
call fcn.00467f72
mov ecx, dword [ebp - 0xcc4]
add ecx, 1
mov dword [ebp - 0xcc4], ecx
jmp 0x407332
push 0x3e8
mov ecx, 0x4cf9c0
call fcn.00412830
mov dword [0x4cfa31], 0
mov dword [0x4cfa35], 0
mov dword [ebp - 0xcc0], 0
push 0x3e8
mov ecx, 0x4cf9c0
call fcn.00412830
lea ecx, [ebp - 0xd68]
call fcn.00408960
mov dword [ebp - 0x1204], eax
cmp dword [ebp - 0x1204], 0
jbe 0x407963
cmp dword [0x4cf9c8], 0
je 0x407607
mov edx, dword [ebp - 0xcb8]
mov eax, dword [ebp - 0xcb4]
mov dword [ebp - 0x120c], edx
mov dword [ebp - 0x1208], eax
mov ecx, dword [ebp - 0x1208]
mov dword [ebp - 0x1210], ecx
and dword [ebp - 0x1208], 0x7fffffff
fild qword [ebp - 0x120c]
and dword [ebp - 0x1210], 0x80000000
mov dword [ebp - 0x1214], 0
fild qword [ebp - 0x1214]
fchs
faddp st(1)
mov edx, dword [ebp - 0x248]
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x121c], edx
mov dword [ebp - 0x1218], eax
mov ecx, dword [ebp - 0x1218]
mov dword [ebp - 0x1220], ecx
and dword [ebp - 0x1218], 0x7fffffff
fild qword [ebp - 0x121c]
and dword [ebp - 0x1220], 0x80000000
mov dword [ebp - 0x1224], 0
fild qword [ebp - 0x1224]
fchs
faddp st(1)
fdivrp st(1)
fmul qword [0x4ad060]
fnstcw word [ebp - 0x1226]
movzx eax, word [ebp - 0x1226]
or eax, 0xc00
mov dword [ebp - 0x122c], eax
fldcw word [ebp - 0x122c]
fistp qword [ebp - 0x1234]
fldcw word [ebp - 0x1226]
mov edx, dword [ebp - 0x1234]
add edx, dword [0x4cf9f1]
mov dword [ebp - 0xcc0], edx
mov eax, dword [ebp - 0x244]
push eax
mov ecx, dword [ebp - 0x248]
push ecx
push 0x64
push 0
mov ecx, 0x4cf9c0
call fcn.00412300
mov ecx, 0x4cf9c0
call fcn.00412880
mov edx, dword [ebp - 0xcc0]
push edx
mov eax, dword [0x4cf9f1]
push eax
mov ecx, 0x4cf9c0
call fcn.004123a0
mov ecx, dword [0x4da190]
push ecx
mov ecx, 0x4e7830
call fcn.004087b0
mov dword [ebp - 0x1238], eax
mov edx, dword [ebp - 0x1238]
mov eax, dword [edx + 0x410]
push eax
push 0x100
lea ecx, [ebp - 0x228]
push ecx
push 0x8f
mov edx, dword [0x4d1ddc]
push edx
call fcn.00449970
add esp, 0x14
mov dword [ebp - 0x123c], eax
cmp dword [ebp - 0x123c], 0
je 0x407602
lea eax, [ebp - 0x228]
push eax
mov ecx, 0x4cf9c0
call fcn.00412cb0
jmp 0x407715
mov ecx, dword [ebp - 0xcb8]
mov edx, dword [ebp - 0xcb4]
mov dword [ebp - 0x1244], ecx
mov dword [ebp - 0x1240], edx
mov eax, dword [ebp - 0x1240]
mov dword [ebp - 0x1248], eax
and dword [ebp - 0x1240], 0x7fffffff
fild qword [ebp - 0x1244]
and dword [ebp - 0x1248], 0x80000000
mov dword [ebp - 0x124c], 0
fild qword [ebp - 0x124c]
fchs
faddp st(1)
mov ecx, dword [ebp - 0x248]
mov edx, dword [ebp - 0x244]
mov dword [ebp - 0x1254], ecx
mov dword [ebp - 0x1250], edx
mov eax, dword [ebp - 0x1250]
mov dword [ebp - 0x1258], eax
and dword [ebp - 0x1250], 0x7fffffff
fild qword [ebp - 0x1254]
and dword [ebp - 0x1258], 0x80000000
mov dword [ebp - 0x125c], 0
fild qword [ebp - 0x125c]
fchs
faddp st(1)
fdivrp st(1)
fmul qword [0x4ad060]
fnstcw word [ebp - 0x125e]
movzx eax, word [ebp - 0x125e]
or eax, 0xc00
mov dword [ebp - 0x1264], eax
fldcw word [ebp - 0x1264]
fistp qword [ebp - 0x126c]
fldcw word [ebp - 0x125e]
mov ecx, dword [ebp - 0x126c]
add ecx, dword [0x4cf9e9]
mov dword [ebp - 0xcc0], ecx
mov edx, dword [ebp - 0x244]
push edx
mov eax, dword [ebp - 0x248]
push eax
mov ecx, dword [ebp - 0xcc0]
push ecx
mov edx, dword [0x4cf9e9]
push edx
mov ecx, 0x4cf9c0
call fcn.00412300
mov eax, dword [ebp - 0xcc0]
push eax
push str.ReadDataStruct____Status2_u
call fcn.00456e30
add esp, 8
mov dword [ebp - 0xcc4], 0
lea ecx, [ebp - 0xd68]
call fcn.00408960
mov dword [ebp - 0x1270], eax
mov ecx, dword [ebp - 0x1270]
mov dword [ebp - 0xd70], ecx
lea ecx, [ebp - 0xd68]
call fcn.00408960
mov dword [ebp - 0x1274], eax
mov edx, dword [ebp - 0xcc4]
cmp edx, dword [ebp - 0x1274]
jae 0x40790b
cmp dword [0x4e7810], 0
jne 0x40790b
cmp dword [ebp - 0x894], 0
jne 0x40790b
cmp dword [0x4cf9c8], 0
je 0x4077d7
mov eax, dword [ebp - 0xcc4]
push eax
lea ecx, [ebp - 0xd68]
call fcn.00408900
mov dword [ebp - 0x1278], eax
mov ecx, dword [ebp - 0x1278]
mov edx, dword [ecx + 0x41c]
push edx
mov eax, dword [ecx + 0x418]
push eax
mov ecx, dword [ebp - 0xd70]
push ecx
push 0x64
mov ecx, 0x4cf9c0
call fcn.004123f0
jmp 0x40781b
mov edx, dword [ebp - 0xcc4]
push edx
lea ecx, [ebp - 0xd68]
call fcn.00408900
mov dword [ebp - 0x127c], eax
mov eax, dword [ebp - 0x127c]
mov ecx, dword [eax + 0x41c]
push ecx
mov edx, dword [eax + 0x418]
push edx
mov eax, dword [ebp - 0xd70]
push eax
mov ecx, dword [ebp - 0xcc0]
push ecx
mov ecx, 0x4cf9c0
call fcn.004123f0
mov edx, dword [ebp - 0xcc4]
push edx
lea ecx, [ebp - 0xd68]
call fcn.00408900
mov dword [ebp - 0x1280], eax
mov eax, dword [ebp - 0xcc4]
push eax
lea ecx, [ebp - 0xd68]
call fcn.00408900
mov dword [ebp - 0x1284], eax
mov ecx, dword [0x4d4db4]
neg ecx
sbb ecx, ecx
and ecx, 0x200000
or ecx, 0x400000
push ecx
mov edx, dword [ebp - 0x1280]
add edx, 0x208
push edx
mov eax, dword [ebp - 0x1284]
push eax
call fcn.00455220
add esp, 0xc
mov dword [ebp - 0x1288], eax
mov ecx, dword [ebp - 0x1288]
mov dword [ebp - 0x894], ecx
mov edx, dword [ebp - 0xcc4]
push edx
lea ecx, [ebp - 0xd68]
call fcn.00408900
mov dword [ebp - 0x128c], eax
mov eax, dword [ebp - 0xcc4]
push eax
lea ecx, [ebp - 0xd68]
call fcn.00408900
mov dword [ebp - 0x1290], eax
mov ecx, dword [ebp - 0x894]
push ecx
mov edx, dword [ebp - 0x128c]
add edx, 0x208
push edx
mov eax, dword [ebp - 0x1290]
push eax
push str.ReadDataStruct____XCopyFile__s____s____d
call fcn.00456a00
add esp, 0x10
mov ecx, dword [ebp - 0xcc4]
add ecx, 1
mov dword [ebp - 0xcc4], ecx
mov edx, dword [ebp - 0xd70]
sub edx, 1
mov dword [ebp - 0xd70], edx
jmp 0x407750
cmp dword [ebp - 0x894], 0
jne 0x40791d
cmp dword [0x4e7810], 0
je 0x40793a
mov eax, dword [ebp - 0x894]
mov dword [ebp - 0x10ac], eax
push 0x4c6b94
lea ecx, [ebp - 0x10ac]
push ecx
call fcn.00467f72
cmp dword [0x4cf9c8], 0
je 0x407954
push 0x3e8
mov ecx, 0x4cf9c0
call fcn.004127e0
jmp 0x407963
push 0x3e8
mov ecx, 0x4cf9c0
call fcn.00412830
mov dword [0x4cfa31], 0
mov dword [0x4cfa35], 0
mov dword [ebp - 0xd1c], 0
lea ecx, [ebp - 0xd18]
call fcn.00408960
mov dword [ebp - 0x1294], eax
cmp dword [ebp - 0x1294], 0
jbe 0x407e8f
cmp dword [0x4cf9c8], 0
je 0x407b69
mov edx, dword [ebp - 0xcb4]
push edx
mov eax, dword [ebp - 0xcb8]
push eax
mov ecx, dword [ebp - 0x22c]
push ecx
mov edx, dword [ebp - 0x230]
push edx
mov eax, dword [0x4cf9f1]
push eax
push str.ReadDataStruct____MaxMainBarStep_u_TotSizeFilesToExtract_I64u_TotSize_I64u
call fcn.00456e30
add esp, 0x18
mov ecx, dword [ebp - 0xcb8]
mov edx, dword [ebp - 0xcb4]
mov dword [ebp - 0x129c], ecx
mov dword [ebp - 0x1298], edx
mov eax, dword [ebp - 0x1298]
mov dword [ebp - 0x12a0], eax
and dword [ebp - 0x1298], 0x7fffffff
fild qword [ebp - 0x129c]
and dword [ebp - 0x12a0], 0x80000000
mov dword [ebp - 0x12a4], 0
fild qword [ebp - 0x12a4]
fchs
faddp st(1)
mov ecx, dword [ebp - 0x230]
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x12ac], ecx
mov dword [ebp - 0x12a8], edx
mov eax, dword [ebp - 0x12a8]
mov dword [ebp - 0x12b0], eax
and dword [ebp - 0x12a8], 0x7fffffff
fild qword [ebp - 0x12ac]
and dword [ebp - 0x12b0], 0x80000000
mov dword [ebp - 0x12b4], 0
fild qword [ebp - 0x12b4]
fchs
faddp st(1)
fdivrp st(1)
fmul qword [0x4ad060]
fnstcw word [ebp - 0x12b6]
movzx eax, word [ebp - 0x12b6]
or eax, 0xc00
mov dword [ebp - 0x12bc], eax
fldcw word [ebp - 0x12bc]
fistp qword [ebp - 0x12c4]
fldcw word [ebp - 0x12b6]
mov ecx, dword [ebp - 0x12c4]
add ecx, dword [0x4cf9f1]
mov dword [ebp - 0xd1c], ecx
mov edx, dword [ebp - 0x22c]
push edx
mov eax, dword [ebp - 0x230]
push eax
push 0x64
push 0
mov ecx, 0x4cf9c0
call fcn.00412300
mov ecx, 0x4cf9c0
call fcn.00412880
mov ecx, dword [ebp - 0xd1c]
push ecx
mov edx, dword [0x4cf9f1]
push edx
mov ecx, 0x4cf9c0
call fcn.004123a0
mov eax, dword [0x4da190]
push eax
mov ecx, 0x4e7830
call fcn.004087b0
mov dword [ebp - 0x12c8], eax
mov ecx, dword [ebp - 0x12c8]
mov edx, dword [ecx + 0x410]
push edx
push 0x100
lea eax, [ebp - 0x228]
push eax
push 0x8e
mov ecx, dword [0x4d1ddc]
push ecx
call fcn.00449970
add esp, 0x14
mov dword [ebp - 0x12cc], eax
cmp dword [ebp - 0x12cc], 0
je 0x407b64
lea edx, [ebp - 0x228]
push edx
mov ecx, 0x4cf9c0
call fcn.00412cb0
jmp 0x407c77
mov eax, dword [ebp - 0xcb8]
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x12d4], eax
mov dword [ebp - 0x12d0], ecx
mov edx, dword [ebp - 0x12d0]
mov dword [ebp - 0x12d8], edx
and dword [ebp - 0x12d0], 0x7fffffff
fild qword [ebp - 0x12d4]
and dword [ebp - 0x12d8], 0x80000000
mov dword [ebp - 0x12dc], 0
fild qword [ebp - 0x12dc]
fchs
faddp st(1)
mov eax, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x22c]
mov dword [ebp - 0x12e4], eax
mov dword [ebp - 0x12e0], ecx
mov edx, dword [ebp - 0x12e0]
mov dword [ebp - 0x12e8], edx
and dword [ebp - 0x12e0], 0x7fffffff
fild qword [ebp - 0x12e4]
and dword [ebp - 0x12e8], 0x80000000
mov dword [ebp - 0x12ec], 0
fild qword [ebp - 0x12ec]
fchs
faddp st(1)
fdivrp st(1)
fmul qword [0x4ad060]
fnstcw word [ebp - 0x12ee]
movzx eax, word [ebp - 0x12ee]
or eax, 0xc00
mov dword [ebp - 0x12f4], eax
fldcw word [ebp - 0x12f4]
fistp qword [ebp - 0x12fc]
fldcw word [ebp - 0x12ee]
mov eax, dword [ebp - 0x12fc]
add eax, dword [0x4cf9e9]
mov dword [ebp - 0xd1c], eax
mov ecx, dword [ebp - 0x22c]
push ecx
mov edx, dword [ebp - 0x230]
push edx
mov eax, dword [ebp - 0xd1c]
push eax
mov ecx, dword [0x4cf9e9]
push ecx
mov ecx, 0x4cf9c0
call fcn.00412300
mov edx, dword [ebp - 0xd1c]
push edx
push str.ReadDataStruct____Status3_u
call fcn.00456e30
add esp, 8
mov dword [ebp - 0xcc4], 0
lea ecx, [ebp - 0xd18]
call fcn.00408960
mov dword [ebp - 0x1300], eax
mov eax, dword [ebp - 0xcc4]
cmp eax, dword [ebp - 0x1300]
jae 0x407e51
cmp dword [0x4e7810], 0
jne 0x407e51
cmp dword [ebp - 0x894], 0
jne 0x407e51
mov ecx, dword [ebp - 0xcc4]
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00408900
mov dword [ebp - 0x1304], eax
mov edx, dword [ebp - 0xcc4]
push edx
lea ecx, [ebp - 0xd18]
call fcn.00408900
mov dword [ebp - 0x1308], eax
mov eax, dword [ebp - 0xcc4]
push eax
lea ecx, [ebp - 0xd18]
call fcn.00408900
mov dword [ebp - 0x130c], eax
mov ecx, dword [ebp - 0xcc4]
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00408900
mov dword [ebp - 0x1310], eax
push 0
mov edx, dword [0x4d4db4]
push edx
push 1
mov eax, dword [ebp - 0x1304]
add eax, 0x208
push eax
mov ecx, dword [ebp - 0x1308]
mov edx, dword [ecx + 0x414]
push edx
mov eax, dword [ecx + 0x410]
push eax
mov ecx, dword [ebp - 0x130c]
mov edx, dword [ecx + 0x41c]
push edx
mov eax, dword [ecx + 0x418]
push eax
mov ecx, dword [ebp - 0x1310]
mov edx, dword [ecx + 0x424]
push edx
mov eax, dword [ecx + 0x420]
push eax
push 0x4acd90
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.00454be0
add esp, 0x30
mov dword [ebp - 0x1314], eax
mov edx, dword [ebp - 0x1314]
mov dword [ebp - 0x894], edx
mov eax, dword [ebp - 0xcc4]
push eax
lea ecx, [ebp - 0xd18]
call fcn.00408900
mov dword [ebp - 0x1318], eax
mov ecx, dword [ebp - 0xcc4]
push ecx
lea ecx, [ebp - 0xd18]
call fcn.00408900
mov dword [ebp - 0x131c], eax
mov edx, dword [ebp - 0xcc4]
push edx
lea ecx, [ebp - 0xd18]
call fcn.00408900
mov dword [ebp - 0x1320], eax
mov eax, dword [ebp - 0x894]
push eax
mov ecx, dword [ebp - 0x1318]
add ecx, 0x208
push ecx
mov edx, dword [ebp - 0x131c]
mov eax, dword [edx + 0x41c]
push eax
mov ecx, dword [edx + 0x418]
push ecx
mov edx, dword [ebp - 0x1320]
mov eax, dword [edx + 0x424]
push eax
mov ecx, dword [edx + 0x420]
push ecx
mov edx, dword [ebp - 0x14]
push edx
push str.ReadDataStruct____ExtractPieceOfFile__d____I64u___I64u___s____d
call fcn.00456a00
add esp, 0x20
mov eax, dword [ebp - 0xcc4]
add eax, 1
mov dword [ebp - 0xcc4], eax
jmp 0x407c95
cmp dword [ebp - 0x894], 0
jne 0x407e63
cmp dword [0x4e7810], 0
je 0x407e80
mov ecx, dword [ebp - 0x894]
mov dword [ebp - 0x10b0], ecx
push 0x4c6b94
lea edx, [ebp - 0x10b0]
push edx
call fcn.00467f72
push 0x3e8
mov ecx, 0x4cf9c0
call fcn.00412830
mov dword [0x4cfa31], 0
mov dword [0x4cfa35], 0
mov dword [ebp - 0xd2c], 0
lea ecx, [ebp - 0xd00]
call fcn.00408960
mov dword [ebp - 0x1324], eax
cmp dword [ebp - 0x1324], 0
jbe 0x4082e4
cmp dword [0x4cf9c8], 0
je 0x408066
mov eax, dword [ebp - 0xcb8]
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x132c], eax
mov dword [ebp - 0x1328], ecx
mov edx, dword [ebp - 0x1328]
mov dword [ebp - 0x1330], edx
and dword [ebp - 0x1328], 0x7fffffff
fild qword [ebp - 0x132c]
and dword [ebp - 0x1330], 0x80000000
mov dword [ebp - 0x1334], 0
fild qword [ebp - 0x1334]
fchs
faddp st(1)
mov eax, dword [ebp - 0xd38]
mov ecx, dword [ebp - 0xd34]
mov dword [ebp - 0x133c], eax
mov dword [ebp - 0x1338], ecx
mov edx, dword [ebp - 0x1338]
mov dword [ebp - 0x1340], edx
and dword [ebp - 0x1338], 0x7fffffff
fild qword [ebp - 0x133c]
and dword [ebp - 0x1340], 0x80000000
mov dword [ebp - 0x1344], 0
fild qword [ebp - 0x1344]
fchs
faddp st(1)
fdivrp st(1)
fmul qword [0x4ad060]
fnstcw word [ebp - 0x1346]
movzx eax, word [ebp - 0x1346]
or eax, 0xc00
mov dword [ebp - 0x134c], eax
fldcw word [ebp - 0x134c]
fistp qword [ebp - 0x1354]
fldcw word [ebp - 0x1346]
mov eax, dword [ebp - 0x1354]
add eax, dword [0x4cf9f1]
mov dword [ebp - 0xd2c], eax
mov ecx, dword [ebp - 0xd34]
push ecx
mov edx, dword [ebp - 0xd38]
push edx
push 0x64
push 0
mov ecx, 0x4cf9c0
call fcn.00412300
mov ecx, 0x4cf9c0
call fcn.00412880
mov eax, dword [ebp - 0xd2c]
push eax
mov ecx, dword [0x4cf9f1]
push ecx
mov ecx, 0x4cf9c0
call fcn.004123a0
mov edx, dword [0x4da190]
push edx
mov ecx, 0x4e7830
call fcn.004087b0
mov dword [ebp - 0x1358], eax
mov eax, dword [ebp - 0x1358]
mov ecx, dword [eax + 0x410]
push ecx
push 0x100
lea edx, [ebp - 0x228]
push edx
push 0x91
mov eax, dword [0x4d1ddc]
push eax
call fcn.00449970
add esp, 0x14
mov dword [ebp - 0x135c], eax
cmp dword [ebp - 0x135c], 0
je 0x408061
lea ecx, [ebp - 0x228]
push ecx
mov ecx, 0x4cf9c0
call fcn.00412cb0
jmp 0x408173
mov edx, dword [ebp - 0xcb8]
mov eax, dword [ebp - 0xcb4]
mov dword [ebp - 0x1364], edx
mov dword [ebp - 0x1360], eax
mov ecx, dword [ebp - 0x1360]
mov dword [ebp - 0x1368], ecx
and dword [ebp - 0x1360], 0x7fffffff
fild qword [ebp - 0x1364]
and dword [ebp - 0x1368], 0x80000000
mov dword [ebp - 0x136c], 0
fild qword [ebp - 0x136c]
fchs
faddp st(1)
mov edx, dword [ebp - 0xd38]
mov eax, dword [ebp - 0xd34]
mov dword [ebp - 0x1374], edx
mov dword [ebp - 0x1370], eax
mov ecx, dword [ebp - 0x1370]
mov dword [ebp - 0x1378], ecx
and dword [ebp - 0x1370], 0x7fffffff
fild qword [ebp - 0x1374]
and dword [ebp - 0x1378], 0x80000000
mov dword [ebp - 0x137c], 0
fild qword [ebp - 0x137c]
fchs
faddp st(1)
fdivrp st(1)
fmul qword [0x4ad060]
fnstcw word [ebp - 0x137e]
movzx eax, word [ebp - 0x137e]
or eax, 0xc00
mov dword [ebp - 0x1384], eax
fldcw word [ebp - 0x1384]
fistp qword [ebp - 0x138c]
fldcw word [ebp - 0x137e]
mov edx, dword [ebp - 0x138c]
add edx, dword [0x4cf9e9]
mov dword [ebp - 0xd2c], edx
mov eax, dword [ebp - 0xd34]
push eax
mov ecx, dword [ebp - 0xd38]
push ecx
mov edx, dword [ebp - 0xd2c]
push edx
mov eax, dword [0x4cf9e9]
push eax
mov ecx, 0x4cf9c0
call fcn.00412300
mov ecx, dword [ebp - 0xd2c]
push ecx
push str.ReadDataStruct____Status4_u
call fcn.00456a00
add esp, 8
lea ecx, [ebp - 0xd00]
call fcn.00408960
mov dword [ebp - 0x1390], eax
mov edx, dword [ebp - 0x1390]
mov dword [ebp - 0xcc4], edx
cmp dword [ebp - 0xcc4], 0
jbe 0x4082a6
cmp dword [0x4e7810], 0
jne 0x4082a6
cmp dword [ebp - 0x894], 0
jne 0x4082a6
mov eax, dword [ebp - 0xcc4]
sub eax, 1
push eax
lea ecx, [ebp - 0xd00]
call fcn.00408900
mov dword [ebp - 0x1394], eax
mov ecx, dword [ebp - 0xcc4]
sub ecx, 1
push ecx
lea ecx, [ebp - 0xd00]
call fcn.00408900
mov dword [ebp - 0x1398], eax
mov edx, dword [0x4d4da0]
push edx
mov eax, dword [ebp - 0x1394]
add eax, 0x208
push eax
mov ecx, dword [ebp - 0x1398]
push ecx
call fcn.00454a20
add esp, 0xc
mov dword [ebp - 0x139c], eax
mov edx, dword [ebp - 0x139c]
mov dword [ebp - 0x894], edx
mov eax, dword [ebp - 0xcc4]
sub eax, 1
push eax
lea ecx, [ebp - 0xd00]
call fcn.00408900
mov dword [ebp - 0x13a0], eax
mov ecx, dword [ebp - 0xcc4]
sub ecx, 1
push ecx
lea ecx, [ebp - 0xd00]
call fcn.00408900
mov dword [ebp - 0x13a4], eax
mov edx, dword [ebp - 0x894]
push edx
mov eax, dword [ebp - 0x13a0]
add eax, 0x208
push eax
mov ecx, dword [ebp - 0x13a4]
push ecx
push str.ReadDataStruct____UnCompressFile__s____s____d
call fcn.00456a00
add esp, 0x10
mov edx, dword [ebp - 0xcc4]
sub edx, 1
mov dword [ebp - 0xcc4], edx
jmp 0x4081a4
cmp dword [ebp - 0x894], 0
jne 0x4082b8
cmp dword [0x4e7810], 0
je 0x4082d5
mov eax, dword [ebp - 0x894]
mov dword [ebp - 0x10b4], eax
push 0x4c6b94
lea ecx, [ebp - 0x10b4]
push ecx
call fcn.00467f72
push 0x3e8
mov ecx, 0x4cf9c0
call fcn.00412830
lea ecx, [ebp - 0xd00]
call fcn.00408960
mov dword [ebp - 0x13a8], eax
cmp dword [ebp - 0x13a8], 0
jbe 0x4084aa
cmp dword [0x4cf9c8], 0
je 0x4083ba
lea ecx, [ebp - 0xd00]
call fcn.00408960
mov dword [ebp - 0x13ac], eax
mov edx, dword [ebp - 0x13ac]
xor eax, eax
push eax
push edx
push 0x64
push 0
mov ecx, 0x4cf9c0
call fcn.00412300
mov ecx, 0x4cf9c0
call fcn.00412880
push 0x64
mov ecx, dword [0x4cf9f1]
push ecx
mov ecx, 0x4cf9c0
call fcn.004123a0
mov edx, dword [0x4da190]
push edx
mov ecx, 0x4e7830
call fcn.004087b0
mov dword [ebp - 0x13b0], eax
mov eax, dword [ebp - 0x13b0]
mov ecx, dword [eax + 0x410]
push ecx
push 0x100
lea edx, [ebp - 0x228]
push edx
push 0x94
mov eax, dword [0x4d1ddc]
push eax
call fcn.00449970
add esp, 0x14
mov dword [ebp - 0x13b4], eax
cmp dword [ebp - 0x13b4], 0
je 0x4083b8
lea ecx, [ebp - 0x228]
push ecx
mov ecx, 0x4cf9c0
call fcn.00412cb0
jmp 0x4083e8
lea ecx, [ebp - 0xd00]
call fcn.00408960
mov dword [ebp - 0x13b8], eax
mov edx, dword [ebp - 0x13b8]
xor eax, eax
push eax
push edx
push 0x64
mov ecx, dword [0x4cf9e9]
push ecx
mov ecx, 0x4cf9c0
call fcn.00412300
mov dword [ebp - 0xcc4], 0
lea ecx, [ebp - 0xd00]
call fcn.00408960
mov dword [ebp - 0x13bc], eax
mov edx, dword [ebp - 0xcc4]
cmp edx, dword [ebp - 0x13bc]
jae 0x40849b
cmp dword [0x4e7810], 0
jne 0x40849b
cmp dword [ebp - 0x894], 0
jne 0x40849b
mov eax, dword [ebp - 0xcc4]
push eax
lea ecx, [ebp - 0xd00]
call fcn.00408900
mov dword [ebp - 0x13c0], eax
mov ecx, dword [ebp - 0x13c0]
cmp dword [ecx + 0x428], 0
je 0x408473
mov edx, dword [ebp - 0xcc4]
push edx
lea ecx, [ebp - 0xd00]
call fcn.00408900
mov dword [ebp - 0x13c4], eax
mov eax, dword [ebp - 0x13c4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 0xcc4]
xor edx, edx
push edx
push ecx
mov ecx, 0x4cf9c0
call fcn.004126f0
mov eax, dword [ebp - 0xcc4]
add eax, 1
mov dword [ebp - 0xcc4], eax
jmp 0x4083f2
push 0x3e8
mov ecx, 0x4cf9c0
call fcn.00412830
mov byte [ebp - 4], 4
lea ecx, [ebp - 0xd00]
call fcn.004087f0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0xd18]
call fcn.004087f0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xd50]
call fcn.004087f0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0xd68]
call fcn.004087f0
jmp 0x408515
mov dword [ebp - 4], 0
cmp dword [ebp - 0x14], 0
je 0x40852c
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [0x4e7810], 0
je 0x40853f
mov dword [ebp - 0x894], 0x4c7
mov edx, dword [ebp - 0x894]
push edx
push str.ReadDataStruct____End__d_
call fcn.00456a00
add esp, 8
mov eax, dword [ebp - 0x894]
mov dword [ebp - 0x10b8], eax
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x1c]
call fcn.004087f0
mov eax, dword [ebp - 0x10b8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x24]
xor ecx, ebp
call fcn.004677af
mov esp, ebp
pop ebp
ret