Function at 0x402260
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, edx
push esi
mov esi, ecx
push ebx
mov ebx, eax
sub esp, 0x3c
mov edx, dword [ebp + 8]
movzx ecx, dl
test byte [0x416010], 8
jne 0x4023f8
cmp dl, 2
je 0x40243d
ja 0x4022e8
test dl, dl
je 0x4024e0
mov dword [esp + 8], esi
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_HeapAlloc]
mov ecx, eax
mov eax, dword [ebp + 0xc]
sub esp, 0xc
mov dword [eax], ecx
test ecx, ecx
je 0x4022d7
mov dword [esp], esi
lea edx, [ebx + edi]
mov eax, ebx
mov dword [ebp - 0x1c], ecx
call dbg.HLPFILE_UncompressRLE
mov ecx, dword [ebp - 0x1c]
lea esp, [ebp - 0xc]
mov eax, ecx
pop ebx
pop esi
pop edi
pop ebp
ret
cmp dl, 3
jne 0x4023b8
lea edx, [ebx + edi]
mov eax, ebx
mov dword [ebp - 0x28], edx
call dbg.HLPFILE_UncompressedLZ77_Size
mov dword [esp + 4], 0
mov ecx, dword [sym.imp.kernel32.dll_HeapAlloc]
mov dword [esp + 8], eax
mov edi, dword fs:[0x18]
mov dword [ebp - 0x20], eax
mov eax, dword [edi + 0x30]
mov dword [ebp - 0x1c], edi
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x24], ecx
mov dword [esp], eax
call ecx
sub esp, 0xc
mov edi, eax
test eax, eax
je 0x4023e9
mov edx, dword [ebp - 0x28]
mov ecx, eax
mov eax, ebx
call dbg.HLPFILE_UncompressLZ77
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov dword [esp + 8], esi
mov dword [esp + 4], 0
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call ecx
mov ecx, eax
mov eax, dword [ebp + 0xc]
sub esp, 0xc
mov dword [eax], ecx
test ecx, ecx
je 0x402536
mov edx, dword [ebp - 0x20]
mov dword [esp], esi
mov eax, edi
mov dword [ebp - 0x20], ecx
add edx, edi
call dbg.HLPFILE_UncompressRLE
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, dword [ebp - 0x20]
sub esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
mov eax, ecx
pop esi
pop edi
pop ebp
ret
test byte [0x416010], 1
je 0x4023e9
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], str.Unsupported_packing__u_n
mov dword [esp + 8], str.HLPFILE_DecompressGfx
mov dword [esp + 4], 0x416010
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_1
lea esp, [ebp - 0xc]
xor ecx, ecx
pop ebx
mov eax, ecx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], edi
mov dword [esp + 0xc], str.Unpacking___d__from__u_bytes_to__u_bytes_n
mov dword [esp + 8], str.HLPFILE_DecompressGfx
mov dword [esp + 4], 0x416010
mov dword [esp], 3
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
call sym._wine_dbg_log.constprop.0_1
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
cmp dl, 2
jne 0x40228b
lea edx, [ebx + edi]
mov eax, ebx
mov dword [ebp - 0x1c], edx
call dbg.HLPFILE_UncompressedLZ77_Size
mov dword [esp + 4], 0
mov edi, eax
mov dword [esp + 8], edi
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 edx, dword [ebp - 0x1c]
mov ecx, eax
mov eax, dword [ebp + 0xc]
sub esp, 0xc
test ecx, ecx
mov dword [eax], ecx
je 0x4023e9
mov eax, ebx
mov dword [ebp - 0x1c], ecx
call dbg.HLPFILE_UncompressLZ77
cmp esi, edi
mov ecx, dword [ebp - 0x1c]
je 0x4022d7
test byte [0x416010], 4
je 0x4022d7
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], str.Bogus_gfx_sizes__LZ77_:__u____u_n
mov dword [esp + 8], str.HLPFILE_DecompressGfx
mov dword [esp + 4], 0x416010
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_1
mov ecx, dword [ebp - 0x1c]
jmp 0x4022d7
cmp edi, esi
je 0x4024ed
test byte [0x416010], 4
jne 0x402508
mov eax, dword [ebp + 0xc]
mov ecx, ebx
mov dword [eax], 0
lea esp, [ebp - 0xc]
mov eax, ecx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.Bogus_gfx_sizes__uncompressed_:__u____u_n
mov dword [esp + 8], str.HLPFILE_DecompressGfx
mov dword [esp + 4], 0x416010
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_1
jmp 0x4024ed
mov dword [ebp - 0x20], ecx
jmp 0x402385