; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.24215.1 

include listing.inc

INCLUDELIB OLDNAMES

EXTRN	__imp_CloseHandle:PROC
EXTRN	__imp_CreateFileA:PROC
EXTRN	__imp_GetLastError:PROC
EXTRN	__imp_CreateFileW:PROC
EXTRN	__imp_SetFilePointer:PROC
EXTRN	__imp_WriteFile:PROC
EXTRN	__imp_ReadFile:PROC
PUBLIC	fill_win32_filefunc64W
PUBLIC	fill_win32_filefunc64A
PUBLIC	fill_win32_filefunc64
PUBLIC	fill_win32_filefunc
PUBLIC	win32_error_file_func
PUBLIC	win32_close_file_func
PUBLIC	win32_seek64_file_func
PUBLIC	win32_seek_file_func
PUBLIC	win32_tell64_file_func
PUBLIC	win32_tell_file_func
PUBLIC	win32_write_file_func
PUBLIC	win32_read_file_func
PUBLIC	win32_open_file_func
PUBLIC	win32_open64_file_funcW
PUBLIC	win32_open64_file_funcA
PUBLIC	win32_open64_file_func
;	COMDAT pdata
pdata	SEGMENT
$pdata$win32_close_file_func DD imagerel $LN7
	DD	imagerel $LN7+59
	DD	imagerel $unwind$win32_close_file_func
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$win32_seek64_file_func DD imagerel $LN14
	DD	imagerel $LN14+122
	DD	imagerel $unwind$win32_seek64_file_func
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$win32_seek_file_func DD imagerel $LN14
	DD	imagerel $LN14+119
	DD	imagerel $unwind$win32_seek_file_func
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$win32_tell64_file_func DD imagerel $LN10
	DD	imagerel $LN10+83
	DD	imagerel $unwind$win32_tell64_file_func
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$win32_tell_file_func DD imagerel $LN10
	DD	imagerel $LN10+81
	DD	imagerel $unwind$win32_tell_file_func
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$MySetFilePointerEx DD imagerel MySetFilePointerEx
	DD	imagerel MySetFilePointerEx+101
	DD	imagerel $unwind$MySetFilePointerEx
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$win32_write_file_func DD imagerel $LN11
	DD	imagerel $LN11+107
	DD	imagerel $unwind$win32_write_file_func
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$win32_read_file_func DD imagerel $LN11
	DD	imagerel $LN11+107
	DD	imagerel $unwind$win32_read_file_func
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$win32_open_file_func DD imagerel $LN5
	DD	imagerel $LN5+114
	DD	imagerel $unwind$win32_open_file_func
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$win32_open64_file_funcW DD imagerel $LN5
	DD	imagerel $LN5+114
	DD	imagerel $unwind$win32_open64_file_funcW
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$win32_open64_file_funcA DD imagerel $LN5
	DD	imagerel $LN5+114
	DD	imagerel $unwind$win32_open64_file_funcA
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$win32_open64_file_func DD imagerel $LN5
	DD	imagerel $LN5+114
	DD	imagerel $unwind$win32_open64_file_func
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$win32_build_iowin DD imagerel win32_build_iowin
	DD	imagerel win32_build_iowin+29
	DD	imagerel $unwind$win32_build_iowin
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$0$win32_build_iowin DD imagerel win32_build_iowin+29
	DD	imagerel win32_build_iowin+79
	DD	imagerel $chain$0$win32_build_iowin
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$2$win32_build_iowin DD imagerel win32_build_iowin+79
	DD	imagerel win32_build_iowin+98
	DD	imagerel $chain$2$win32_build_iowin
pdata	ENDS
;	COMDAT pdata
pdata	SEGMENT
$pdata$3$win32_build_iowin DD imagerel win32_build_iowin+98
	DD	imagerel win32_build_iowin+106
	DD	imagerel $chain$3$win32_build_iowin
;	COMDAT xdata
xdata	SEGMENT
$chain$3$win32_build_iowin DD 021H
	DD	imagerel win32_build_iowin
	DD	imagerel win32_build_iowin+29
	DD	imagerel $unwind$win32_build_iowin
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$chain$2$win32_build_iowin DD 020021H
	DD	083400H
	DD	imagerel win32_build_iowin
	DD	imagerel win32_build_iowin+29
	DD	imagerel $unwind$win32_build_iowin
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$chain$0$win32_build_iowin DD 020521H
	DD	083405H
	DD	imagerel win32_build_iowin
	DD	imagerel win32_build_iowin+29
	DD	imagerel $unwind$win32_build_iowin
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$win32_build_iowin DD 020601H
	DD	070025206H
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$win32_open64_file_func DD 020601H
	DD	030029206H
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$win32_open64_file_funcA DD 020601H
	DD	030029206H
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$win32_open64_file_funcW DD 020601H
	DD	030029206H
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$win32_open_file_func DD 020601H
	DD	030029206H
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$win32_read_file_func DD 040a01H
	DD	08340aH
	DD	07006520aH
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$win32_write_file_func DD 040a01H
	DD	08340aH
	DD	07006520aH
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$MySetFilePointerEx DD 060f01H
	DD	07640fH
	DD	06340fH
	DD	0700b320fH
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$win32_tell_file_func DD 020601H
	DD	030023206H
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$win32_tell64_file_func DD 020601H
	DD	030023206H
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$win32_seek_file_func DD 040a01H
	DD	06340aH
	DD	07006320aH
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$win32_seek64_file_func DD 040a01H
	DD	06340aH
	DD	07006320aH
xdata	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$win32_close_file_func DD 040a01H
	DD	06340aH
	DD	07006320aH
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT win32_translate_open_mode
_TEXT	SEGMENT
mode$ = 8
lpdwDesiredAccess$ = 16
lpdwCreationDisposition$ = 24
lpdwShareMode$ = 32
lpdwFlagsAndAttributes$ = 40
win32_translate_open_mode PROC				; COMDAT

; 57   :     *lpdwDesiredAccess = *lpdwShareMode = *lpdwFlagsAndAttributes = *lpdwCreationDisposition = 0;

  00000	48 8b 44 24 28	 mov	 rax, QWORD PTR lpdwFlagsAndAttributes$[rsp]
  00005	45 33 d2	 xor	 r10d, r10d
  00008	45 89 10	 mov	 DWORD PTR [r8], r10d
  0000b	45 89 11	 mov	 DWORD PTR [r9], r10d
  0000e	44 89 12	 mov	 DWORD PTR [rdx], r10d
  00011	44 89 10	 mov	 DWORD PTR [rax], r10d

; 58   : 
; 59   :     if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)

  00014	8b c1		 mov	 eax, ecx
  00016	24 03		 and	 al, 3
  00018	3c 01		 cmp	 al, 1
  0001a	75 15		 jne	 SHORT $LN2@win32_tran

; 60   :     {
; 61   :         *lpdwDesiredAccess = GENERIC_READ;

  0001c	c7 02 00 00 00
	80		 mov	 DWORD PTR [rdx], -2147483648 ; 80000000H

; 62   :         *lpdwCreationDisposition = OPEN_EXISTING;

  00022	41 c7 00 03 00
	00 00		 mov	 DWORD PTR [r8], 3

; 63   :         *lpdwShareMode = FILE_SHARE_READ;

  00029	41 c7 01 01 00
	00 00		 mov	 DWORD PTR [r9], 1

; 74   :     }
; 75   : }

  00030	c3		 ret	 0
$LN2@win32_tran:

; 64   :     }
; 65   :     else if (mode & ZLIB_FILEFUNC_MODE_EXISTING)

  00031	f6 c1 04	 test	 cl, 4
  00034	74 0e		 je	 SHORT $LN4@win32_tran

; 66   :     {
; 67   :         *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ;
; 68   :         *lpdwCreationDisposition = OPEN_EXISTING;

  00036	41 c7 00 03 00
	00 00		 mov	 DWORD PTR [r8], 3

; 71   :     {
; 72   :         *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ;

  0003d	c7 02 00 00 00
	c0		 mov	 DWORD PTR [rdx], -1073741824 ; c0000000H

; 74   :     }
; 75   : }

  00043	c3		 ret	 0
$LN4@win32_tran:

; 69   :     }
; 70   :     else if (mode & ZLIB_FILEFUNC_MODE_CREATE)

  00044	f6 c1 08	 test	 cl, 8
  00047	74 0d		 je	 SHORT $LN6@win32_tran

; 73   :         *lpdwCreationDisposition = CREATE_ALWAYS;

  00049	41 c7 00 02 00
	00 00		 mov	 DWORD PTR [r8], 2
  00050	c7 02 00 00 00
	c0		 mov	 DWORD PTR [rdx], -1073741824 ; c0000000H
$LN6@win32_tran:

; 74   :     }
; 75   : }

  00056	c3		 ret	 0
win32_translate_open_mode ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT win32_build_iowin
_TEXT	SEGMENT
w32fiow$1 = 32
hFile$ = 64
win32_build_iowin PROC					; COMDAT

; 78   : {

  00000	40 57		 push	 rdi
  00002	48 83 ec 30	 sub	 rsp, 48			; 00000030H
  00006	48 8d 41 ff	 lea	 rax, QWORD PTR [rcx-1]
  0000a	48 8b f9	 mov	 rdi, rcx
  0000d	48 83 f8 fd	 cmp	 rax, -3
  00011	77 4f		 ja	 SHORT $LN7@win32_buil

; 79   :     voidpf ret=NULL;
; 80   : 
; 81   :     if ((hFile != NULL) && (hFile != INVALID_HANDLE_VALUE))
; 82   :     {
; 83   :         WIN32FILE_IOWIN w32fiow;
; 84   :         w32fiow.hf = hFile;

  00013	48 89 4c 24 20	 mov	 QWORD PTR w32fiow$1[rsp], rcx

; 85   :         w32fiow.error = 0;
; 86   :         ret = malloc(sizeof(WIN32FILE_IOWIN));

  00018	b9 10 00 00 00	 mov	 ecx, 16
  0001d	48 89 5c 24 40	 mov	 QWORD PTR [rsp+64], rbx
  00022	c7 44 24 28 00
	00 00 00	 mov	 DWORD PTR w32fiow$1[rsp+8], 0
  0002a	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_malloc
  00030	48 8b d8	 mov	 rbx, rax

; 87   : 
; 88   :         if (ret==NULL)

  00033	48 85 c0	 test	 rax, rax
  00036	75 17		 jne	 SHORT $LN3@win32_buil

; 89   :             CloseHandle(hFile);

  00038	48 8b cf	 mov	 rcx, rdi
  0003b	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_CloseHandle

; 92   :     }
; 93   :     return ret;

  00041	48 8b c3	 mov	 rax, rbx
  00044	48 8b 5c 24 40	 mov	 rbx, QWORD PTR [rsp+64]

; 94   : }

  00049	48 83 c4 30	 add	 rsp, 48			; 00000030H
  0004d	5f		 pop	 rdi
  0004e	c3		 ret	 0
$LN3@win32_buil:

; 90   :         else
; 91   :             *((WIN32FILE_IOWIN*)ret) = w32fiow;

  0004f	0f 10 44 24 20	 movups	 xmm0, XMMWORD PTR w32fiow$1[rsp]
  00054	48 8b 5c 24 40	 mov	 rbx, QWORD PTR [rsp+64]
  00059	0f 11 00	 movups	 XMMWORD PTR [rax], xmm0

; 94   : }

  0005c	48 83 c4 30	 add	 rsp, 48			; 00000030H
  00060	5f		 pop	 rdi
  00061	c3		 ret	 0
$LN7@win32_buil:

; 92   :     }
; 93   :     return ret;

  00062	33 c0		 xor	 eax, eax

; 94   : }

  00064	48 83 c4 30	 add	 rsp, 48			; 00000030H
  00068	5f		 pop	 rdi
  00069	c3		 ret	 0
win32_build_iowin ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT win32_open64_file_func
_TEXT	SEGMENT
dwCreationDisposition$ = 64
dwShareMode$ = 68
opaque$ = 96
dwDesiredAccess$ = 104
filename$ = 104
mode$ = 112
dwFlagsAndAttributes$ = 120
win32_open64_file_func PROC				; COMDAT

; 97   : {

$LN5:
  00000	40 53		 push	 rbx
  00002	48 83 ec 50	 sub	 rsp, 80			; 00000050H
  00006	41 8b c0	 mov	 eax, r8d

; 98   :     const char* mode_fopen = NULL;
; 99   :     DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
; 100  :     HANDLE hFile = NULL;
; 101  : 
; 102  :     win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);

  00009	48 8d 4c 24 78	 lea	 rcx, QWORD PTR dwFlagsAndAttributes$[rsp]
  0000e	48 89 4c 24 20	 mov	 QWORD PTR [rsp+32], rcx
  00013	4c 8d 4c 24 44	 lea	 r9, QWORD PTR dwShareMode$[rsp]
  00018	48 8b da	 mov	 rbx, rdx
  0001b	4c 8d 44 24 40	 lea	 r8, QWORD PTR dwCreationDisposition$[rsp]
  00020	8b c8		 mov	 ecx, eax
  00022	48 8d 54 24 68	 lea	 rdx, QWORD PTR dwDesiredAccess$[rsp]
  00027	45 33 db	 xor	 r11d, r11d
  0002a	e8 00 00 00 00	 call	 win32_translate_open_mode

; 103  : 
; 104  : #ifdef IOWIN32_USING_WINRT_API
; 105  : #ifdef UNICODE
; 106  :     if ((filename!=NULL) && (dwDesiredAccess != 0))
; 107  :         hFile = CreateFile2((LPCTSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
; 108  : #else
; 109  :     if ((filename!=NULL) && (dwDesiredAccess != 0))
; 110  :     {
; 111  :         WCHAR filenameW[FILENAME_MAX + 0x200 + 1];
; 112  :         MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
; 113  :         hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
; 114  :     }
; 115  : #endif
; 116  : #else
; 117  :     if ((filename!=NULL) && (dwDesiredAccess != 0))

  0002f	48 85 db	 test	 rbx, rbx
  00032	74 31		 je	 SHORT $LN2@win32_open
  00034	8b 54 24 68	 mov	 edx, DWORD PTR dwDesiredAccess$[rsp]
  00038	85 d2		 test	 edx, edx
  0003a	74 29		 je	 SHORT $LN2@win32_open

; 118  :         hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);

  0003c	8b 44 24 78	 mov	 eax, DWORD PTR dwFlagsAndAttributes$[rsp]
  00040	45 33 c9	 xor	 r9d, r9d
  00043	44 8b 44 24 44	 mov	 r8d, DWORD PTR dwShareMode$[rsp]
  00048	48 8b cb	 mov	 rcx, rbx
  0004b	4c 89 5c 24 30	 mov	 QWORD PTR [rsp+48], r11
  00050	89 44 24 28	 mov	 DWORD PTR [rsp+40], eax
  00054	8b 44 24 40	 mov	 eax, DWORD PTR dwCreationDisposition$[rsp]
  00058	89 44 24 20	 mov	 DWORD PTR [rsp+32], eax
  0005c	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_CreateFileA
  00062	4c 8b d8	 mov	 r11, rax
$LN2@win32_open:

; 119  : #endif
; 120  : 
; 121  :     return win32_build_iowin(hFile);

  00065	49 8b cb	 mov	 rcx, r11

; 122  : }

  00068	48 83 c4 50	 add	 rsp, 80			; 00000050H
  0006c	5b		 pop	 rbx

; 119  : #endif
; 120  : 
; 121  :     return win32_build_iowin(hFile);

  0006d	e9 00 00 00 00	 jmp	 win32_build_iowin
win32_open64_file_func ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT win32_open64_file_funcA
_TEXT	SEGMENT
dwCreationDisposition$ = 64
dwShareMode$ = 68
opaque$ = 96
dwDesiredAccess$ = 104
filename$ = 104
mode$ = 112
dwFlagsAndAttributes$ = 120
win32_open64_file_funcA PROC				; COMDAT

; 126  : {

$LN5:
  00000	40 53		 push	 rbx
  00002	48 83 ec 50	 sub	 rsp, 80			; 00000050H
  00006	41 8b c0	 mov	 eax, r8d

; 127  :     const char* mode_fopen = NULL;
; 128  :     DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
; 129  :     HANDLE hFile = NULL;
; 130  : 
; 131  :     win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);

  00009	48 8d 4c 24 78	 lea	 rcx, QWORD PTR dwFlagsAndAttributes$[rsp]
  0000e	48 89 4c 24 20	 mov	 QWORD PTR [rsp+32], rcx
  00013	4c 8d 4c 24 44	 lea	 r9, QWORD PTR dwShareMode$[rsp]
  00018	48 8b da	 mov	 rbx, rdx
  0001b	4c 8d 44 24 40	 lea	 r8, QWORD PTR dwCreationDisposition$[rsp]
  00020	8b c8		 mov	 ecx, eax
  00022	48 8d 54 24 68	 lea	 rdx, QWORD PTR dwDesiredAccess$[rsp]
  00027	45 33 db	 xor	 r11d, r11d
  0002a	e8 00 00 00 00	 call	 win32_translate_open_mode

; 132  : 
; 133  : #ifdef IOWIN32_USING_WINRT_API
; 134  :     if ((filename!=NULL) && (dwDesiredAccess != 0))
; 135  :     {
; 136  :         WCHAR filenameW[FILENAME_MAX + 0x200 + 1];
; 137  :         MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
; 138  :         hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
; 139  :     }
; 140  : #else
; 141  :     if ((filename!=NULL) && (dwDesiredAccess != 0))

  0002f	48 85 db	 test	 rbx, rbx
  00032	74 31		 je	 SHORT $LN2@win32_open
  00034	8b 54 24 68	 mov	 edx, DWORD PTR dwDesiredAccess$[rsp]
  00038	85 d2		 test	 edx, edx
  0003a	74 29		 je	 SHORT $LN2@win32_open

; 142  :         hFile = CreateFileA((LPCSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);

  0003c	8b 44 24 78	 mov	 eax, DWORD PTR dwFlagsAndAttributes$[rsp]
  00040	45 33 c9	 xor	 r9d, r9d
  00043	44 8b 44 24 44	 mov	 r8d, DWORD PTR dwShareMode$[rsp]
  00048	48 8b cb	 mov	 rcx, rbx
  0004b	4c 89 5c 24 30	 mov	 QWORD PTR [rsp+48], r11
  00050	89 44 24 28	 mov	 DWORD PTR [rsp+40], eax
  00054	8b 44 24 40	 mov	 eax, DWORD PTR dwCreationDisposition$[rsp]
  00058	89 44 24 20	 mov	 DWORD PTR [rsp+32], eax
  0005c	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_CreateFileA
  00062	4c 8b d8	 mov	 r11, rax
$LN2@win32_open:

; 143  : #endif
; 144  : 
; 145  :     return win32_build_iowin(hFile);

  00065	49 8b cb	 mov	 rcx, r11

; 146  : }

  00068	48 83 c4 50	 add	 rsp, 80			; 00000050H
  0006c	5b		 pop	 rbx

; 143  : #endif
; 144  : 
; 145  :     return win32_build_iowin(hFile);

  0006d	e9 00 00 00 00	 jmp	 win32_build_iowin
win32_open64_file_funcA ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT win32_open64_file_funcW
_TEXT	SEGMENT
dwCreationDisposition$ = 64
dwShareMode$ = 68
opaque$ = 96
dwDesiredAccess$ = 104
filename$ = 104
mode$ = 112
dwFlagsAndAttributes$ = 120
win32_open64_file_funcW PROC				; COMDAT

; 150  : {

$LN5:
  00000	40 53		 push	 rbx
  00002	48 83 ec 50	 sub	 rsp, 80			; 00000050H
  00006	41 8b c0	 mov	 eax, r8d

; 151  :     const char* mode_fopen = NULL;
; 152  :     DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
; 153  :     HANDLE hFile = NULL;
; 154  : 
; 155  :     win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);

  00009	48 8d 4c 24 78	 lea	 rcx, QWORD PTR dwFlagsAndAttributes$[rsp]
  0000e	48 89 4c 24 20	 mov	 QWORD PTR [rsp+32], rcx
  00013	4c 8d 4c 24 44	 lea	 r9, QWORD PTR dwShareMode$[rsp]
  00018	48 8b da	 mov	 rbx, rdx
  0001b	4c 8d 44 24 40	 lea	 r8, QWORD PTR dwCreationDisposition$[rsp]
  00020	8b c8		 mov	 ecx, eax
  00022	48 8d 54 24 68	 lea	 rdx, QWORD PTR dwDesiredAccess$[rsp]
  00027	45 33 db	 xor	 r11d, r11d
  0002a	e8 00 00 00 00	 call	 win32_translate_open_mode

; 156  : 
; 157  : #ifdef IOWIN32_USING_WINRT_API
; 158  :     if ((filename!=NULL) && (dwDesiredAccess != 0))
; 159  :         hFile = CreateFile2((LPCWSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition,NULL);
; 160  : #else
; 161  :     if ((filename!=NULL) && (dwDesiredAccess != 0))

  0002f	48 85 db	 test	 rbx, rbx
  00032	74 31		 je	 SHORT $LN2@win32_open
  00034	8b 54 24 68	 mov	 edx, DWORD PTR dwDesiredAccess$[rsp]
  00038	85 d2		 test	 edx, edx
  0003a	74 29		 je	 SHORT $LN2@win32_open

; 162  :         hFile = CreateFileW((LPCWSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);

  0003c	8b 44 24 78	 mov	 eax, DWORD PTR dwFlagsAndAttributes$[rsp]
  00040	45 33 c9	 xor	 r9d, r9d
  00043	44 8b 44 24 44	 mov	 r8d, DWORD PTR dwShareMode$[rsp]
  00048	48 8b cb	 mov	 rcx, rbx
  0004b	4c 89 5c 24 30	 mov	 QWORD PTR [rsp+48], r11
  00050	89 44 24 28	 mov	 DWORD PTR [rsp+40], eax
  00054	8b 44 24 40	 mov	 eax, DWORD PTR dwCreationDisposition$[rsp]
  00058	89 44 24 20	 mov	 DWORD PTR [rsp+32], eax
  0005c	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_CreateFileW
  00062	4c 8b d8	 mov	 r11, rax
$LN2@win32_open:

; 163  : #endif
; 164  : 
; 165  :     return win32_build_iowin(hFile);

  00065	49 8b cb	 mov	 rcx, r11

; 166  : }

  00068	48 83 c4 50	 add	 rsp, 80			; 00000050H
  0006c	5b		 pop	 rbx

; 163  : #endif
; 164  : 
; 165  :     return win32_build_iowin(hFile);

  0006d	e9 00 00 00 00	 jmp	 win32_build_iowin
win32_open64_file_funcW ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT win32_open_file_func
_TEXT	SEGMENT
dwCreationDisposition$ = 64
dwShareMode$ = 68
opaque$ = 96
dwDesiredAccess$ = 104
filename$ = 104
mode$ = 112
dwFlagsAndAttributes$ = 120
win32_open_file_func PROC				; COMDAT

; 170  : {

$LN5:
  00000	40 53		 push	 rbx
  00002	48 83 ec 50	 sub	 rsp, 80			; 00000050H
  00006	41 8b c0	 mov	 eax, r8d

; 171  :     const char* mode_fopen = NULL;
; 172  :     DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
; 173  :     HANDLE hFile = NULL;
; 174  : 
; 175  :     win32_translate_open_mode(mode,&dwDesiredAccess,&dwCreationDisposition,&dwShareMode,&dwFlagsAndAttributes);

  00009	48 8d 4c 24 78	 lea	 rcx, QWORD PTR dwFlagsAndAttributes$[rsp]
  0000e	48 89 4c 24 20	 mov	 QWORD PTR [rsp+32], rcx
  00013	4c 8d 4c 24 44	 lea	 r9, QWORD PTR dwShareMode$[rsp]
  00018	48 8b da	 mov	 rbx, rdx
  0001b	4c 8d 44 24 40	 lea	 r8, QWORD PTR dwCreationDisposition$[rsp]
  00020	8b c8		 mov	 ecx, eax
  00022	48 8d 54 24 68	 lea	 rdx, QWORD PTR dwDesiredAccess$[rsp]
  00027	45 33 db	 xor	 r11d, r11d
  0002a	e8 00 00 00 00	 call	 win32_translate_open_mode

; 176  : 
; 177  : #ifdef IOWIN32_USING_WINRT_API
; 178  : #ifdef UNICODE
; 179  :     if ((filename!=NULL) && (dwDesiredAccess != 0))
; 180  :         hFile = CreateFile2((LPCTSTR)filename, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
; 181  : #else
; 182  :     if ((filename!=NULL) && (dwDesiredAccess != 0))
; 183  :     {
; 184  :         WCHAR filenameW[FILENAME_MAX + 0x200 + 1];
; 185  :         MultiByteToWideChar(CP_ACP,0,(const char*)filename,-1,filenameW,FILENAME_MAX + 0x200);
; 186  :         hFile = CreateFile2(filenameW, dwDesiredAccess, dwShareMode, dwCreationDisposition, NULL);
; 187  :     }
; 188  : #endif
; 189  : #else
; 190  :     if ((filename!=NULL) && (dwDesiredAccess != 0))

  0002f	48 85 db	 test	 rbx, rbx
  00032	74 31		 je	 SHORT $LN2@win32_open
  00034	8b 54 24 68	 mov	 edx, DWORD PTR dwDesiredAccess$[rsp]
  00038	85 d2		 test	 edx, edx
  0003a	74 29		 je	 SHORT $LN2@win32_open

; 191  :         hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);

  0003c	8b 44 24 78	 mov	 eax, DWORD PTR dwFlagsAndAttributes$[rsp]
  00040	45 33 c9	 xor	 r9d, r9d
  00043	44 8b 44 24 44	 mov	 r8d, DWORD PTR dwShareMode$[rsp]
  00048	48 8b cb	 mov	 rcx, rbx
  0004b	4c 89 5c 24 30	 mov	 QWORD PTR [rsp+48], r11
  00050	89 44 24 28	 mov	 DWORD PTR [rsp+40], eax
  00054	8b 44 24 40	 mov	 eax, DWORD PTR dwCreationDisposition$[rsp]
  00058	89 44 24 20	 mov	 DWORD PTR [rsp+32], eax
  0005c	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_CreateFileA
  00062	4c 8b d8	 mov	 r11, rax
$LN2@win32_open:

; 192  : #endif
; 193  : 
; 194  :     return win32_build_iowin(hFile);

  00065	49 8b cb	 mov	 rcx, r11

; 195  : }

  00068	48 83 c4 50	 add	 rsp, 80			; 00000050H
  0006c	5b		 pop	 rbx

; 192  : #endif
; 193  : 
; 194  :     return win32_build_iowin(hFile);

  0006d	e9 00 00 00 00	 jmp	 win32_build_iowin
win32_open_file_func ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT win32_read_file_func
_TEXT	SEGMENT
opaque$ = 64
ret$ = 72
stream$ = 72
buf$ = 80
size$ = 88
win32_read_file_func PROC				; COMDAT

; 199  : {

$LN11:
  00000	48 89 5c 24 08	 mov	 QWORD PTR [rsp+8], rbx
  00005	57		 push	 rdi
  00006	48 83 ec 30	 sub	 rsp, 48			; 00000030H

; 200  :     uLong ret=0;

  0000a	33 ff		 xor	 edi, edi
  0000c	41 8b c1	 mov	 eax, r9d
  0000f	89 7c 24 48	 mov	 DWORD PTR ret$[rsp], edi
  00013	4d 8b d0	 mov	 r10, r8
  00016	48 8b da	 mov	 rbx, rdx

; 201  :     HANDLE hFile = NULL;
; 202  :     if (stream!=NULL)

  00019	48 85 d2	 test	 rdx, rdx
  0001c	74 40		 je	 SHORT $LN9@win32_read

; 203  :         hFile = ((WIN32FILE_IOWIN*)stream) -> hf;

  0001e	48 8b 0a	 mov	 rcx, QWORD PTR [rdx]

; 204  : 
; 205  :     if (hFile != NULL)

  00021	48 85 c9	 test	 rcx, rcx
  00024	74 38		 je	 SHORT $LN9@win32_read

; 206  :     {
; 207  :         if (!ReadFile(hFile, buf, size, &ret, NULL))

  00026	4c 8d 4c 24 48	 lea	 r9, QWORD PTR ret$[rsp]
  0002b	48 89 7c 24 20	 mov	 QWORD PTR [rsp+32], rdi
  00030	44 8b c0	 mov	 r8d, eax
  00033	49 8b d2	 mov	 rdx, r10
  00036	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_ReadFile
  0003c	85 c0		 test	 eax, eax
  0003e	75 0f		 jne	 SHORT $LN7@win32_read

; 208  :         {
; 209  :             DWORD dwErr = GetLastError();

  00040	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_GetLastError

; 210  :             if (dwErr == ERROR_HANDLE_EOF)

  00046	83 f8 26	 cmp	 eax, 38			; 00000026H
  00049	0f 44 c7	 cmove	 eax, edi

; 211  :                 dwErr = 0;
; 212  :             ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;

  0004c	89 43 08	 mov	 DWORD PTR [rbx+8], eax
$LN7@win32_read:

; 213  :         }
; 214  :     }
; 215  : 
; 216  :     return ret;

  0004f	8b 44 24 48	 mov	 eax, DWORD PTR ret$[rsp]

; 217  : }

  00053	48 8b 5c 24 40	 mov	 rbx, QWORD PTR [rsp+64]
  00058	48 83 c4 30	 add	 rsp, 48			; 00000030H
  0005c	5f		 pop	 rdi
  0005d	c3		 ret	 0
$LN9@win32_read:

; 213  :         }
; 214  :     }
; 215  : 
; 216  :     return ret;

  0005e	8b c7		 mov	 eax, edi

; 217  : }

  00060	48 8b 5c 24 40	 mov	 rbx, QWORD PTR [rsp+64]
  00065	48 83 c4 30	 add	 rsp, 48			; 00000030H
  00069	5f		 pop	 rdi
  0006a	c3		 ret	 0
win32_read_file_func ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT win32_write_file_func
_TEXT	SEGMENT
opaque$ = 64
ret$ = 72
stream$ = 72
buf$ = 80
size$ = 88
win32_write_file_func PROC				; COMDAT

; 221  : {

$LN11:
  00000	48 89 5c 24 08	 mov	 QWORD PTR [rsp+8], rbx
  00005	57		 push	 rdi
  00006	48 83 ec 30	 sub	 rsp, 48			; 00000030H

; 222  :     uLong ret=0;

  0000a	33 ff		 xor	 edi, edi
  0000c	41 8b c1	 mov	 eax, r9d
  0000f	89 7c 24 48	 mov	 DWORD PTR ret$[rsp], edi
  00013	4d 8b d0	 mov	 r10, r8
  00016	48 8b da	 mov	 rbx, rdx

; 223  :     HANDLE hFile = NULL;
; 224  :     if (stream!=NULL)

  00019	48 85 d2	 test	 rdx, rdx
  0001c	74 40		 je	 SHORT $LN9@win32_writ

; 225  :         hFile = ((WIN32FILE_IOWIN*)stream) -> hf;

  0001e	48 8b 0a	 mov	 rcx, QWORD PTR [rdx]

; 226  : 
; 227  :     if (hFile != NULL)

  00021	48 85 c9	 test	 rcx, rcx
  00024	74 38		 je	 SHORT $LN9@win32_writ

; 228  :     {
; 229  :         if (!WriteFile(hFile, buf, size, &ret, NULL))

  00026	4c 8d 4c 24 48	 lea	 r9, QWORD PTR ret$[rsp]
  0002b	48 89 7c 24 20	 mov	 QWORD PTR [rsp+32], rdi
  00030	44 8b c0	 mov	 r8d, eax
  00033	49 8b d2	 mov	 rdx, r10
  00036	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_WriteFile
  0003c	85 c0		 test	 eax, eax
  0003e	75 0f		 jne	 SHORT $LN7@win32_writ

; 230  :         {
; 231  :             DWORD dwErr = GetLastError();

  00040	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_GetLastError

; 232  :             if (dwErr == ERROR_HANDLE_EOF)

  00046	83 f8 26	 cmp	 eax, 38			; 00000026H
  00049	0f 44 c7	 cmove	 eax, edi

; 233  :                 dwErr = 0;
; 234  :             ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;

  0004c	89 43 08	 mov	 DWORD PTR [rbx+8], eax
$LN7@win32_writ:

; 235  :         }
; 236  :     }
; 237  : 
; 238  :     return ret;

  0004f	8b 44 24 48	 mov	 eax, DWORD PTR ret$[rsp]

; 239  : }

  00053	48 8b 5c 24 40	 mov	 rbx, QWORD PTR [rsp+64]
  00058	48 83 c4 30	 add	 rsp, 48			; 00000030H
  0005c	5f		 pop	 rdi
  0005d	c3		 ret	 0
$LN9@win32_writ:

; 235  :         }
; 236  :     }
; 237  : 
; 238  :     return ret;

  0005e	8b c7		 mov	 eax, edi

; 239  : }

  00060	48 8b 5c 24 40	 mov	 rbx, QWORD PTR [rsp+64]
  00065	48 83 c4 30	 add	 rsp, 48			; 00000030H
  00069	5f		 pop	 rdi
  0006a	c3		 ret	 0
win32_write_file_func ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT MySetFilePointerEx
_TEXT	SEGMENT
hFile$ = 48
pos$ = 56
lHigh$ = 64
newPos$ = 64
dwMoveMethod$ = 72
MySetFilePointerEx PROC					; COMDAT

; 242  : {

  00000	48 89 5c 24 08	 mov	 QWORD PTR [rsp+8], rbx
  00005	48 89 74 24 10	 mov	 QWORD PTR [rsp+16], rsi
  0000a	57		 push	 rdi
  0000b	48 83 ec 20	 sub	 rsp, 32			; 00000020H

; 243  : #ifdef IOWIN32_USING_WINRT_API
; 244  :     return SetFilePointerEx(hFile, pos, newPos, dwMoveMethod);
; 245  : #else
; 246  :     LONG lHigh = pos.HighPart;

  0000f	48 8b c2	 mov	 rax, rdx
  00012	49 8b f8	 mov	 rdi, r8
  00015	48 c1 e8 20	 shr	 rax, 32			; 00000020H

; 247  :     DWORD dwNewPos = SetFilePointer(hFile, pos.LowPart, &lHigh, dwMoveMethod);

  00019	4c 8d 44 24 40	 lea	 r8, QWORD PTR lHigh$[rsp]
  0001e	89 44 24 40	 mov	 DWORD PTR lHigh$[rsp], eax
  00022	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_SetFilePointer
  00028	8b f0		 mov	 esi, eax

; 248  :     BOOL fOk = TRUE;

  0002a	bb 01 00 00 00	 mov	 ebx, 1

; 249  :     if (dwNewPos == 0xFFFFFFFF)

  0002f	83 f8 ff	 cmp	 eax, -1			; ffffffffH
  00032	75 0d		 jne	 SHORT $LN3@MySetFileP

; 250  :         if (GetLastError() != NO_ERROR)

  00034	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_GetLastError
  0003a	33 c9		 xor	 ecx, ecx
  0003c	85 c0		 test	 eax, eax
  0003e	0f 45 d9	 cmovne	 ebx, ecx
$LN3@MySetFileP:

; 256  :     }
; 257  :     return fOk;

  00041	8b c3		 mov	 eax, ebx
  00043	48 85 ff	 test	 rdi, rdi
  00046	74 0d		 je	 SHORT $LN4@MySetFileP
  00048	85 db		 test	 ebx, ebx

; 251  :             fOk = FALSE;
; 252  :     if ((newPos != NULL) && (fOk))

  0004a	74 09		 je	 SHORT $LN4@MySetFileP

; 253  :     {
; 254  :         newPos->LowPart = dwNewPos;
; 255  :         newPos->HighPart = lHigh;

  0004c	8b 4c 24 40	 mov	 ecx, DWORD PTR lHigh$[rsp]
  00050	89 4f 04	 mov	 DWORD PTR [rdi+4], ecx
  00053	89 37		 mov	 DWORD PTR [rdi], esi
$LN4@MySetFileP:

; 258  : #endif
; 259  : }

  00055	48 8b 5c 24 30	 mov	 rbx, QWORD PTR [rsp+48]
  0005a	48 8b 74 24 38	 mov	 rsi, QWORD PTR [rsp+56]
  0005f	48 83 c4 20	 add	 rsp, 32			; 00000020H
  00063	5f		 pop	 rdi
  00064	c3		 ret	 0
MySetFilePointerEx ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT win32_tell_file_func
_TEXT	SEGMENT
opaque$ = 48
pos$1 = 56
stream$ = 56
win32_tell_file_func PROC				; COMDAT

; 262  : {

$LN10:
  00000	40 53		 push	 rbx
  00002	48 83 ec 20	 sub	 rsp, 32			; 00000020H
  00006	48 8b da	 mov	 rbx, rdx

; 263  :     long ret=-1;
; 264  :     HANDLE hFile = NULL;
; 265  :     if (stream!=NULL)

  00009	48 85 d2	 test	 rdx, rdx
  0000c	74 30		 je	 SHORT $LN8@win32_tell

; 266  :         hFile = ((WIN32FILE_IOWIN*)stream) -> hf;

  0000e	48 8b 0a	 mov	 rcx, QWORD PTR [rdx]

; 267  :     if (hFile != NULL)

  00011	48 85 c9	 test	 rcx, rcx
  00014	74 28		 je	 SHORT $LN8@win32_tell

; 268  :     {
; 269  :         LARGE_INTEGER pos;
; 270  :         pos.QuadPart = 0;
; 271  : 
; 272  :         if (!MySetFilePointerEx(hFile, pos, &pos, FILE_CURRENT))

  00016	41 b9 01 00 00
	00		 mov	 r9d, 1
  0001c	48 c7 44 24 38
	00 00 00 00	 mov	 QWORD PTR pos$1[rsp], 0
  00025	4c 8d 44 24 38	 lea	 r8, QWORD PTR pos$1[rsp]
  0002a	33 d2		 xor	 edx, edx
  0002c	e8 00 00 00 00	 call	 MySetFilePointerEx
  00031	85 c0		 test	 eax, eax
  00033	75 12		 jne	 SHORT $LN4@win32_tell

; 273  :         {
; 274  :             DWORD dwErr = GetLastError();

  00035	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_GetLastError

; 275  :             ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;

  0003b	89 43 08	 mov	 DWORD PTR [rbx+8], eax
$LN8@win32_tell:

; 276  :             ret = -1;
; 277  :         }
; 278  :         else
; 279  :             ret=(long)pos.LowPart;
; 280  :     }
; 281  :     return ret;

  0003e	83 c8 ff	 or	 eax, -1

; 282  : }

  00041	48 83 c4 20	 add	 rsp, 32			; 00000020H
  00045	5b		 pop	 rbx
  00046	c3		 ret	 0
$LN4@win32_tell:

; 276  :             ret = -1;
; 277  :         }
; 278  :         else
; 279  :             ret=(long)pos.LowPart;
; 280  :     }
; 281  :     return ret;

  00047	8b 44 24 38	 mov	 eax, DWORD PTR pos$1[rsp]

; 282  : }

  0004b	48 83 c4 20	 add	 rsp, 32			; 00000020H
  0004f	5b		 pop	 rbx
  00050	c3		 ret	 0
win32_tell_file_func ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT win32_tell64_file_func
_TEXT	SEGMENT
opaque$ = 48
pos$1 = 56
stream$ = 56
win32_tell64_file_func PROC				; COMDAT

; 285  : {

$LN10:
  00000	40 53		 push	 rbx
  00002	48 83 ec 20	 sub	 rsp, 32			; 00000020H
  00006	48 8b da	 mov	 rbx, rdx

; 286  :     ZPOS64_T ret= (ZPOS64_T)-1;
; 287  :     HANDLE hFile = NULL;
; 288  :     if (stream!=NULL)

  00009	48 85 d2	 test	 rdx, rdx
  0000c	74 30		 je	 SHORT $LN8@win32_tell

; 289  :         hFile = ((WIN32FILE_IOWIN*)stream)->hf;

  0000e	48 8b 0a	 mov	 rcx, QWORD PTR [rdx]

; 290  : 
; 291  :     if (hFile)

  00011	48 85 c9	 test	 rcx, rcx
  00014	74 28		 je	 SHORT $LN8@win32_tell

; 292  :     {
; 293  :         LARGE_INTEGER pos;
; 294  :         pos.QuadPart = 0;
; 295  : 
; 296  :         if (!MySetFilePointerEx(hFile, pos, &pos, FILE_CURRENT))

  00016	41 b9 01 00 00
	00		 mov	 r9d, 1
  0001c	48 c7 44 24 38
	00 00 00 00	 mov	 QWORD PTR pos$1[rsp], 0
  00025	4c 8d 44 24 38	 lea	 r8, QWORD PTR pos$1[rsp]
  0002a	33 d2		 xor	 edx, edx
  0002c	e8 00 00 00 00	 call	 MySetFilePointerEx
  00031	85 c0		 test	 eax, eax
  00033	75 13		 jne	 SHORT $LN4@win32_tell

; 297  :         {
; 298  :             DWORD dwErr = GetLastError();

  00035	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_GetLastError

; 299  :             ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;

  0003b	89 43 08	 mov	 DWORD PTR [rbx+8], eax
$LN8@win32_tell:

; 300  :             ret = (ZPOS64_T)-1;
; 301  :         }
; 302  :         else
; 303  :             ret=pos.QuadPart;
; 304  :     }
; 305  :     return ret;

  0003e	48 83 c8 ff	 or	 rax, -1

; 306  : }

  00042	48 83 c4 20	 add	 rsp, 32			; 00000020H
  00046	5b		 pop	 rbx
  00047	c3		 ret	 0
$LN4@win32_tell:

; 300  :             ret = (ZPOS64_T)-1;
; 301  :         }
; 302  :         else
; 303  :             ret=pos.QuadPart;
; 304  :     }
; 305  :     return ret;

  00048	48 8b 44 24 38	 mov	 rax, QWORD PTR pos$1[rsp]

; 306  : }

  0004d	48 83 c4 20	 add	 rsp, 32			; 00000020H
  00051	5b		 pop	 rbx
  00052	c3		 ret	 0
win32_tell64_file_func ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT win32_seek_file_func
_TEXT	SEGMENT
opaque$ = 48
stream$ = 56
offset$ = 64
origin$ = 72
win32_seek_file_func PROC				; COMDAT

; 310  : {

$LN14:
  00000	48 89 5c 24 08	 mov	 QWORD PTR [rsp+8], rbx
  00005	57		 push	 rdi
  00006	48 83 ec 20	 sub	 rsp, 32			; 00000020H

; 311  :     DWORD dwMoveMethod=0xFFFFFFFF;
; 312  :     HANDLE hFile = NULL;

  0000a	33 c9		 xor	 ecx, ecx

; 313  : 
; 314  :     long ret=-1;

  0000c	83 cb ff	 or	 ebx, -1
  0000f	48 8b fa	 mov	 rdi, rdx

; 315  :     if (stream!=NULL)

  00012	48 85 d2	 test	 rdx, rdx
  00015	74 03		 je	 SHORT $LN4@win32_seek

; 316  :         hFile = ((WIN32FILE_IOWIN*)stream) -> hf;

  00017	48 8b 0a	 mov	 rcx, QWORD PTR [rdx]
$LN4@win32_seek:

; 317  :     switch (origin)

  0001a	45 85 c9	 test	 r9d, r9d
  0001d	74 1c		 je	 SHORT $LN7@win32_seek
  0001f	41 83 e9 01	 sub	 r9d, 1
  00023	74 0e		 je	 SHORT $LN5@win32_seek
  00025	41 83 f9 01	 cmp	 r9d, 1
  00029	75 3f		 jne	 SHORT $LN11@win32_seek

; 322  :     case ZLIB_FILEFUNC_SEEK_END :
; 323  :         dwMoveMethod = FILE_END;

  0002b	41 b9 02 00 00
	00		 mov	 r9d, 2

; 324  :         break;

  00031	eb 0b		 jmp	 SHORT $LN2@win32_seek
$LN5@win32_seek:

; 318  :     {
; 319  :     case ZLIB_FILEFUNC_SEEK_CUR :
; 320  :         dwMoveMethod = FILE_CURRENT;

  00033	41 b9 01 00 00
	00		 mov	 r9d, 1

; 321  :         break;

  00039	eb 03		 jmp	 SHORT $LN2@win32_seek
$LN7@win32_seek:

; 325  :     case ZLIB_FILEFUNC_SEEK_SET :
; 326  :         dwMoveMethod = FILE_BEGIN;

  0003b	45 33 c9	 xor	 r9d, r9d
$LN2@win32_seek:

; 327  :         break;
; 328  :     default: return -1;
; 329  :     }
; 330  : 
; 331  :     if (hFile != NULL)

  0003e	48 85 c9	 test	 rcx, rcx
  00041	74 27		 je	 SHORT $LN11@win32_seek

; 332  :     {
; 333  :         LARGE_INTEGER pos;
; 334  :         pos.QuadPart = offset;

  00043	41 8b d0	 mov	 edx, r8d

; 335  :         if (!MySetFilePointerEx(hFile, pos, NULL, dwMoveMethod))

  00046	45 33 c0	 xor	 r8d, r8d
  00049	e8 00 00 00 00	 call	 MySetFilePointerEx
  0004e	85 c0		 test	 eax, eax
  00050	75 16		 jne	 SHORT $LN10@win32_seek

; 336  :         {
; 337  :             DWORD dwErr = GetLastError();

  00052	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_GetLastError

; 338  :             ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;

  00058	89 47 08	 mov	 DWORD PTR [rdi+8], eax

; 343  :     }
; 344  :     return ret;

  0005b	8b c3		 mov	 eax, ebx

; 345  : }

  0005d	48 8b 5c 24 30	 mov	 rbx, QWORD PTR [rsp+48]
  00062	48 83 c4 20	 add	 rsp, 32			; 00000020H
  00066	5f		 pop	 rdi
  00067	c3		 ret	 0
$LN10@win32_seek:

; 339  :             ret = -1;
; 340  :         }
; 341  :         else
; 342  :             ret=0;

  00068	33 db		 xor	 ebx, ebx
$LN11@win32_seek:

; 343  :     }
; 344  :     return ret;

  0006a	8b c3		 mov	 eax, ebx

; 345  : }

  0006c	48 8b 5c 24 30	 mov	 rbx, QWORD PTR [rsp+48]
  00071	48 83 c4 20	 add	 rsp, 32			; 00000020H
  00075	5f		 pop	 rdi
  00076	c3		 ret	 0
win32_seek_file_func ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT win32_seek64_file_func
_TEXT	SEGMENT
opaque$ = 48
stream$ = 56
offset$ = 64
origin$ = 72
win32_seek64_file_func PROC				; COMDAT

; 348  : {

$LN14:
  00000	48 89 5c 24 08	 mov	 QWORD PTR [rsp+8], rbx
  00005	57		 push	 rdi
  00006	48 83 ec 20	 sub	 rsp, 32			; 00000020H

; 349  :     DWORD dwMoveMethod=0xFFFFFFFF;
; 350  :     HANDLE hFile = NULL;

  0000a	33 c9		 xor	 ecx, ecx

; 351  :     long ret=-1;

  0000c	83 cb ff	 or	 ebx, -1
  0000f	4d 8b d0	 mov	 r10, r8
  00012	48 8b fa	 mov	 rdi, rdx

; 352  : 
; 353  :     if (stream!=NULL)

  00015	48 85 d2	 test	 rdx, rdx
  00018	74 03		 je	 SHORT $LN4@win32_seek

; 354  :         hFile = ((WIN32FILE_IOWIN*)stream)->hf;

  0001a	48 8b 0a	 mov	 rcx, QWORD PTR [rdx]
$LN4@win32_seek:

; 355  : 
; 356  :     switch (origin)

  0001d	45 85 c9	 test	 r9d, r9d
  00020	74 1c		 je	 SHORT $LN7@win32_seek
  00022	41 83 e9 01	 sub	 r9d, 1
  00026	74 0e		 je	 SHORT $LN5@win32_seek
  00028	41 83 f9 01	 cmp	 r9d, 1
  0002c	75 3f		 jne	 SHORT $LN11@win32_seek

; 361  :         case ZLIB_FILEFUNC_SEEK_END :
; 362  :             dwMoveMethod = FILE_END;

  0002e	41 b9 02 00 00
	00		 mov	 r9d, 2

; 363  :             break;

  00034	eb 0b		 jmp	 SHORT $LN2@win32_seek
$LN5@win32_seek:

; 357  :     {
; 358  :         case ZLIB_FILEFUNC_SEEK_CUR :
; 359  :             dwMoveMethod = FILE_CURRENT;

  00036	41 b9 01 00 00
	00		 mov	 r9d, 1

; 360  :             break;

  0003c	eb 03		 jmp	 SHORT $LN2@win32_seek
$LN7@win32_seek:

; 364  :         case ZLIB_FILEFUNC_SEEK_SET :
; 365  :             dwMoveMethod = FILE_BEGIN;

  0003e	45 33 c9	 xor	 r9d, r9d
$LN2@win32_seek:

; 366  :             break;
; 367  :         default: return -1;
; 368  :     }
; 369  : 
; 370  :     if (hFile)

  00041	48 85 c9	 test	 rcx, rcx
  00044	74 27		 je	 SHORT $LN11@win32_seek

; 371  :     {
; 372  :         LARGE_INTEGER pos;
; 373  :         pos.QuadPart = offset;
; 374  :         if (!MySetFilePointerEx(hFile, pos, NULL, dwMoveMethod))

  00046	45 33 c0	 xor	 r8d, r8d
  00049	49 8b d2	 mov	 rdx, r10
  0004c	e8 00 00 00 00	 call	 MySetFilePointerEx
  00051	85 c0		 test	 eax, eax
  00053	75 16		 jne	 SHORT $LN10@win32_seek

; 375  :         {
; 376  :             DWORD dwErr = GetLastError();

  00055	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_GetLastError

; 377  :             ((WIN32FILE_IOWIN*)stream) -> error=(int)dwErr;

  0005b	89 47 08	 mov	 DWORD PTR [rdi+8], eax

; 382  :     }
; 383  :     return ret;

  0005e	8b c3		 mov	 eax, ebx

; 384  : }

  00060	48 8b 5c 24 30	 mov	 rbx, QWORD PTR [rsp+48]
  00065	48 83 c4 20	 add	 rsp, 32			; 00000020H
  00069	5f		 pop	 rdi
  0006a	c3		 ret	 0
$LN10@win32_seek:

; 378  :             ret = -1;
; 379  :         }
; 380  :         else
; 381  :             ret=0;

  0006b	33 db		 xor	 ebx, ebx
$LN11@win32_seek:

; 382  :     }
; 383  :     return ret;

  0006d	8b c3		 mov	 eax, ebx

; 384  : }

  0006f	48 8b 5c 24 30	 mov	 rbx, QWORD PTR [rsp+48]
  00074	48 83 c4 20	 add	 rsp, 32			; 00000020H
  00078	5f		 pop	 rdi
  00079	c3		 ret	 0
win32_seek64_file_func ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT win32_close_file_func
_TEXT	SEGMENT
opaque$ = 48
stream$ = 56
win32_close_file_func PROC				; COMDAT

; 387  : {

$LN7:
  00000	48 89 5c 24 08	 mov	 QWORD PTR [rsp+8], rbx
  00005	57		 push	 rdi
  00006	48 83 ec 20	 sub	 rsp, 32			; 00000020H

; 388  :     int ret=-1;

  0000a	83 cb ff	 or	 ebx, -1
  0000d	48 8b fa	 mov	 rdi, rdx

; 389  : 
; 390  :     if (stream!=NULL)

  00010	48 85 d2	 test	 rdx, rdx
  00013	74 19		 je	 SHORT $LN5@win32_clos

; 391  :     {
; 392  :         HANDLE hFile;
; 393  :         hFile = ((WIN32FILE_IOWIN*)stream) -> hf;

  00015	48 8b 0a	 mov	 rcx, QWORD PTR [rdx]

; 394  :         if (hFile != NULL)

  00018	48 85 c9	 test	 rcx, rcx
  0001b	74 08		 je	 SHORT $LN3@win32_clos

; 395  :         {
; 396  :             CloseHandle(hFile);

  0001d	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_CloseHandle

; 397  :             ret=0;

  00023	33 db		 xor	 ebx, ebx
$LN3@win32_clos:

; 398  :         }
; 399  :         free(stream);

  00025	48 8b cf	 mov	 rcx, rdi
  00028	ff 15 00 00 00
	00		 call	 QWORD PTR __imp_free
$LN5@win32_clos:

; 400  :     }
; 401  :     return ret;

  0002e	8b c3		 mov	 eax, ebx

; 402  : }

  00030	48 8b 5c 24 30	 mov	 rbx, QWORD PTR [rsp+48]
  00035	48 83 c4 20	 add	 rsp, 32			; 00000020H
  00039	5f		 pop	 rdi
  0003a	c3		 ret	 0
win32_close_file_func ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT win32_error_file_func
_TEXT	SEGMENT
opaque$ = 8
stream$ = 16
win32_error_file_func PROC				; COMDAT

; 406  :     int ret=-1;
; 407  :     if (stream!=NULL)

  00000	48 85 d2	 test	 rdx, rdx
  00003	74 04		 je	 SHORT $LN4@win32_erro

; 408  :     {
; 409  :         ret = ((WIN32FILE_IOWIN*)stream) -> error;
; 410  :     }
; 411  :     return ret;

  00005	8b 42 08	 mov	 eax, DWORD PTR [rdx+8]

; 412  : }

  00008	c3		 ret	 0
$LN4@win32_erro:

; 408  :     {
; 409  :         ret = ((WIN32FILE_IOWIN*)stream) -> error;
; 410  :     }
; 411  :     return ret;

  00009	83 c8 ff	 or	 eax, -1

; 412  : }

  0000c	c3		 ret	 0
win32_error_file_func ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT fill_win32_filefunc
_TEXT	SEGMENT
pzlib_filefunc_def$ = 8
fill_win32_filefunc PROC				; COMDAT

; 416  :     pzlib_filefunc_def->zopen_file = win32_open_file_func;

  00000	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_open_file_func

; 417  :     pzlib_filefunc_def->zread_file = win32_read_file_func;
; 418  :     pzlib_filefunc_def->zwrite_file = win32_write_file_func;
; 419  :     pzlib_filefunc_def->ztell_file = win32_tell_file_func;
; 420  :     pzlib_filefunc_def->zseek_file = win32_seek_file_func;
; 421  :     pzlib_filefunc_def->zclose_file = win32_close_file_func;
; 422  :     pzlib_filefunc_def->zerror_file = win32_error_file_func;
; 423  :     pzlib_filefunc_def->opaque = NULL;

  00007	48 c7 41 38 00
	00 00 00	 mov	 QWORD PTR [rcx+56], 0
  0000f	48 89 01	 mov	 QWORD PTR [rcx], rax
  00012	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_read_file_func
  00019	48 89 41 08	 mov	 QWORD PTR [rcx+8], rax
  0001d	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_write_file_func
  00024	48 89 41 10	 mov	 QWORD PTR [rcx+16], rax
  00028	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_tell_file_func
  0002f	48 89 41 18	 mov	 QWORD PTR [rcx+24], rax
  00033	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_seek_file_func
  0003a	48 89 41 20	 mov	 QWORD PTR [rcx+32], rax
  0003e	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_close_file_func
  00045	48 89 41 28	 mov	 QWORD PTR [rcx+40], rax
  00049	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_error_file_func
  00050	48 89 41 30	 mov	 QWORD PTR [rcx+48], rax

; 424  : }

  00054	c3		 ret	 0
fill_win32_filefunc ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT fill_win32_filefunc64
_TEXT	SEGMENT
pzlib_filefunc_def$ = 8
fill_win32_filefunc64 PROC				; COMDAT

; 428  :     pzlib_filefunc_def->zopen64_file = win32_open64_file_func;

  00000	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_open64_file_func

; 429  :     pzlib_filefunc_def->zread_file = win32_read_file_func;
; 430  :     pzlib_filefunc_def->zwrite_file = win32_write_file_func;
; 431  :     pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
; 432  :     pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
; 433  :     pzlib_filefunc_def->zclose_file = win32_close_file_func;
; 434  :     pzlib_filefunc_def->zerror_file = win32_error_file_func;
; 435  :     pzlib_filefunc_def->opaque = NULL;

  00007	48 c7 41 38 00
	00 00 00	 mov	 QWORD PTR [rcx+56], 0
  0000f	48 89 01	 mov	 QWORD PTR [rcx], rax
  00012	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_read_file_func
  00019	48 89 41 08	 mov	 QWORD PTR [rcx+8], rax
  0001d	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_write_file_func
  00024	48 89 41 10	 mov	 QWORD PTR [rcx+16], rax
  00028	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_tell64_file_func
  0002f	48 89 41 18	 mov	 QWORD PTR [rcx+24], rax
  00033	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_seek64_file_func
  0003a	48 89 41 20	 mov	 QWORD PTR [rcx+32], rax
  0003e	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_close_file_func
  00045	48 89 41 28	 mov	 QWORD PTR [rcx+40], rax
  00049	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_error_file_func
  00050	48 89 41 30	 mov	 QWORD PTR [rcx+48], rax

; 436  : }

  00054	c3		 ret	 0
fill_win32_filefunc64 ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT fill_win32_filefunc64A
_TEXT	SEGMENT
pzlib_filefunc_def$ = 8
fill_win32_filefunc64A PROC				; COMDAT

; 441  :     pzlib_filefunc_def->zopen64_file = win32_open64_file_funcA;

  00000	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_open64_file_funcA

; 442  :     pzlib_filefunc_def->zread_file = win32_read_file_func;
; 443  :     pzlib_filefunc_def->zwrite_file = win32_write_file_func;
; 444  :     pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
; 445  :     pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
; 446  :     pzlib_filefunc_def->zclose_file = win32_close_file_func;
; 447  :     pzlib_filefunc_def->zerror_file = win32_error_file_func;
; 448  :     pzlib_filefunc_def->opaque = NULL;

  00007	48 c7 41 38 00
	00 00 00	 mov	 QWORD PTR [rcx+56], 0
  0000f	48 89 01	 mov	 QWORD PTR [rcx], rax
  00012	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_read_file_func
  00019	48 89 41 08	 mov	 QWORD PTR [rcx+8], rax
  0001d	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_write_file_func
  00024	48 89 41 10	 mov	 QWORD PTR [rcx+16], rax
  00028	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_tell64_file_func
  0002f	48 89 41 18	 mov	 QWORD PTR [rcx+24], rax
  00033	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_seek64_file_func
  0003a	48 89 41 20	 mov	 QWORD PTR [rcx+32], rax
  0003e	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_close_file_func
  00045	48 89 41 28	 mov	 QWORD PTR [rcx+40], rax
  00049	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_error_file_func
  00050	48 89 41 30	 mov	 QWORD PTR [rcx+48], rax

; 449  : }

  00054	c3		 ret	 0
fill_win32_filefunc64A ENDP
_TEXT	ENDS
; Function compile flags: /Ogtpy
; File c:\mywork\pkcs\zlib-1.2.11\contrib\minizip\iowin32.c
;	COMDAT fill_win32_filefunc64W
_TEXT	SEGMENT
pzlib_filefunc_def$ = 8
fill_win32_filefunc64W PROC				; COMDAT

; 454  :     pzlib_filefunc_def->zopen64_file = win32_open64_file_funcW;

  00000	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_open64_file_funcW

; 455  :     pzlib_filefunc_def->zread_file = win32_read_file_func;
; 456  :     pzlib_filefunc_def->zwrite_file = win32_write_file_func;
; 457  :     pzlib_filefunc_def->ztell64_file = win32_tell64_file_func;
; 458  :     pzlib_filefunc_def->zseek64_file = win32_seek64_file_func;
; 459  :     pzlib_filefunc_def->zclose_file = win32_close_file_func;
; 460  :     pzlib_filefunc_def->zerror_file = win32_error_file_func;
; 461  :     pzlib_filefunc_def->opaque = NULL;

  00007	48 c7 41 38 00
	00 00 00	 mov	 QWORD PTR [rcx+56], 0
  0000f	48 89 01	 mov	 QWORD PTR [rcx], rax
  00012	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_read_file_func
  00019	48 89 41 08	 mov	 QWORD PTR [rcx+8], rax
  0001d	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_write_file_func
  00024	48 89 41 10	 mov	 QWORD PTR [rcx+16], rax
  00028	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_tell64_file_func
  0002f	48 89 41 18	 mov	 QWORD PTR [rcx+24], rax
  00033	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_seek64_file_func
  0003a	48 89 41 20	 mov	 QWORD PTR [rcx+32], rax
  0003e	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_close_file_func
  00045	48 89 41 28	 mov	 QWORD PTR [rcx+40], rax
  00049	48 8d 05 00 00
	00 00		 lea	 rax, OFFSET FLAT:win32_error_file_func
  00050	48 89 41 30	 mov	 QWORD PTR [rcx+48], rax

; 462  : }

  00054	c3		 ret	 0
fill_win32_filefunc64W ENDP
_TEXT	ENDS
END
