Function at 0x441200
Capabilities:
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53a24e
mov eax, dword fs:[0]
push eax
push ecx
sub esp, 0xe44
mov eax, dword [0x5be1ec]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x704], ecx
mov dword [ebp - 0x718], 0
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax + 0x1c]
add ecx, 1
mov edx, dword [ebp - 0x704]
mov dword [edx + 0x1c], ecx
mov eax, dword [ebp - 0x704]
cmp dword [eax + 0x20], 0
je 0x441317
push str.UnzipPatchBegin
lea ecx, [ebp - 0x870]
call fcn.00406fc0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x870]
push ecx
mov edx, dword [ebp - 0x704]
mov ecx, dword [edx + 0x20]
call fcn.0040c950
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x870]
call fcn.00406e80
mov ecx, dword [ebp - 0x704]
add ecx, 0x24
call fcn.00410f50
movzx eax, al
test eax, eax
je 0x441309
push str.unzipCount
lea ecx, [ebp - 0x828]
call fcn.00406fc0
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x704]
add ecx, 0x1c
push ecx
lea edx, [ebp - 0x828]
push edx
mov ecx, dword [ebp - 0x704]
add ecx, 0x24
call fcn.00410a70
mov ecx, eax
call fcn.00430070
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x828]
call fcn.00406e80
mov eax, dword [ebp - 0x704]
mov ecx, dword [eax + 0x20]
call fcn.004233c0
mov ecx, dword [ebp + 0xc]
call fcn.00441030
movzx ecx, al
test ecx, ecx
je 0x4414a9
mov edx, 1
test edx, edx
je 0x441485
mov ecx, dword [ebp + 0xc]
call fcn.00441010
push eax
lea ecx, [ebp - 0x4c]
call fcn.00407040
mov dword [ebp - 4], 2
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0x990]
push ecx
call fcn.0044ddc0
add esp, 8
mov dword [ebp - 0x728], eax
mov edx, dword [ebp - 0x728]
push edx
lea ecx, [ebp - 0x4c]
call fcn.00406ec0
lea ecx, [ebp - 0x990]
call fcn.00406e80
lea eax, [ebp - 0x4c]
push eax
call fcn.004f3070
add esp, 4
movzx ecx, al
test ecx, ecx
jne 0x4413e1
push 0x5a47dc
lea ecx, [ebp - 0x840]
call fcn.00406fc0
mov byte [ebp - 4], 3
push 0
lea edx, [ebp - 0x4c]
push edx
lea eax, [ebp - 0x840]
push eax
lea ecx, [ebp - 0x9ec]
call fcn.004f3240
push 0x5bc690
lea ecx, [ebp - 0x9ec]
push ecx
call fcn.004ae11e
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x840]
call fcn.00406e80
push 0x70
lea ecx, [ebp - 0x268]
call fcn.0040a660
mov edx, dword [ebp - 0x704]
add edx, 4
push edx
lea ecx, [ebp - 0xab4]
call fcn.004e4a70
mov byte [ebp - 4], 4
lea eax, [ebp - 0x4c]
push eax
lea ecx, [ebp - 0xab4]
push ecx
lea ecx, [ebp - 0x268]
call fcn.004e48f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xab4]
call fcn.004e4cd0
lea ecx, [ebp - 0x268]
call fcn.004e56a0
lea edx, [ebp - 0x268]
push edx
lea ecx, [ebp - 0x1f8]
call fcn.004dcce0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x1f8]
call fcn.004dd9f0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1f8]
call fcn.004dcf90
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x268]
call fcn.004e4cd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.00406e80
mov ecx, dword [ebp + 0xc]
call fcn.00440f90
cmp eax, 8
jne 0x4414a2
push 0
push 2
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp + 8]
call fcn.0042b170
mov al, 1
jmp 0x4420e7
mov dword [ebp - 4], 8
mov ecx, dword [ebp + 0xc]
call fcn.00441010
mov dword [ebp - 0x72c], eax
mov ecx, dword [ebp - 0x72c]
push ecx
lea ecx, [ebp - 0x30]
call fcn.00407040
mov dword [ebp - 0x7f0], eax
mov byte [ebp - 4], 9
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x918]
push eax
call fcn.0044ddc0
add esp, 8
mov dword [ebp - 0x730], eax
mov ecx, dword [ebp - 0x730]
push ecx
lea ecx, [ebp - 0x30]
call fcn.00406ec0
lea ecx, [ebp - 0x918]
call fcn.00406e80
lea edx, [ebp - 0x30]
push edx
call fcn.004f3070
add esp, 4
mov byte [ebp - 0x705], al
movzx eax, byte [ebp - 0x705]
test eax, eax
jne 0x441579
push str.Illegal_entry_name
lea ecx, [ebp - 0x858]
call fcn.00406fc0
mov dword [ebp - 0x7f4], eax
mov byte [ebp - 4], 0xa
push 0
lea ecx, [ebp - 0x30]
push ecx
lea edx, [ebp - 0x858]
push edx
lea ecx, [ebp - 0xa18]
call fcn.004f3240
push 0x5bc690
lea eax, [ebp - 0xa18]
push eax
call fcn.004ae11e
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x858]
call fcn.00406e80
mov ecx, dword [ebp + 0xc]
call fcn.00440fb0
mov byte [ebp - 0x706], al
movzx ecx, byte [ebp - 0x706]
test ecx, ecx
jne 0x441609
mov ecx, dword [ebp + 0xc]
call fcn.00440f90
mov dword [ebp - 0x734], eax
mov edx, dword [ebp - 0x734]
push edx
push str.Unsupported_compression_method___d_
lea eax, [ebp - 0x930]
push eax
call fcn.00443fd0
add esp, 0xc
mov dword [ebp - 0x738], eax
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x73c], ecx
mov byte [ebp - 4], 0xb
push 0
lea edx, [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x73c]
push eax
lea ecx, [ebp - 0xa44]
call fcn.004f3240
push 0x5bc690
lea ecx, [ebp - 0xa44]
push ecx
call fcn.004ae11e
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x930]
call fcn.00406e80
push 0x70
lea ecx, [ebp - 0x190]
call fcn.0040a660
lea edx, [ebp - 0x30]
push edx
lea ecx, [ebp - 0x190]
call fcn.004e4a70
mov dword [ebp - 0x7f8], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x190]
call fcn.004e56e0
push 0x70
lea ecx, [ebp - 0x108]
call fcn.0040a660
mov eax, dword [ebp - 0x704]
add eax, 4
push eax
lea ecx, [ebp - 0xb24]
call fcn.004e4a70
mov dword [ebp - 0x7fc], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x190]
push ecx
lea edx, [ebp - 0xb24]
push edx
lea ecx, [ebp - 0x108]
call fcn.004e4680
mov dword [ebp - 0x800], eax
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xb24]
call fcn.004e4cd0
lea ecx, [ebp - 0x108]
call fcn.004e56e0
lea ecx, [ebp - 0x108]
call fcn.00440f50
mov dword [ebp - 0x740], eax
cmp dword [ebp - 0x740], 0
jle 0x441722
lea eax, [ebp - 0xb94]
push eax
lea ecx, [ebp - 0x108]
call fcn.004e5830
mov dword [ebp - 0x744], eax
mov ecx, dword [ebp - 0x744]
mov dword [ebp - 0x748], ecx
mov byte [ebp - 4], 0x10
mov edx, dword [ebp - 0x748]
push edx
lea ecx, [ebp - 0x1c4]
call fcn.004dcce0
mov dword [ebp - 0x804], eax
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0xb94]
call fcn.004e4cd0
lea ecx, [ebp - 0x1c4]
call fcn.004dd9f0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x1c4]
call fcn.004dcf90
push 4
lea ecx, [ebp - 0x18]
call fcn.0040a660
push 0x34
call fcn.00495208
add esp, 4
mov dword [ebp - 0x74c], eax
mov eax, dword [ebp - 0x74c]
mov dword [ebp - 0x758], eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x960]
push ecx
lea ecx, [ebp - 0x108]
call fcn.004e6830
mov dword [ebp - 0x750], eax
mov edx, dword [ebp - 0x750]
mov dword [ebp - 0x754], edx
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x718]
or eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x754]
push ecx
mov ecx, dword [ebp - 0x758]
call fcn.004dccb0
mov dword [ebp - 0x75c], eax
mov edx, dword [ebp - 0x75c]
mov dword [ebp - 0x71c], edx
jmp 0x4417b3
mov eax, dword [ebp - 0x71c]
mov dword [ebp - 0x760], eax
mov dword [ebp - 4], 0x15
mov ecx, dword [ebp - 0x760]
push ecx
lea ecx, [ebp - 0x18]
call fcn.00442670
mov dword [ebp - 4], 0x17
mov edx, dword [ebp - 0x718]
and edx, 1
je 0x4417f9
and dword [ebp - 0x718], 0xfffffffe
lea ecx, [ebp - 0x960]
call fcn.00406e80
lea ecx, [ebp - 0x18]
call fcn.004425f0
mov ecx, eax
call fcn.004ddc60
mov byte [ebp - 0x707], al
movzx eax, byte [ebp - 0x707]
test eax, eax
je 0x4418cd
lea ecx, [ebp - 0x18]
call fcn.004425f0
mov ecx, eax
call fcn.004dd370
mov byte [ebp - 0x708], al
movzx ecx, byte [ebp - 0x708]
test ecx, ecx
jne 0x4418cd
lea edx, [ebp - 0x978]
push edx
lea ecx, [ebp - 0x108]
call fcn.004e6830
mov dword [ebp - 0x764], eax
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x768], eax
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x768]
push ecx
lea edx, [ebp - 0x98]
push edx
call fcn.0044deb0
add esp, 8
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x978]
call fcn.00406e80
lea ecx, [ebp - 0x98]
call fcn.00442c00
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [ebp - 0x76c], eax
mov eax, dword [ebp - 0x76c]
and eax, 0xfffffffe
push eax
lea ecx, [ebp - 0x98]
call fcn.00442c00
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea ecx, [ebp - 0x98]
call fcn.00442c40
lea ecx, [ebp - 0x18]
call fcn.004425f0
mov ecx, eax
call fcn.004ddc60
mov byte [ebp - 0x709], al
movzx ecx, byte [ebp - 0x709]
test ecx, ecx
je 0x441981
lea ecx, [ebp - 0x18]
call fcn.004425f0
mov ecx, eax
call fcn.004dd370
mov byte [ebp - 0x70a], al
movzx edx, byte [ebp - 0x70a]
test edx, edx
jne 0x441981
push str.The_file_can_not_write__
push 0x5c3be8
call fcn.00408cf0
add esp, 8
mov dword [ebp - 0x770], eax
push fcn.00409200
mov ecx, dword [ebp - 0x770]
call fcn.00407070
mov byte [ebp - 0x70b], 0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x18]
call fcn.00442640
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x108]
call fcn.004e4cd0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x190]
call fcn.004e4cd0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x30]
call fcn.00406e80
mov al, byte [ebp - 0x70b]
jmp 0x4420e7
push 0xe0
lea ecx, [ebp - 0x348]
call fcn.0040a660
lea eax, [ebp - 0x948]
push eax
lea ecx, [ebp - 0x108]
call fcn.004e6830
mov dword [ebp - 0x774], eax
mov ecx, dword [ebp - 0x774]
mov dword [ebp - 0x778], ecx
mov byte [ebp - 4], 0x19
push 1
push 0x12
mov edx, dword [ebp - 0x778]
push edx
lea ecx, [ebp - 0x348]
call fcn.004e75e0
mov dword [ebp - 0x808], eax
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x948]
call fcn.00406e80
push 0xf8
lea ecx, [ebp - 0x440]
call fcn.0040a660
push 1
push 0
mov eax, dword [ebp + 0xc]
push eax
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x440]
call fcn.004f3430
mov dword [ebp - 0x80c], eax
mov byte [ebp - 4], 0x1c
lea edx, [ebp - 0x348]
test edx, edx
je 0x441a32
lea eax, [ebp - 0x348]
add eax, 0x88
mov dword [ebp - 0x720], eax
jmp 0x441a3c
mov dword [ebp - 0x720], 0
lea ecx, [ebp - 0x440]
test ecx, ecx
je 0x441a5a
lea edx, [ebp - 0x440]
add edx, 0x98
mov dword [ebp - 0x724], edx
jmp 0x441a64
mov dword [ebp - 0x724], 0
push 0x2000
mov eax, dword [ebp - 0x720]
push eax
mov ecx, dword [ebp - 0x724]
push ecx
call fcn.004e4220
add esp, 0xc
lea ecx, [ebp - 0x348]
call fcn.004e7a60
lea edx, [ebp - 0x9a8]
push edx
lea ecx, [ebp - 0x108]
call fcn.004e6830
mov dword [ebp - 0x77c], eax
mov eax, dword [ebp - 0x77c]
mov dword [ebp - 0x780], eax
mov byte [ebp - 4], 0x1d
mov ecx, dword [ebp - 0x780]
push ecx
lea ecx, [ebp - 0x80]
call fcn.004dccb0
mov dword [ebp - 0x810], eax
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x9a8]
call fcn.00406e80
lea ecx, [ebp - 0x80]
call fcn.004ddc60
mov byte [ebp - 0x70c], al
movzx edx, byte [ebp - 0x70c]
test edx, edx
je 0x441b0c
lea ecx, [ebp - 0x80]
call fcn.004de610
mov byte [ebp - 0x70d], al
movzx eax, byte [ebp - 0x70d]
test eax, eax
jne 0x441c51
lea ecx, [ebp - 0x888]
push ecx
lea ecx, [ebp - 0x108]
call fcn.004e6830
mov dword [ebp - 0x784], eax
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x7c0], edx
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0x7c0]
push eax
push str.Failed_to_create_output_stream
lea ecx, [ebp - 0x9c0]
push ecx
call fcn.00415e90
add esp, 0xc
mov dword [ebp - 0x7bc], eax
mov edx, dword [ebp - 0x7bc]
mov dword [ebp - 0x7b8], edx
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x7b8]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
lea edx, [ebp - 0xc44]
push edx
call fcn.004440d0
add esp, 0xc
mov dword [ebp - 0x7b4], eax
mov eax, dword [ebp - 0x7b4]
mov dword [ebp - 0x7b0], eax
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x7b0]
push ecx
lea ecx, [ebp - 0x650]
call fcn.00444110
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0xc44]
call fcn.00442170
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x9c0]
call fcn.00406e80
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x888]
call fcn.00406e80
mov byte [ebp - 0x70e], 0
lea ecx, [ebp - 0x650]
call fcn.00442170
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x80]
call fcn.004dcf90
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x440]
call fcn.00442140
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x348]
call fcn.00442110
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x18]
call fcn.00442640
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x108]
call fcn.004e4cd0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x190]
call fcn.004e4cd0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x30]
call fcn.00406e80
mov al, byte [ebp - 0x70e]
jmp 0x4420e7
lea ecx, [ebp - 0x440]
call fcn.004f4030
mov byte [ebp - 0x70f], al
movzx edx, byte [ebp - 0x70f]
test edx, edx
jne 0x441cdf
mov byte [ebp - 0x710], 0
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x80]
call fcn.004dcf90
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x440]
call fcn.00442140
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x348]
call fcn.00442110
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x18]
call fcn.00442640
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x108]
call fcn.004e4cd0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x190]
call fcn.004e4cd0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x30]
call fcn.00406e80
mov al, byte [ebp - 0x710]
jmp 0x4420e7
lea ecx, [ebp - 0x80]
call fcn.004ddda0
mov dword [ebp - 0x7c8], eax
mov dword [ebp - 0x7c4], edx
mov ecx, dword [ebp + 0xc]
call fcn.00440ff0
mov dword [ebp - 0x7d0], eax
mov dword [ebp - 0x7cc], edx
mov eax, dword [ebp - 0x7c8]
cmp eax, dword [ebp - 0x7d0]
jne 0x441d27
mov ecx, dword [ebp - 0x7c4]
cmp ecx, dword [ebp - 0x7cc]
je 0x441e93
mov ecx, dword [ebp + 0xc]
call fcn.004f4d70
mov byte [ebp - 0x711], al
movzx edx, byte [ebp - 0x711]
test edx, edx
jne 0x441e93
push 0
lea ecx, [ebp - 0x80]
call fcn.004de950
lea eax, [ebp - 0x8b8]
push eax
lea ecx, [ebp - 0x108]
call fcn.004e6830
mov dword [ebp - 0x7ac], eax
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7a8], ecx
mov byte [ebp - 4], 0x23
mov edx, dword [ebp - 0x7a8]
push edx
push str.Filesizes_do_not_match._Corrupt_file:
lea eax, [ebp - 0x8a0]
push eax
call fcn.00415e90
add esp, 0xc
mov dword [ebp - 0x7a0], eax
mov ecx, dword [ebp - 0x7a0]
mov dword [ebp - 0x7ec], ecx
mov byte [ebp - 4], 0x24
mov edx, dword [ebp - 0x7ec]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0xcf4]
push ecx
call fcn.004440d0
add esp, 0xc
mov dword [ebp - 0x7e8], eax
mov edx, dword [ebp - 0x7e8]
mov dword [ebp - 0x7e4], edx
mov byte [ebp - 4], 0x25
mov eax, dword [ebp - 0x7e4]
push eax
lea ecx, [ebp - 0x5a0]
call fcn.00444110
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0xcf4]
call fcn.00442170
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x8a0]
call fcn.00406e80
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x8b8]
call fcn.00406e80
mov byte [ebp - 0x712], 0
lea ecx, [ebp - 0x5a0]
call fcn.00442170
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x80]
call fcn.004dcf90
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x440]
call fcn.00442140
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x348]
call fcn.00442110
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x18]
call fcn.00442640
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x108]
call fcn.004e4cd0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x190]
call fcn.004e4cd0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x30]
call fcn.00406e80
mov al, byte [ebp - 0x712]
jmp 0x4420e7
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x80]
call fcn.004dcf90
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x440]
call fcn.00442140
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x348]
call fcn.00442110
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x18]
call fcn.00442640
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x108]
call fcn.004e4cd0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x190]
call fcn.004e4cd0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x30]
call fcn.00406e80
jmp 0x4420bc
mov dword [ebp - 4], 0xffffffff
jmp 0x4420d4
jmp 0x4420e5
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004951c6
mov esp, ebp
pop ebp
ret 8