Function at 0x4d3df0
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, 0xec
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x11c]
test eax, eax
je 0x4d4a78
mov eax, dword [esp + 0x100]
mov edi, dword [esp + 0x38]
xor ebx, ebx
mov esi, dword [esp + 0x120]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x120]
add eax, 4
mov dword [esp + 0x7c], eax
lea esi, [esi]
cmp edi, 3
jbe 0x4d3f40
mov eax, dword [esp + 0x40]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00489860
test eax, eax
mov ebp, eax
jne 0x4d3fb0
mov ecx, dword [esp + 0x40]
movzx eax, byte [ecx]
cmp al, 0x1f
jne 0x4d49b1
cmp byte [ecx + 1], 0x8b
jne 0x4d4a1c
lea eax, [esp + 0xa8]
mov dword [esp + 0xc], 0x38
mov dword [esp + 8], str.1.2.11
mov dword [esp + 4], 0x1f
mov dword [esp + 0xc8], 0
mov dword [esp], eax
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
call fcn.004e34b0
test eax, eax
mov dword [esp + 0x44], eax
je 0x4d4420
mov ebx, 1
add esp, 0xec
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x11c]
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 + 0x40]
add eax, edi
mov dword [esp], eax
call sub.msvcrt.dll_fread
add edi, eax
je 0x4d48f7
cmp edi, 3
ja 0x4d3e89
mov ebp, dword [0x4f7268]
test ebp, ebp
jle 0x4d3f26
mov eax, dword [esp + 0x128]
mov dword [esp + 4], str.zstd:__s:_unknown_header__n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
jmp 0x4d3f26
mov eax, dword [esp + 0x128]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
mov edx, dword [esp + 0x128]
cmp eax, 0x15
mov dword [esp + 4], 1
lea edx, [edx + eax - 0x14]
mov eax, dword [esp + 0x114]
cmovb edx, dword [esp + 0x128]
mov dword [esp], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
call fcn.0048ec90
cmp edi, 0x11
jbe 0x4d4795
mov dword [esp + 0x44], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x40]
xor ebx, ebx
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x90], eax
lea eax, [esp + 0x80]
mov dword [esp + 8], eax
lea eax, [esp + 0x8c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
call fcn.0048f100
cmp dword [0x4f726c], 2
mov ebp, eax
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
setne bl
add ebx, 1
add eax, dword [esp + 0x38]
adc edx, dword [esp + 0x3c]
mov dword [esp + 4], eax
lea eax, [esp + 0x98]
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004dd0e0
mov eax, dword [esp + 0xa0]
fld qword [esp + 0x98]
mov dword [esp], ebp
fstp qword [esp + 0x58]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x64], eax
call fcn.00408120
test eax, eax
jne 0x4d45f0
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x94]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x4c]
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
call fcn.004d0cc0
xor edx, edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x94]
add dword [esp + 0x38], eax
mov eax, dword [esp + 0x6c]
adc dword [esp + 0x3c], edx
cmp dword [eax], 1
jle 0x4d4340
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call sub.msvcrt.dll_strlen
cmp eax, 0x12
mov dword [esp + 0x78], eax
jbe 0x4d4260
cmp dword [0x4f7268], ebx
jl 0x4d4200
cmp dword [0x4f726c], 1
je 0x4d4200
mov eax, dword [0x51a070]
mov edx, dword [0x51a074]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004dc3d0
cmp edx, 0
mov ecx, dword [esp + 0x78]
ja 0x4d4186
cmp eax, 0x28b0a
jbe 0x4d4405
mov dword [esp + 0x78], ecx
call fcn.004dc270
mov dword [0x51a070], eax
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x78]
mov dword [0x51a074], edx
mov edx, dword [esp + 0x6c]
fld qword [esp + 0x58]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x60]
fstp qword [esp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
lea eax, [eax + ecx - 0xf]
mov dword [esp + 0x10], eax
mov eax, dword [edx]
mov dword [esp + 0xc], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 4], str._rDecompress:__2u__2u_files._Current:_..._s_:__.f_s...
mov dword [esp + 0x58], eax
add eax, 1
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
cmp dword [0x4f7268], 3
jg 0x4d43de
nop
mov ebx, dword [esp + 0x88]
test ebx, ebx
jne 0x4d42f0
test ebp, ebp
je 0x4d431b
mov eax, dword [esp + 0x68]
cmp ebp, eax
cmova ebp, eax
cmp edi, ebp
jae 0x4d4015
mov eax, dword [esp + 0x11c]
sub ebp, edi
mov dword [esp + 4], 1
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
add eax, edi
mov dword [esp], eax
call sub.msvcrt.dll_fread
test eax, eax
je 0x4d48a3
add edi, eax
jmp 0x4d4015
cmp ebx, dword [0x4f7268]
jg 0x4d4200
cmp dword [0x4f726c], 1
je 0x4d4200
mov eax, dword [0x51a070]
mov edx, dword [0x51a074]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004dc3d0
cmp edx, 0
ja 0x4d4298
cmp eax, 0x28b0a
jbe 0x4d43f3
call fcn.004dc270
mov dword [0x51a070], eax
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x6c]
fld qword [esp + 0x58]
mov dword [0x51a074], edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x60]
fstp qword [esp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], eax
mov eax, dword [ecx]
mov dword [esp + 0xc], eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 4], str._rDecompress:__2u__2u_files._Current:__s_:__.f_s...
mov dword [esp + 0x58], eax
add eax, 1
mov dword [esp + 8], eax
jmp 0x4d41e2
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x40]
sub edi, ebx
sub eax, ebx
mov dword [esp], ecx
mov dword [esp + 8], eax
mov eax, ecx
add eax, ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll_memmove
test ebp, ebp
jne 0x4d4217
mov ebx, dword [esi + 0x4c]
test ebx, ebx
je 0x4d4881
mov ecx, dword [esp + 0x44]
test ecx, ecx
jne 0x4d4920
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
jmp 0x4d45c8
cmp ebx, dword [0x4f7268]
jg 0x4d4200
cmp dword [0x4f726c], 1
je 0x4d4200
mov eax, dword [0x51a070]
mov edx, dword [0x51a074]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004dc3d0
cmp edx, 0
ja 0x4d4389
cmp eax, 0x28b0a
ja 0x4d4389
cmp dword [0x4f7268], 3
jle 0x4d4200
call fcn.004dc270
mov dword [0x51a070], eax
mov eax, dword [esp + 0x64]
fld qword [esp + 0x58]
mov dword [esp + 4], str._r__20.20s_:__.f_s...
mov dword [0x51a074], edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x60]
fstp qword [esp + 0x10]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
cmp dword [0x4f7268], 3
jle 0x4d4200
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call sub.msvcrt.dll_fflush
jmp 0x4d4200
cmp dword [0x4f7268], 3
jle 0x4d4200
jmp 0x4d4298
cmp dword [0x4f7268], 3
jle 0x4d4200
jmp 0x4d4186
mov eax, dword [esp + 0x34]
mov dword [esp + 0xac], edi
xor edi, edi
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xa8], eax
lea esi, [esi]
lea eax, [esp + 0xa8]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.004e3860
cmp eax, 0xfffffffb
mov ebx, eax
je 0x4d47d0
cmp eax, 1
ja 0x4d4840
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0xb8]
mov dword [esp + 0x38], eax
jne 0x4d44f0
cmp ebx, 1
je 0x4d4540
mov eax, dword [esp + 0xac]
test eax, eax
jne 0x4d4460
mov eax, dword [esp + 0x11c]
mov ebx, dword [esp + 0x40]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x68]
mov dword [esp], ebx
mov dword [esp + 8], eax
call sub.msvcrt.dll_fread
mov ecx, 4
test eax, eax
mov dword [esp + 0xa8], ebx
cmove edi, ecx
mov dword [esp + 0xac], eax
jmp 0x4d4460
mov dword [esp + 8], ebp
mov ecx, eax
mov eax, dword [esi + 0x4c]
mov edx, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esi + 4]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
call fcn.004d0cc0
xor edx, edx
mov ebp, eax
mov eax, dword [esp + 0x38]
add dword [esp + 0x58], eax
mov eax, dword [esp + 0x34]
adc dword [esp + 0x5c], edx
cmp ebx, 1
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xb8], eax
jne 0x4d44a1
nop
mov edi, dword [esp + 0xac]
test edi, edi
jne 0x4d4820
lea eax, [esp + 0xa8]
mov dword [esp], eax
call fcn.004e5e70
test eax, eax
je 0x4d45a0
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x4d45a0
mov eax, dword [0x4f7268]
mov dword [esp + 0x44], 1
test eax, eax
jle 0x4d45a0
mov eax, dword [esp + 0x128]
mov dword [esp + 4], str.zstd:__s:_inflateEnd_error__n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
nop
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x4d4771
test ebp, ebp
jne 0x4d48d6
mov ebx, dword [esp + 0x44]
test ebx, ebx
jne 0x4d3f26
nop
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
mov eax, ecx
mov edx, ebx
xor eax, 0xfffffffe
not edx
or edx, eax
je 0x4d3f26
add dword [esp + 0x48], ecx
adc dword [esp + 0x4c], ebx
mov ebx, 1
jmp 0x4d3e80
mov dword [esp + 0x38], edi
mov edi, dword [0x4f7268]
test edi, edi
jle 0x4d462a
mov dword [esp], ebp
call fcn.00408130
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], str._s_:_Decoding_error__36__:__s__n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
mov dword [esp], ebp
call fcn.00408150
cmp eax, 0x10
jne 0x4d3f26
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
lea eax, [esp + 0xa8]
mov dword [esp], eax
call fcn.00489d00
test eax, eax
jne 0x4d4976
mov ebp, dword [esp + 0xb4]
mov edi, dword [esp + 0xb0]
mov edx, ebp
or edx, edi
je 0x4d4b77
mov eax, edi
mov edx, ebp
mov ecx, 0
shr edx, 1
shrd eax, ebp, 1
mov ebx, edx
or ebx, eax
je 0x4d469f
nop
shrd eax, edx, 1
shr edx, 1
add ecx, 1
mov esi, edx
or esi, eax
jne 0x4d4690
mov eax, edi
mov edx, ebp
add eax, 0xffffffff
adc edx, 0xffffffff
and eax, edi
xor ebx, ebx
and edx, ebp
or eax, edx
mov eax, dword [esp + 0x120]
setne bl
add ebx, ecx
mov eax, dword [eax + 0x5c]
test eax, eax
je 0x4d4b56
mov esi, dword [0x4f7268]
test esi, esi
jle 0x4d4b0b
mov eax, dword [esp + 0x120]
mov eax, dword [eax + 0x5c]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
mov dword [esp + 4], str._s_:_Window_size_larger_than_maximum_:__llu____u__n
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
cmp ebx, 0x1e
ja 0x4d4976
cmp ebp, 0xfffff
ja 0x4d4b20
mov ecx, dword [0x4f7268]
test ecx, ecx
jle 0x4d3f26
mov eax, edi
mov dword [esp + 0xc], ebx
mov dword [esp + 4], str._s_:_Use___long_u_or___memory_uMB__n
and eax, 0xfffff
test eax, eax
setne al
shrd edi, ebp, 0x14
movzx eax, al
add edi, eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], edi
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
jmp 0x4d3f26
test ebp, ebp
je 0x4d4784
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x7c]
mov ecx, ebp
call fcn.004d1420
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4d45c0
jmp 0x4d3f26
mov eax, dword [esp + 0x11c]
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 + 0x40]
add eax, edi
mov dword [esp], eax
call sub.msvcrt.dll_fread
add edi, eax
jmp 0x4d3ffd
mov eax, dword [0x4f7268]
mov dword [esp + 0x44], 1
test eax, eax
jle 0x4d4540
mov eax, dword [esp + 0x128]
mov dword [esp + 4], str.zstd:__s:_premature_gz_end__n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
mov edi, dword [esp + 0xac]
test edi, edi
je 0x4d454f
mov esi, esi
lea edi, [edi]
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
jmp 0x4d454f
mov eax, dword [0x4f7268]
mov dword [esp + 0x44], 1
test eax, eax
jle 0x4d4540
mov eax, dword [esp + 0x128]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], str.zstd:__s:_inflate_error__d__n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
jmp 0x4d4540
mov edx, dword [esp + 0x44]
test edx, edx
je 0x4d4332
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x7c]
call fcn.004d1420
jmp 0x4d4332
mov esi, dword [0x4f7268]
test esi, esi
jle 0x4d3f26
mov eax, dword [esp + 0x74]
mov dword [esp + 4], str._s_:_Read_error__39__:_premature_end__n
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
jmp 0x4d3f26
mov dword [esp + 8], 0x859
mov dword [esp + 4], 0x4ff030
mov dword [esp], str.storedSkips__0
call fcn.004ec460
jmp 0x4d4775
test ebx, ebx
jne 0x4d4941
mov eax, dword [0x4f7268]
test eax, eax
jle 0x4d3f26
mov eax, dword [esp + 0x128]
mov dword [esp + 4], str.zstd:__s:_unexpected_end_of_file__n
mov dword [esp + 8], eax
jmp 0x4d3f9a
mov dword [esp + 8], 0x859
mov dword [esp + 4], 0x4ff030
mov dword [esp], str.storedSkips__0
call fcn.004ec460
jmp 0x4d488d
mov esi, dword [esp + 0x6c]
mov eax, dword [0x4f7268]
mov edi, dword [esp + 0x48]
add dword [esi + 0x18], edi
cmp eax, 1
jg 0x4d4a99
cmp dword [0x4f726c], 2
je 0x4d4b41
xor ebx, ebx
add esp, 0xec
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [0x4f7268]
test edi, edi
jle 0x4d3f26
mov eax, dword [esp + 0x74]
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], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
jmp 0x4d3f26
cmp al, 0xfd
mov dword [esp + 0x38], edi
jne 0x4d4a22
cmp byte [ecx + 1], 0x37
je 0x4d4a2c
mov eax, dword [esp + 0x40]
cmp dword [eax], 0x184d2204
je 0x4d4a52
mov eax, dword [esp + 0x120]
mov eax, dword [eax + 0x58]
test eax, eax
je 0x4d49f6
mov esi, dword [esp + 0x124]
mov edi, 0x50014e
mov ecx, 0xb
repe cmpsb byte [esi], byte es:[edi]
je 0x4d4b9a
mov edx, dword [0x4f7268]
test edx, edx
jle 0x4d3f26
mov eax, dword [esp + 0x128]
mov dword [esp + 4], str.zstd:__s:_unsupported_format__n
mov dword [esp + 8], eax
jmp 0x4d3f9a
mov dword [esp + 0x38], edi
jmp 0x4d49bf
cmp al, 0x5d
jne 0x4d49bf
cmp byte [ecx + 1], 0
jne 0x4d49bf
mov ecx, dword [0x4f7268]
test ecx, ecx
jle 0x4d3f26
mov eax, dword [esp + 0x128]
mov dword [esp + 4], str.zstd:__s:_xz_lzma_file_cannot_be_uncompressed__zstd_compiled_without_HAVE_LZMA_____ignored__n
mov dword [esp + 8], eax
jmp 0x4d3f9a
mov edx, dword [0x4f7268]
test edx, edx
jle 0x4d3f26
mov eax, dword [esp + 0x128]
mov dword [esp + 4], str.zstd:__s:_lz4_file_cannot_be_uncompressed__zstd_compiled_without_HAVE_LZ4_____ignored__n
mov dword [esp + 8], eax
jmp 0x4d3f9a
mov dword [esp + 8], 0x9ed
mov dword [esp + 4], 0x4ff030
mov dword [esp], str.srcFile___NULL
call fcn.004ec460
jmp 0x4d3e44
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x4ff18f
mov dword [esp + 4], str._r_79s_r
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
mov eax, dword [0x4f7268]
cmp eax, 1
jle 0x4d495a
cmp dword [esi], 1
jle 0x4d4ad1
cmp eax, 2
jle 0x4d4b4c
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
xor ebx, ebx
mov dword [esp + 4], str._r__20s:__llu_bytes__n
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0x10], edx
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
jmp 0x4d4969
cmp ebx, 0x1e
ja 0x4d3f26
cmp ebp, 0xfffff
jbe 0x4d3f26
mov dword [esp + 8], 0x89f
mov dword [esp + 4], 0x4ff030
mov dword [esp], str.windowSize____U64__1ULL____52_
call fcn.004ec460
jmp 0x4d4721
test eax, eax
jg 0x4d4ad1
xor ebx, ebx
jmp 0x4d4969
mov eax, 2
jmp 0x4d495a
mov dword [esp + 8], 0x89a
mov dword [esp + 4], 0x4ff030
mov dword [esp], str.prefs__memLimit___0
call fcn.004ec460
jmp 0x4d46c8
mov dword [esp + 8], 0x364
mov dword [esp + 4], 0x4ff030
mov dword [esp], str.v___0
call fcn.004ec460
xor ecx, ecx
jmp 0x4d469f
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x38]
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], esi
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
cmp eax, esi
je 0x4d4bf0
mov eax, dword [0x4f7268]
test eax, eax
jle 0x4d3f26
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 4], str.Pass_through_write_error_:__s_n
mov dword [esp + 8], eax
jmp 0x4d3f9a
mov eax, dword [esp + 0x68]
mov edi, ebp
mov ebp, dword [esp + 0x120]
mov ebx, 0x10000
cmp eax, 0x10000
cmovbe ebx, eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 8], ebx
mov dword [esp + 4], 1
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov dword [esp + 8], edi
mov esi, eax
mov eax, dword [ebp + 0x4c]
mov edx, dword [esp + 0x40]
mov ecx, esi
mov dword [esp + 4], eax
mov eax, dword [ebp + 4]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
call fcn.004d0cc0
cmp ebx, esi
mov edi, eax
je 0x4d4c0a
mov ebp, eax
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
call sub.msvcrt.dll_ferror
test eax, eax
je 0x4d4c98
mov eax, dword [0x4f7268]
test eax, eax
jle 0x4d3f26
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 4], str.Pass_through_read_error_:__s_n
mov dword [esp + 8], eax
jmp 0x4d3f9a
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
call sub.msvcrt.dll_feof
test eax, eax
jne 0x4d4cc7
mov dword [esp + 8], 0x882
mov dword [esp + 4], 0x4ff030
mov dword [esp], str.feof_finput_
call fcn.004ec460
mov eax, dword [esp + 0x120]
mov eax, dword [eax + 0x4c]
test eax, eax
je 0x4d4f28
test ebp, ebp
je 0x4d4967
mov dword [esp + 8], 0x859
mov dword [esp + 4], 0x4ff030
mov dword [esp], str.storedSkips__0
call fcn.004ec460
mov eax, dword [esp + 0x120]
mov eax, dword [eax + 4]
test eax, eax
jne 0x4d4d27
mov dword [esp + 8], 0x85b
mov dword [esp + 4], 0x4ff030
mov dword [esp], str.prefs__sparseFileSupport___0
call fcn.004ec460
mov eax, ebp
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
sub eax, 1
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.004ec5f0
test eax, eax
mov ebx, eax
jne 0x4d4e73
mov eax, dword [esp + 0x54]
mov dword [esp + 8], 1
mov dword [esp + 4], 1
mov byte [esp + 0xa8], 0
mov dword [esp + 0xc], eax
lea eax, [esp + 0xa8]
mov dword [esp], eax
call sub.msvcrt.dll_fwrite
cmp eax, 1
je 0x4d3f2b
mov esi, dword [0x4f7268]
test esi, esi
jle 0x4d4e67
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.zstd:
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
mov eax, dword [0x4f7268]
cmp eax, 4
jle 0x4d4deb
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 0xc], 0x863
mov dword [esp + 8], 0x4ff030
mov dword [esp + 4], str.Error_defined_at__s__line__i_:__n
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
mov eax, dword [0x4f7268]
test eax, eax
jle 0x4d4e67
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x45
mov dword [esp + 4], str.error__i_:
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
mov ebx, dword [0x4f7268]
test ebx, ebx
jle 0x4d4e67
call dword [sym.imp.msvcrt.dll__errno]
mov eax, dword [eax]
mov dword [esp], eax
call sub.msvcrt.dll_strerror
mov dword [esp + 8], eax
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.Write_error_:_cannot_write_last_zero_:__s
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
mov ecx, dword [0x4f7268]
test ecx, ecx
jle 0x4d4e67
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], 0x4ff164
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
mov dword [esp], 0x45
call sub.msvcrt.dll_exit
mov eax, dword [0x4f7268]
test eax, eax
jle 0x4d4e67
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.zstd:
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
mov eax, dword [0x4f7268]
cmp eax, 4
jle 0x4d4ecb
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 0xc], 0x85e
mov dword [esp + 8], 0x4ff030
mov dword [esp + 4], str.Error_defined_at__s__line__i_:__n
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
mov eax, dword [0x4f7268]
test eax, eax
jle 0x4d4e67
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 8], 0x45
mov dword [esp + 4], str.error__i_:
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
mov ebp, dword [0x4f7268]
test ebp, ebp
jle 0x4d4e67
mov eax, dword [sym.imp.msvcrt.dll__iob]
mov dword [esp + 4], str.Final_skip_error__sparse_file_support_
add eax, 0x40
mov dword [esp], eax
call fcn.004cfcb0
mov edi, dword [0x4f7268]
test edi, edi
jg 0x4d4e4f
jmp 0x4d4e67
test ebp, ebp
jne 0x4d4cfd
xor ebx, ebx
jmp 0x4d4969