Function at 0x61604350
Capabilities:
Get process heap flags
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x8c
mov edi, dword [ebp + 0x18]
test edi, edi
je 0x616048c0
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
mov dword [ebp - 0x60], eax
mov esi, dword [ebp + 0x10]
mov eax, 0
mov edx, dword [ebp + 8]
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x1c], 0
test esi, esi
cmovne eax, dword [ebp + 0x14]
add edx, dword [ebp + 0xc]
mov dword [ebp - 0x20], edx
mov dword [ebp + 0x14], eax
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp - 0x24], eax
cmp edx, eax
jb 0x61604638
mov eax, dword [ebp + 8]
cmp dword [eax], 0x39314150
jne 0x6160463f
mov eax, dword [ebp + 8]
add eax, 8
mov dword [ebp - 0x24], eax
cmp edx, eax
jb 0x61604660
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 4]
mov esi, ecx
mov dword [ebp - 0x3c], ecx
and esi, 0x80ff0007
test ecx, 0x7f00fff8
jne 0x61604aea
test esi, esi
jns 0x616045e0
test byte [0x61607038], 8
jne 0x616048e0
mov ebx, ecx
add eax, 4
and ecx, 0x40000
mov dword [ebp - 0x24], eax
and ebx, 0x800000
cmp eax, edx
jbe 0x616045f0
mov dword [ebp - 0x1c], 0xc00e4102
test ebx, ebx
jne 0x616045f8
lea edi, [ebp - 0x3c]
test ecx, ecx
je 0x6160461a
mov eax, edi
call sym._read_uvli
movzx edx, byte [0x61607038]
mov dword [ebp - 0x34], eax
and edx, 8
jne 0x616046c0
mov eax, dword [ebp - 0x24]
lea ecx, [eax + 4]
mov dword [ebp - 0x24], ecx
cmp ecx, dword [ebp - 0x20]
ja 0x616046a0
mov ecx, dword [eax]
mov dword [ebp - 0x30], ecx
movzx ecx, byte [eax + 4]
add eax, 5
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x2c], ecx
test dl, dl
jne 0x61604700
test ecx, ecx
je 0x6160459c
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
jne 0x61604a68
imul ebx, ecx, 0x140c
mov edx, 0x33148d45
mov eax, ebx
mul edx
shr edx, 0xa
cmp edx, ecx
jne 0x61604768
mov dword [esp + 8], ebx
mov dword [esp + 4], 8
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov dword [ebp - 0x28], eax
sub esp, 0xc
test eax, eax
je 0x6160476f
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x61604f9b
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x54], 0
mov edx, dword [ebp - 0x5c]
lea ebx, [eax + edx]
mov eax, edi
call sym._read_svli
add eax, dword [ebp - 0x34]
mov dword [ebx], eax
mov edx, dword [ebp - 0x24]
lea eax, [edx + 4]
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x20]
ja 0x616046b0
mov eax, dword [edx]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
mov byte [ebx + 8], al
inc dword [ebp - 0x24]
test byte [0x61607038], 8
jne 0x61604730
cmp byte [ebx + 8], 0
je 0x61604788
mov eax, edi
xor esi, esi
call sym._read_svli
mov dword [ebx + 0xc], eax
mov eax, edi
call sym._read_uvli
mov dword [ebx + 0x10], eax
mov edx, eax
mov eax, dword [ebx + 0xc]
jmp 0x6160458d
movzx eax, byte [ebx + 8]
inc esi
cmp esi, eax
jae 0x61604788
mov eax, edi
call sym._read_svli
mov dword [ebx + esi*8 + 0xc], eax
mov eax, edi
call sym._read_uvli
mov dword [ebx + esi*8 + 0x10], eax
mov edx, eax
mov eax, dword [ebx + esi*8 + 4]
add eax, dword [ebx + esi*8 + 0xc]
add eax, dword [ebx + esi*8 + 8]
mov dword [ebx + esi*8 + 0xc], eax
mov ecx, dword [ebx]
cmp eax, ecx
ja 0x6160459c
add eax, edx
cmovb eax, edx
cmp ecx, eax
jae 0x61604558
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], 0xc00e4102
mov ebx, 0xc00e4102
mov edi, eax
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, esi
mov ecx, esi
and ebx, 0x800000
and ecx, 0x40000
test ebx, ebx
je 0x61604425
mov edx, dword [ebp - 0x24]
lea eax, [edx + 4]
mov dword [ebp - 0x24], eax
cmp eax, dword [ebp - 0x20]
ja 0x61604880
mov eax, dword [edx]
mov dword [ebp - 0x38], eax
lea edi, [ebp - 0x3c]
test ecx, ecx
jne 0x61604430
test byte [0x61607038], 8
jne 0x61604677
lea edi, [ebp - 0x3c]
mov eax, edi
call sym._read_uvli
jmp 0x61604430
mov dword [ebp - 0x1c], 0xc00e4102
xor edi, edi
test byte [0x61607038], 8
jne 0x61604a72
mov dword [ebp - 0x1c], 0xc00e4102
mov ebx, 0xc00e4102
jmp 0x616045ad
mov dword [ebp - 0x1c], 0xc00e4102
mov dword [ebp - 0x3c], 0
test byte [0x61607038], 8
je 0x61604623
mov dword [esp + 0xc], str.skipping_rebase_field_n
mov dword [esp + 8], str.read_header
mov dword [esp + 4], 0x61607038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x61604623
mov dword [ebp - 0x1c], 0xc00e4102
xor ecx, ecx
jmp 0x6160445e
mov dword [ebp - 0x1c], 0xc00e4102
xor eax, eax
jmp 0x61604511
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.patched_file_size_will_be__u_n
mov dword [esp + 8], str.read_header
mov dword [esp + 4], 0x61607038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
movzx edx, byte [0x61607038]
and edx, 8
jmp 0x6160444a
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], str.patch_supports__u_old_file_s__n
mov dword [esp + 8], str.read_header
mov dword [esp + 4], 0x61607038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
mov ecx, dword [ebp - 0x2c]
jmp 0x61604476
movzx eax, byte [ebx + 8]
mov dword [esp + 0xc], str.found__u_range_s__to_ignore_n
mov dword [esp + 8], str.read_header
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x61607038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x6160452d
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x1c], 0xe
xor edi, edi
mov ebx, 0xe
jmp 0x616045ad
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax]
mov byte [ebx + 9], al
inc dword [ebp - 0x24]
test byte [0x61607038], 8
jne 0x6160488e
cmp byte [ebx + 9], 0
je 0x61604aa3
mov eax, edi
lea esi, [ebx + 0x804]
call sym._read_svli
mov dword [ebp - 0x50], ebx
mov dword [ebx + 0x804], eax
mov ebx, eax
mov dword [ebp - 0x4c], 0
jmp 0x6160481f
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x616047f6
mov ebx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x58]
lea ecx, [ebx + ecx + 0x804]
cmp edx, dword [ecx + 8]
jne 0x61604ae3
cmp eax, dword [ecx + 4]
jne 0x61604ae3
mov eax, dword [ebp - 0x50]
inc dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x4c]
movzx eax, byte [eax + 9]
cmp ecx, eax
jae 0x61604aa0
add esi, 0xc
mov eax, edi
call sym._read_svli
mov ebx, dword [esi - 8]
add eax, dword [esi - 0xc]
add ebx, eax
mov dword [esi], ebx
mov eax, dword [ebp - 0x4c]
lea eax, [eax + eax*2]
shl eax, 2
mov dword [ebp - 0x58], eax
mov eax, edi
call sym._read_svli
add ebx, eax
mov eax, edi
mov dword [esi + 8], ebx
call sym._read_uvli
mov ecx, dword [ebp - 0x50]
mov edx, dword [esi]
mov dword [esi + 4], eax
mov ecx, dword [ecx]
cmp edx, ecx
ja 0x6160459c
add edx, eax
cmp ecx, edx
jb 0x6160459c
mov edx, dword [esi + 8]
mov ebx, dword [ebp - 0x34]
cmp edx, ebx
ja 0x6160459c
mov ecx, eax
add ecx, edx
cmovb ecx, eax
cmp ebx, ecx
jae 0x616047d0
jmp 0x6160459c
mov dword [ebp - 0x1c], 0xc00e4102
xor eax, eax
jmp 0x6160460c
movzx eax, byte [ebx + 9]
mov dword [esp + 0xc], str.found__u_range_s__to_retain_n
mov dword [esp + 8], str.read_header
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x61607038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x616047a1
mov eax, dword [ebp + 0x28]
mov ebx, 0x57
and eax, 4
or eax, dword [ebp + 0x34]
je 0x616045d1
mov dword [ebp - 0x60], 0
jmp 0x6160436f
mov dword [esp + 0xc], str.skipping_extra_flag_field_n
mov dword [esp + 8], str.read_header
mov dword [esp + 4], 0x61607038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x3c]
jmp 0x616043fa
mov eax, dword [edi + 0x13fc]
test eax, eax
je 0x61604c90
mov edx, dword [ebp - 0x3c]
and edx, 4
cmp edx, 1
sbb edx, edx
and edx, 0xfe800000
add edx, 0x2000000
cmp dword [ebp + 0x14], edx
ja 0x61604cc7
mov edx, dword [ebp + 0x34]
test edx, edx
jne 0x61604a68
add eax, dword [edi + 0x1400]
cmp dword [ebp - 0x20], eax
jb 0x61604cb8
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp + 0x14]
add eax, dword [ebp - 0x34]
test edx, edx
je 0x61604ce3
mov dword [ebp - 0x4c], edx
cmp dword [ebp + 0x1c], eax
jb 0x61604ce3
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x6160499c
mov eax, dword [edi]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call sym._memcpy
xor esi, esi
cmp byte [edi + 8], 0
je 0x616049da
mov dword [ebp - 0x50], ebx
mov ebx, dword [ebp - 0x4c]
lea esi, [esi]
mov eax, dword [edi + esi*8 + 0xc]
mov ecx, dword [edi + esi*8 + 0x10]
mov dword [esp + 4], 0
inc esi
add eax, ebx
mov dword [esp + 8], ecx
mov dword [esp], eax
call sym._memset
movzx eax, byte [edi + 8]
cmp esi, eax
jb 0x616049b0
mov ebx, dword [ebp - 0x50]
xor edx, edx
cmp byte [edi + 9], 0
lea esi, [edi + 0x804]
je 0x61604a1c
mov dword [ebp - 0x50], ebx
mov ebx, esi
mov esi, edx
nop
mov edx, dword [ebx + 4]
mov eax, dword [ebp - 0x4c]
inc esi
add ebx, 0xc
add eax, dword [ebx - 0xc]
mov dword [esp + 4], 0
mov dword [esp + 8], edx
mov dword [esp], eax
call sym._memset
movzx eax, byte [edi + 9]
cmp esi, eax
jb 0x616049f0
mov ebx, dword [ebp - 0x50]
mov edx, dword [edi + 0x13fc]
mov eax, dword [edi]
mov esi, dword [ebp - 0x34]
test edx, edx
jne 0x61604d25
cmp eax, esi
je 0x61604fa3
mov ebx, 0xc00e4102
mov edi, dword [ebp - 0x4c]
cmp dword [ebp - 0x60], edi
je 0x61604a68
mov eax, dword [ebp - 0x4c]
mov dword [esp + 8], 0x8000
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_VirtualFree]
sub esp, 0xc
lea esi, [esi]
nop
mov eax, dword [ebp - 0x28]
mov edi, eax
jmp 0x616045ad
mov dword [esp + 0xc], str.no_PA19_signature_n
mov dword [esp + 8], str.read_header
mov dword [esp + 4], 0x61607038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
mov eax, dword [ebp - 0x28]
mov edi, eax
jmp 0x6160464e
mov ebx, dword [ebp - 0x50]
mov eax, edi
call sym._read_uvli
mov dword [ebx + 0x13f8], eax
mov esi, eax
test eax, eax
jne 0x616050d9
mov eax, edi
call sym._read_uvli
inc dword [ebp - 0x54]
mov edx, dword [ebp - 0x54]
mov dword [ebx + 0x13fc], eax
mov eax, dword [ebp - 0x2c]
add dword [ebp - 0x5c], 0x140c
cmp edx, eax
jae 0x61604b0a
mov eax, dword [ebp - 0x28]
jmp 0x616044eb
mov edi, ebx
jmp 0x6160464e
xor edi, edi
test byte [0x61607038], 1
jne 0x6160503a
mov dword [ebp - 0x1c], 0x665
mov ebx, 0x665
jmp 0x616045ad
test eax, eax
je 0x61604f9b
xor edx, edx
mov dword [ebp - 0x4c], edi
mov edi, edx
lea esi, [esi]
mov ebx, dword [ebp - 0x28]
mov dword [esp + 0xc], sym._compare_ignored_range
inc esi
mov dword [esp + 8], 8
add ebx, edi
add edi, 0x140c
movzx eax, byte [ebx + 8]
mov dword [esp + 4], eax
lea eax, [ebx + 0xc]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_qsort]
mov dword [esp + 0xc], sym._compare_retained_range_old
mov dword [esp + 8], 0xc
movzx eax, byte [ebx + 9]
mov dword [esp + 4], eax
lea eax, [ebx + 0x804]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_qsort]
mov eax, dword [ebp - 0x24]
mov dword [ebx + 0x1400], eax
add eax, dword [ebx + 0x13fc]
mov dword [ebp - 0x24], eax
cmp esi, dword [ebp - 0x2c]
jb 0x61604b20
mov edi, dword [ebp - 0x4c]
add eax, 4
cmp dword [ebp - 0x20], eax
cmovbe eax, dword [ebp - 0x20]
mov dword [esp], 0
mov dword [ebp - 0x24], eax
sub eax, dword [ebp + 8]
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [sym.imp.ntdll.dll_RtlComputeCrc32]
mov dword [ebp - 0x70], eax
call eax
sub esp, 0xc
cmp eax, 0xffffffff
je 0x61604c14
test byte [0x61607038], 8
jne 0x61605072
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x24], eax
jae 0x6160459c
test byte [0x61607038], 1
je 0x6160459c
mov dword [esp + 0xc], str.probable_header_parsing_error_n
mov dword [esp + 8], str.read_header
mov dword [esp + 4], 0x61607038
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_2
jmp 0x6160459c
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
jne 0x61604a68
mov esi, dword [ebp + 0x20]
test esi, esi
je 0x61604c2e
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp + 0x20]
mov dword [edx], eax
mov ecx, dword [ebp - 0x60]
test ecx, ecx
je 0x61604c3d
mov eax, dword [ebp + 0x1c]
cmp dword [ebp - 0x34], eax
ja 0x61604c78
mov eax, dword [ebp + 0x14]
mov dword [esp], edi
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 4], eax
call sym._find_matching_old_file
mov edi, eax
test eax, eax
je 0x61604ca9
mov eax, dword [ebp + 0x14]
cmp dword [edi], eax
je 0x61604918
mov eax, dword [ebp - 0x28]
mov ebx, 0xc00e4102
mov edi, eax
jmp 0x616045ad
mov eax, dword [ebp - 0x28]
mov ebx, 0x7a
mov edi, eax
jmp 0x616045ad
test byte [ebp + 0x28], 1
je 0x61604946
mov eax, dword [ebp - 0x28]
mov ebx, 0xc00e4105
mov edi, eax
jmp 0x616045ad
mov eax, dword [ebp - 0x28]
mov ebx, 0xc00e4104
mov edi, eax
jmp 0x616045ad
mov eax, dword [ebp - 0x28]
mov ebx, 0xc00e4106
mov edi, eax
jmp 0x616045ad
test byte [0x61607038], 1
jne 0x61604fbe
mov eax, dword [ebp - 0x28]
mov ebx, 0x665
mov edi, eax
jmp 0x616045ad
mov dword [esp + 0xc], 4
mov dword [esp + 8], 0x1000
mov dword [esp + 4], eax
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_VirtualAlloc]
mov dword [ebp - 0x4c], eax
sub esp, 0x10
test eax, eax
jne 0x6160497d
mov eax, dword fs:[0x18]
mov ebx, dword [eax + 0x34]
mov eax, dword [ebp - 0x28]
mov edi, eax
jmp 0x616045ad
mov ecx, dword [ebp + 0x30]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x4c]
mov dword [esp + 0xc], esi
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 0x18], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [esp + 4], edx
and ecx, 4
mov dword [esp + 0x14], ecx
mov eax, dword [edi + 0x1400]
mov dword [esp], eax
call sym._decode_lzxd_stream
test eax, eax
jne 0x61604ff7
mov eax, dword [edi]
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0x54], eax
movzx eax, byte [edi + 9]
test ecx, ecx
je 0x61604fe9
test al, al
je 0x61604fe7
lea eax, [edi + 0x804]
xor ecx, ecx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x50], eax
mov esi, eax
mov ebx, ecx
lea esi, [esi]
mov ecx, dword [esi + 4]
mov eax, dword [ebp - 0x54]
inc ebx
add esi, 0xc
add eax, dword [esi - 4]
mov edx, dword [ebp + 0x10]
add eax, dword [ebp - 0x4c]
add edx, dword [esi - 0xc]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call sym._memcpy
movzx eax, byte [edi + 9]
cmp ebx, eax
jb 0x61604d98
mov edx, dword [edi]
mov ebx, dword [ebp - 0x58]
mov dword [ebp - 0x54], edx
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x34]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x50]
mov dword [esp + 0xc], sym._compare_retained_range_new
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x6c], esi
mov dword [esp + 8], 0xc
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_qsort]
mov dword [edi + 0x1408], 0
test esi, esi
je 0x61604e6d
mov dword [ebp - 0x50], edi
mov edi, dword [ebp - 0x70]
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x74], ebx
mov edx, dword [ebp + 0x34]
mov dword [ebp - 0x64], edi
lea esi, [esi]
nop
lea edi, [edx + 1]
mov ebx, dword [ebp - 0x54]
mov dword [ebp - 0x58], edi
mov edi, dword [ebp - 0x50]
add ebx, ecx
add ebx, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], ebx
movzx ebx, byte [edi + 9]
cmp ebx, edx
jg 0x61604f00
mov edx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x74]
mov dword [edi + 0x1408], edx
mov edx, dword [ebp - 0x6c]
mov dword [esp], eax
mov eax, dword [ebp - 0x70]
sub edx, ecx
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x5c]
mov dword [esp + 4], edx
call eax
mov dword [ebp - 0x6c], eax
sub esp, 0xc
mov edx, dword [ebp - 0x6c]
cmp dword [ebp - 0x78], edx
jne 0x61604a37
test byte [ebp + 0x28], 1
je 0x61604e8a
mov eax, dword [edi]
cmp eax, dword [ebp - 0x34]
je 0x616050a2
test byte [ebp + 0x28], 4
jne 0x61604eb8
mov edx, dword [ebp - 0x60]
test edx, edx
je 0x616050c9
mov eax, dword [ebp - 0x34]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x60]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_memmove]
mov eax, dword [ebp + 0x24]
test eax, eax
je 0x61604a3c
mov eax, dword [ebp + 0x24]
mov dword [eax], 0
mov dword [eax + 4], 0
test byte [ebp - 0x3a], 0x80
je 0x6160509b
mov eax, 0x989680
mul dword [ebp - 0x38]
mov edi, dword [ebp + 0x24]
add eax, 0xd53e8000
adc edx, 0x19db1de
mov dword [edi], eax
mov dword [edi + 4], edx
jmp 0x61604a3c
lea edx, [edx + edx*2]
lea ebx, [edi + edx*4]
mov edx, dword [ebx + 0x80c]
mov esi, dword [ebx + 0x808]
mov ebx, dword [ebp - 0x50]
add esi, edx
cmp esi, ecx
mov edi, esi
mov esi, dword [ebp - 0x58]
cmovb edi, ecx
cmp edx, ecx
cmovb edx, ecx
mov dword [ebx + 0x1408], esi
mov ebx, dword [ebp - 0x5c]
mov dword [ebp - 0x68], edi
mov esi, edx
mov dword [ebp - 0x58], edx
sub esi, ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov esi, dword [ebp - 0x64]
mov dword [esp], eax
call esi
mov edx, dword [ebp - 0x58]
sub esp, 0xc
sub edi, edx
mov ebx, edi
je 0x61604f81
lea esi, [esi]
cmp ebx, 0x400
mov edi, 0x400
mov dword [esp + 4], 0x61609500
cmovbe edi, ebx
mov dword [esp], eax
mov dword [esp + 8], edi
call esi
sub esp, 0xc
sub ebx, edi
jne 0x61604f58
mov dword [ebp - 0x64], esi
mov ecx, dword [ebp - 0x68]
mov edi, dword [ebp - 0x50]
cmp dword [ebp - 0x6c], ecx
jbe 0x616050f8
mov edx, dword [edi + 0x1408]
jmp 0x61604e20
mov eax, dword [ebp - 0x24]
jmp 0x61604b91
mov ecx, dword [ebp - 0x4c]
mov dword [esp + 8], eax
lea edx, [ecx + eax]
mov dword [esp + 4], ecx
mov dword [esp], edx
call sym._memcpy
jmp 0x61604d66
mov dword [esp + 0xc], str.interleaved_LZXD_decompression_is_not_supported._n
mov dword [esp + 8], str.apply_patch_to_file_by_buffers
mov dword [esp + 4], 0x61607038
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_2
jmp 0x61604cd4
xor eax, eax
lea edx, [edi + 0x804]
mov dword [ebp - 0x50], edx
jmp 0x61604dce
mov ebx, eax
cmp eax, 0xc00e4101
jne 0x61604a3c
test byte [0x61607038], 1
je 0x61604a3c
mov dword [esp + 0xc], str.decode_failure:_data_corruption_or_bug._n
mov dword [esp + 8], str.apply_patch_to_file_by_buffers
mov dword [esp + 4], 0x61607038
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_2
jmp 0x61604a3c
and ecx, 0x7f00fff8
mov dword [esp + 0xc], str.unsupported_option_flag_s_:_0x_08lx_n
mov dword [esp + 0x10], ecx
mov dword [esp + 8], str.read_header
mov dword [esp + 4], 0x61607038
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_2
mov eax, dword [ebp - 0x28]
mov edi, eax
jmp 0x61604af9
mov dword [esp + 0xc], str.patch_file_crc32_failed_n
mov dword [esp + 8], str.read_header
mov dword [esp + 4], 0x61607038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x61604bd2
xor ebx, ebx
jmp 0x61604a3c
mov edi, dword [ebp - 0x4c]
mov dword [esp + 8], eax
add eax, edi
mov dword [esp], edi
mov dword [esp + 4], eax
call sym._memcmp
test eax, eax
jne 0x61604e8a
mov ebx, 0xc00e4105
jmp 0x61604a3c
mov eax, dword [ebp - 0x4c]
mov edi, dword [ebp + 0x18]
mov dword [ebp - 0x60], eax
mov dword [edi], eax
jmp 0x61604e9b
test byte [0x61607038], 1
jne 0x61605103
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], 0x665
mov ebx, 0x665
mov edi, eax
jmp 0x616045ad
mov dword [ebp - 0x6c], eax
mov ebx, dword [ebp - 0x74]
jmp 0x61604e6d
mov dword [esp + 0xc], str.special_processing_of_32_bit_executables_not_implemented._n
mov dword [esp + 8], str.read_header
mov dword [esp + 4], 0x61607038
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_2
jmp 0x616050e2