Function at 0x41f460
Capabilities:
Read file on windows
Resolve function by parsing pe exports
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x14c
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0x84], edx
mov dword [esp + 0x6c], eax
test eax, eax
je 0x41fbf3
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov eax, dword [esp + 0x160]
mov esi, dword [esp + 0x168]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x17c]
test eax, eax
je 0x420358
mov edi, esi
mov ebp, dword [esp + 0x84]
xor ebx, ebx
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
cmp edi, 3
jbe 0x41f90f
nop
mov eax, dword [esp + 0x44]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.0040d6a0
test eax, eax
je 0x41fd99
mov eax, dword [esp + 0x184]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov ecx, dword [esp + 0x184]
mov dword [esp + 4], 1
cmp eax, 0x14
lea edx, [ecx + eax - 0x14]
mov eax, dword [esp + 0x5c]
cmovbe edx, ecx
mov dword [esp], eax
mov dword [esp + 0x78], edx
call fcn.00410fc0
cmp edi, 0x11
jbe 0x41fb20
mov dword [esp + 0x3c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
lea esi, [esi]
mov eax, dword [esp + 0x44]
xor ebx, ebx
mov dword [esp + 0x94], edi
mov dword [esp + 0x98], 0
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xa4], 0
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x90]
mov dword [esp + 8], eax
lea eax, [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.00411430
cmp dword [0x426020], 2
mov edx, dword [esp + 0x64]
setne bl
mov esi, eax
mov eax, dword [esp + 0x60]
add ebx, 1
add eax, dword [esp + 0x30]
adc edx, dword [esp + 0x34]
mov dword [esp + 4], eax
lea eax, [esp + 0xa8]
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.0041b6b0
sub esp, 4
mov eax, dword [esp + 0xb0]
fld qword [esp + 0xa8]
mov dword [esp], esi
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xb4]
fstp qword [esp + 0x48]
mov dword [esp + 0x58], eax
call fcn.00405220
mov dword [esp + 0x50], eax
test eax, eax
jne 0x41fa30
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebp + 4]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
call fcn.0041ebd0
xor edx, edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xa4]
add dword [esp + 0x30], eax
mov eax, dword [esp + 0x68]
adc dword [esp + 0x34], edx
cmp dword [eax], 1
jle 0x41f7f0
mov eax, dword [esp + 0x78]
mov dword [esp], eax
call sub.cygwin1.dll_strlen
mov ecx, eax
mov eax, dword [0x42601c]
cmp ecx, 0x12
mov dword [esp + 0x7c], ecx
jbe 0x41f990
cmp eax, ebx
jl 0x41f790
cmp dword [0x426020], 1
je 0x41f790
mov eax, dword [0x43203c]
mov dword [esp], eax
call fcn.0041cc00
mov ecx, 0x28b0a
cmp ecx, eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x7c]
sbb eax, edx
jb 0x41f705
cmp dword [0x42601c], 3
jle 0x41f790
mov dword [esp + 0x80], ecx
call fcn.0041cb70
mov dword [0x43203c], eax
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x50], ecx
lea ebx, [eax + 1]
mov dword [esp + 0x7c], eax
call sub.cygwin1.dll___getreent
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x80]
mov dword [esp + 8], ebx
fld qword [esp + 0x48]
mov dword [esp + 4], str._rDecompress:__2u__2u_files._Current:_..._s_:__.f_s...
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x78]
fstp qword [esp + 0x18]
lea edx, [edx + ecx - 0xf]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
cmp dword [0x42601c], 3
jg 0x41f879
lea esi, [esi]
lea esi, [esi]
mov ebx, dword [esp + 0x98]
test ebx, ebx
jne 0x41f8a0
test esi, esi
je 0x41f8ca
mov eax, dword [esp + 0x74]
cmp esi, eax
cmova esi, eax
cmp esi, edi
jbe 0x41f588
mov eax, dword [esp + 0x17c]
sub esi, edi
mov dword [esp + 4], 1
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x44]
add eax, edi
mov dword [esp], eax
call sub.cygwin1.dll_fread
test eax, eax
je 0x41fbc0
add edi, eax
jmp 0x41f588
cmp ebx, dword [0x42601c]
jg 0x41f790
cmp dword [0x426020], 1
je 0x41f790
mov eax, dword [0x43203c]
mov dword [esp], eax
call fcn.0041cc00
mov ecx, 0x28b0a
cmp ecx, eax
mov eax, dword [esp + 0x50]
sbb eax, edx
jb 0x41f82a
cmp dword [0x42601c], 3
jle 0x41f790
call fcn.0041cb70
mov dword [0x43203c], eax
call sub.cygwin1.dll___getreent
mov ecx, dword [esp + 0x58]
fld qword [esp + 0x48]
mov dword [esp + 4], str._r__20.20s_:__.f_s...
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
fstp qword [esp + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
cmp dword [0x42601c], 3
jle 0x41f790
call sub.cygwin1.dll___getreent
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fflush
mov ebx, dword [esp + 0x98]
test ebx, ebx
je 0x41f79f
lea esi, [esi]
nop
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x44]
sub edi, ebx
sub eax, ebx
mov dword [esp], ecx
mov dword [esp + 8], eax
lea eax, [ecx + ebx]
mov dword [esp + 4], eax
call sub.cygwin1.dll_memmove
test esi, esi
jne 0x41f7a7
mov ebx, dword [esp + 0x3c]
mov edx, dword [ebp + 0x4c]
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x6c]
mov dword [esp], ebx
call fcn.0041e8f0
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov edx, ecx
mov eax, ebx
xor edx, 0xfffffffe
not eax
or eax, edx
je 0x41fa7d
add dword [esp + 0x60], ecx
adc dword [esp + 0x64], ebx
mov ebx, 1
cmp edi, 3
ja 0x41f510
mov eax, dword [esp + 0x17c]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, 4
sub eax, edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
add eax, edi
mov dword [esp], eax
call sub.cygwin1.dll_fread
add edi, eax
je 0x41fd40
cmp edi, 3
ja 0x41f510
mov ebp, dword [0x42601c]
test ebp, ebp
jle 0x41fa7d
call sub.cygwin1.dll___getreent
mov edi, dword [esp + 0x184]
mov ebx, 1
mov dword [esp + 4], str.zstd:__s:_unknown_header__n
mov dword [esp + 8], edi
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x41fa82
cmp eax, ebx
jl 0x41f790
cmp dword [0x426020], 1
je 0x41f790
mov eax, dword [0x43203c]
mov dword [esp], eax
call fcn.0041cc00
mov ecx, 0x28b0a
cmp ecx, eax
mov eax, dword [esp + 0x50]
sbb eax, edx
jb 0x41f9ce
cmp dword [0x42601c], 3
jle 0x41f790
call fcn.0041cb70
mov dword [0x43203c], eax
mov eax, dword [esp + 0x68]
mov edx, dword [eax]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x7c], edx
lea ebx, [eax + 1]
mov dword [esp + 0x50], eax
call sub.cygwin1.dll___getreent
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x78]
mov dword [esp + 8], ebx
fld qword [esp + 0x48]
mov dword [esp + 4], str._rDecompress:__2u__2u_files._Current:__s_:__.f_s...
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], edx
fstp qword [esp + 0x18]
jmp 0x41f76e
mov ebp, esi
mov esi, edi
mov edi, dword [0x42601c]
test edi, edi
jle 0x41fa6c
mov dword [esp], ebp
call fcn.00405230
mov ebx, eax
call sub.cygwin1.dll___getreent
mov edi, dword [esp + 0x78]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], str._s_:_Decoding_error__36__:__s__n
mov dword [esp + 8], edi
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov dword [esp], ebp
call fcn.00405250
cmp eax, 0x10
je 0x41fb58
mov ebx, 1
mov edi, dword [esp + 0x88]
test edi, edi
je 0x41fb0a
mov esi, dword [0x432038]
test esi, esi
je 0x41faab
mov dword [esp + 4], 0
mov dword [esp], 2
call sub.cygwin1.dll_signal
mov dword [0x432038], 0
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call sub.cygwin1.dll_fclose
test eax, eax
je 0x41fd75
mov ecx, dword [0x42601c]
test ecx, ecx
jg 0x41fea8
mov eax, dword [esp + 0x8c]
test eax, eax
jne 0x41fefd
mov eax, dword [esp + 0x180]
mov dword [esp + 4], str._stdout_
mov dword [esp], eax
call fcn.00423288
test eax, eax
jne 0x41fee5
mov ebx, 1
add esp, 0x14c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x17c]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, 0x12
sub eax, edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
add eax, edi
mov dword [esp], eax
call sub.cygwin1.dll_fread
add edi, eax
jmp 0x41f569
mov eax, dword [esp + 0x44]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
lea eax, [esp + 0xb8]
mov dword [esp], eax
call fcn.0040dcd0
mov ecx, eax
test eax, eax
je 0x41fc8b
mov ebx, dword [0x42601c]
test ebx, ebx
jle 0x41fa7d
call sub.cygwin1.dll___getreent
mov edi, dword [esp + 0x78]
mov dword [esp + 0xc], 0x1e
mov dword [esp + 4], str._s_:_Window_log_larger_than_ZSTD_WINDOWLOG_MAX_u__not_supported__n
mov dword [esp + 8], edi
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x41fa7d
mov ecx, dword [0x42601c]
test ecx, ecx
jle 0x41fa7d
call sub.cygwin1.dll___getreent
mov edi, dword [esp + 0x78]
mov dword [esp + 4], str._s_:_Read_error__39__:_premature_end__n
mov dword [esp + 8], edi
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x41fa7d
mov eax, dword [edx + 0x4c]
mov dword [esp + 0x8c], eax
test eax, eax
jne 0x41f488
mov eax, dword [esp + 0x184]
mov dword [esp + 4], str._stdin_
mov dword [esp], eax
call fcn.00423288
test eax, eax
jne 0x41fe3c
mov eax, 0x1b6
mov dword [esp + 4], eax
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x184]
mov edx, dword [esp + 0x84]
mov dword [esp], eax
mov eax, dword [esp + 0x68]
call fcn.0041d010
mov dword [esp + 0x6c], eax
test eax, eax
je 0x41fb05
mov eax, dword [esp + 0x180]
mov dword [esp], eax
call fcn.0041b1e0
test eax, eax
jne 0x42010e
mov dword [0x432038], 0
mov dword [esp + 0x88], 1
jmp 0x41f49e
mov edi, dword [esp + 0xc0]
mov ebp, dword [esp + 0xc4]
mov eax, edi
mov edx, ebp
or eax, ebp
je 0x420310
mov eax, edi
shr edx, 1
shrd eax, ebp, 1
mov ebx, eax
or ebx, edx
je 0x41fcc7
lea esi, [esi]
nop
shrd eax, edx, 1
shr edx, 1
add ecx, 1
mov ebx, edx
or ebx, eax
jne 0x41fcb8
mov eax, edi
mov edx, ebp
add eax, 0xffffffff
adc edx, 0xffffffff
and eax, edi
and edx, ebp
or eax, edx
cmp eax, 1
mov eax, dword [esp + 0x84]
sbb ecx, 0xffffffff
mov ebx, dword [eax + 0x5c]
mov esi, ecx
test ebx, ebx
je 0x420334
mov eax, dword [0x42601c]
test eax, eax
jg 0x41ffbc
cmp ecx, 0x1e
ja 0x41fa7d
cmp ebp, 0xfffff
jbe 0x41fa7d
mov dword [esp + 0xc], str.windowSize____U64__1ULL____52_
mov dword [esp + 8], str.FIO_zstdErrorHelp
mov dword [esp + 4], 0x89f
mov dword [esp], str.fileio.c
call sub.cygwin1.dll___assert_func
lea esi, [esi]
nop
test ebx, ebx
je 0x41ff87
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
add dword [edi + 0x18], eax
mov eax, dword [0x42601c]
cmp eax, 1
jg 0x42004d
cmp dword [0x426020], 2
je 0x420158
xor ebx, ebx
jmp 0x41fa82
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x41ff68
test ebx, ebx
jne 0x41fae6
add esp, 0x14c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, edi
mov edi, eax
mov eax, dword [esp + 0x44]
movzx eax, byte [eax]
cmp al, 0x1f
je 0x41ff1c
cmp al, 0xfd
jne 0x4200be
mov eax, dword [esp + 0x44]
cmp byte [eax + 1], 0x37
je 0x4200d4
mov eax, dword [esp + 0x44]
cmp dword [eax], 0x184d2204
je 0x420167
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 0x58]
test eax, eax
je 0x41fe01
mov eax, dword [esp + 0x180]
mov dword [esp + 4], str._stdout_
mov dword [esp], eax
call fcn.00423288
mov ebx, eax
test eax, eax
je 0x4201a1
mov ebp, dword [0x42601c]
test ebp, ebp
jle 0x41fa7d
call sub.cygwin1.dll___getreent
mov edi, dword [esp + 0x184]
mov ebx, 1
mov dword [esp + 4], str.zstd:__s:_unsupported_format__n
mov dword [esp + 8], edi
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x41fa82
mov eax, dword [esp + 0x180]
mov dword [esp + 4], str._stdout_
mov dword [esp], eax
call fcn.00423288
test eax, eax
je 0x41fc24
mov eax, dword [esp + 0x184]
lea ebx, [esp + 0xe0]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.0041b1b0
test eax, eax
je 0x41fc24
mov dword [esp], ebx
call fcn.0041b220
test eax, eax
je 0x41fc24
mov dword [esp + 0x8c], 1
mov eax, dword [esp + 0xf0]
jmp 0x41fc29
call sub.cygwin1.dll___errno
mov eax, dword [eax]
mov dword [esp], eax
call sub.cygwin1.dll_strerror
mov ebx, eax
call sub.cygwin1.dll___getreent
mov edi, dword [esp + 0x180]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], str.zstd:__s:__s__n
mov dword [esp + 8], edi
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x41fad7
mov eax, dword [esp + 0x180]
call fcn.0041cf50
mov ebx, dword [esp + 0x88]
jmp 0x41fb0a
lea eax, [esp + 0xe0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x180]
mov dword [esp], eax
call fcn.0041b2c0
jmp 0x41fae6
mov eax, dword [esp + 0x44]
cmp byte [eax + 1], 0x8b
jne 0x41fdc2
mov edx, dword [0x42601c]
test edx, edx
jle 0x41fa7d
call sub.cygwin1.dll___getreent
mov edi, dword [esp + 0x184]
mov ebx, 1
mov dword [esp + 4], str.zstd:__s:_gzip_file_cannot_be_uncompressed__zstd_compiled_without_HAVE_ZLIB_____ignored__n
mov dword [esp + 8], edi
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x41fa82
lea eax, [esp + 0xe0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x180]
mov dword [esp], eax
call fcn.0041b2c0
jmp 0x41fd84
mov eax, dword [0x42601c]
test eax, eax
jle 0x41fa7d
call sub.cygwin1.dll___getreent
mov edi, dword [esp + 0x184]
mov dword [esp + 4], str.zstd:__s:_unexpected_end_of_file__n
mov dword [esp + 8], edi
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x41fa7d
call sub.cygwin1.dll___getreent
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 8], ebx
mov dword [esp + 4], str._s_:_Window_size_larger_than_maximum_:__llu____u__n
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
cmp esi, 0x1e
ja 0x41fb7d
cmp ebp, 0xfffff
ja 0x41fd13
mov eax, dword [0x42601c]
test eax, eax
jle 0x41fa7d
call sub.cygwin1.dll___getreent
xor ecx, ecx
mov dword [esp + 0xc], esi
mov ebx, eax
mov eax, edi
mov dword [esp + 4], str._s_:_Use___long_u_or___memory_uMB__n
and eax, 0xfffff
mov eax, edi
setne cl
shrd eax, ebp, 0x14
add ecx, eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x10], ecx
mov dword [esp + 8], eax
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x41fa7d
call sub.cygwin1.dll___getreent
mov dword [esp + 8], 0x429ee2
mov dword [esp + 4], str._r_79s_r
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
mov eax, dword [0x42601c]
cmp eax, 1
jle 0x41fd61
cmp dword [edi], 1
jg 0x42013e
call sub.cygwin1.dll___getreent
mov ebx, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], str._r__20s:__llu_bytes__n
mov edi, dword [esp + 0x184]
mov dword [esp + 0x10], ebx
xor ebx, ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x41fa82
cmp al, 0x5d
jne 0x41fdc2
mov eax, dword [esp + 0x44]
cmp byte [eax + 1], 0
jne 0x41fdc2
mov eax, dword [0x42601c]
test eax, eax
jle 0x41fa7d
call sub.cygwin1.dll___getreent
mov edi, dword [esp + 0x184]
mov ebx, 1
mov dword [esp + 4], str.zstd:__s:_xz_lzma_file_cannot_be_uncompressed__zstd_compiled_without_HAVE_LZMA_____ignored__n
mov dword [esp + 8], edi
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x41fa82
mov dword [esp + 4], 0x41cea0
mov eax, dword [esp + 0x180]
mov dword [esp], 2
mov dword [0x432038], eax
call sub.cygwin1.dll_signal
mov dword [esp + 0x88], 1
jmp 0x41f49e
cmp eax, 2
jg 0x420084
mov eax, 2
jmp 0x41fd61
test eax, eax
jg 0x420084
xor ebx, ebx
jmp 0x41fa82
mov eax, dword [0x42601c]
test eax, eax
jle 0x41fa7d
call sub.cygwin1.dll___getreent
mov edi, dword [esp + 0x184]
mov ebx, 1
mov dword [esp + 4], str.zstd:__s:_lz4_file_cannot_be_uncompressed__zstd_compiled_without_HAVE_LZ4_____ignored__n
mov dword [esp + 8], edi
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x41fa82
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call sub.cygwin1.dll_fwrite
cmp esi, eax
je 0x420209
mov eax, dword [0x42601c]
test eax, eax
jle 0x41fa7d
call sub.cygwin1.dll___errno
mov eax, dword [eax]
mov dword [esp], eax
call sub.cygwin1.dll_strerror
mov ebx, eax
call sub.cygwin1.dll___getreent
mov dword [esp + 8], ebx
mov ebx, 1
mov dword [esp + 4], str.Pass_through_write_error_:__s_n
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x41fa82
mov ecx, dword [esp + 0x74]
mov eax, 0x10000
mov esi, edi
mov edi, ebx
mov ebx, dword [esp + 0x84]
cmp ecx, eax
cmova ecx, eax
mov ebp, ecx
mov eax, dword [esp + 0x17c]
mov dword [esp + 8], ebp
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call sub.cygwin1.dll_fread
mov dword [esp + 8], esi
mov edx, dword [esp + 0x44]
mov ecx, eax
mov eax, dword [ebx + 0x4c]
mov dword [esp + 0x30], ecx
mov dword [esp + 4], eax
mov eax, dword [ebx + 4]
mov dword [esp], eax
mov eax, dword [esp + 0x6c]
call fcn.0041ebd0
mov ecx, dword [esp + 0x30]
mov esi, eax
cmp ebp, ecx
je 0x420224
mov eax, dword [esp + 0x17c]
mov ebx, edi
movzx eax, word [eax + 0xc]
test al, 0x40
jne 0x4202a8
test al, 0x20
je 0x4202ec
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x6c]
mov edx, dword [eax + 0x4c]
mov eax, dword [eax + 4]
mov dword [esp], esi
call fcn.0041e8f0
jmp 0x41fa82
mov eax, dword [0x42601c]
test eax, eax
jle 0x41fa7d
call sub.cygwin1.dll___errno
mov eax, dword [eax]
mov dword [esp], eax
call sub.cygwin1.dll_strerror
mov ebx, eax
call sub.cygwin1.dll___getreent
mov dword [esp + 8], ebx
mov ebx, 1
mov dword [esp + 4], str.Pass_through_read_error_:__s_n
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call sub.cygwin1.dll_fprintf
jmp 0x41fa82
mov dword [esp + 0xc], str.feof_finput_
mov dword [esp + 8], str.FIO_passThrough
mov dword [esp + 4], 0x882
mov dword [esp], str.fileio.c
call sub.cygwin1.dll___assert_func
mov dword [esp + 0xc], str.v___0
mov dword [esp + 8], str.FIO_highbit64
mov dword [esp + 4], 0x364
mov dword [esp], str.fileio.c
call sub.cygwin1.dll___assert_func
mov dword [esp + 0xc], str.prefs__memLimit___0
mov dword [esp + 8], str.FIO_zstdErrorHelp
mov dword [esp + 4], 0x89a
mov dword [esp], str.fileio.c
call sub.cygwin1.dll___assert_func
mov dword [esp + 0xc], str.srcFile___NULL
mov dword [esp + 8], str.FIO_decompressFrames
mov dword [esp + 4], 0x9ed
mov dword [esp], str.fileio.c
call sub.cygwin1.dll___assert_func
lea esi, [esi]