Function at 0x6fb4df80
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, edx
sub esp, 0x5c
mov dword [ebp - 0x40], eax
mov ecx, dword [edx]
mov eax, dword [edx + 4]
movzx edx, byte [0x6fb5e160]
mov dword [ebp - 0x1c], eax
cmp ecx, 0x47534350
je 0x6fb4e278
ja 0x6fb4e150
mov dword [ebp - 0x30], 7
cmp ecx, 0x3547534f
jne 0x6fb4e16f
mov edi, dword [eax]
add eax, 4
and edx, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], edi
jne 0x6fb4e1d8
lea eax, [ebp - 0x1c]
mov dword [esp + 4], 1
mov dword [esp], eax
call sym._skip_u32_unknown
imul eax, dword [ebp - 0x2c], 0x1c
mov dword [esp + 4], 0
mov edx, dword fs:[0x18]
mov edi, dword [sym.imp.kernel32.dll_HeapAlloc]
mov dword [ebp - 0x34], edx
mov dword [esp + 8], eax
mov eax, dword [edx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edi
mov edx, dword [ebp - 0x34]
sub esp, 0xc
test eax, eax
mov dword [ebp - 0x3c], eax
je 0x6fb4e2be
mov eax, dword [ebp - 0x30]
imul eax, dword [ebp - 0x2c]
mov esi, dword [ebx + 8]
mov dword [esp + 4], 0
lea eax, [eax*4 + 8]
sub esi, eax
mov dword [ebp - 0x38], eax
mov dword [esp + 8], esi
mov eax, dword [edx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call edi
mov dword [ebp - 0x34], eax
sub esp, 0xc
test eax, eax
je 0x6fb4e284
mov eax, dword [ebp - 0x38]
add eax, dword [ebx + 4]
mov dword [esp + 8], esi
xor esi, esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x34]
mov dword [esp], eax
call sym._memcpy
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x3c]
mov edi, dword [sym.imp.ucrtbase.dll__stricmp]
test eax, eax
jne 0x6fb4e0ea
jmp 0x6fb4e130
mov dword [ebx + 0x18], 0
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0x38]
add eax, 0x18
add edx, dword [eax - 0x18]
mov dword [ebx], edx
mov ecx, dword [eax - 0x14]
mov dword [ebx + 4], ecx
mov ecx, dword [eax - 0x10]
mov dword [ebx + 0xc], ecx
mov ecx, dword [eax - 0xc]
mov dword [ebx + 0x10], ecx
mov ecx, dword [eax - 8]
mov dword [ebx + 8], ecx
mov ecx, dword [eax - 4]
mov dword [ebp - 0x1c], eax
mov byte [ebx + 0x15], ch
mov byte [ebx + 0x14], cl
mov dword [esp + 4], str.sv_depth
mov dword [esp], edx
call edi
test eax, eax
jne 0x6fb4e100
mov dword [ebx + 0xc], 0x41
inc esi
add ebx, 0x1c
cmp esi, dword [ebp - 0x2c]
je 0x6fb4e130
cmp dword [ebp - 0x30], 7
mov eax, dword [ebp - 0x1c]
jne 0x6fb4e090
mov edx, dword [eax]
add eax, 4
mov dword [ebp - 0x1c], eax
mov dword [ebx + 0x18], edx
jmp 0x6fb4e097
mov dword [esp + 4], str.sv_coverage
mov eax, dword [ebx]
mov dword [esp], eax
call edi
test eax, eax
jne 0x6fb4e208
mov dword [ebx + 0xc], 0x42
inc esi
add ebx, 0x1c
cmp esi, dword [ebp - 0x2c]
jne 0x6fb4e0ea
lea esi, [esi]
nop
mov eax, dword [ebp - 0x40]
mov edi, dword [ebp - 0x3c]
xor ebx, ebx
mov dword [eax], edi
mov edi, dword [ebp - 0x2c]
mov dword [eax + 4], edi
mov edi, dword [ebp - 0x34]
mov dword [eax + 8], edi
lea esp, [ebp - 0xc]
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [ebp - 0x30], 6
cmp ecx, 0x4e475349
je 0x6fb4dfc2
cmp ecx, 0x4e47534f
je 0x6fb4dfc2
mov dword [ebp - 0x30], 6
test dl, 1
je 0x6fb4dfc2
mov edx, 4
mov eax, ebx
call sym._wine_dbgstr_an
mov dword [esp + 0xc], str.Unhandled_section__s__n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.d3dcompiler_parse_signature
mov dword [esp + 4], 0x6fb5e160
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_3
mov eax, dword [ebp - 0x1c]
movzx edx, byte [0x6fb5e160]
mov edi, dword [eax]
add eax, 4
and edx, 8
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], edi
je 0x6fb4dfd6
lea esi, [esi]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], str._u_elements_n
mov dword [esp + 8], str.d3dcompiler_parse_signature
mov dword [esp + 4], 0x6fb5e160
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_3
jmp 0x6fb4dfd6
mov dword [esp + 4], str.sv_depthgreaterequal
mov eax, dword [ebx]
mov dword [esp], eax
call edi
test eax, eax
jne 0x6fb4e230
mov dword [ebx + 0xc], 0x43
jmp 0x6fb4e0e1
mov dword [esp + 4], str.sv_depthlessequal
mov eax, dword [ebx]
mov dword [esp], eax
call edi
test eax, eax
jne 0x6fb4e250
mov dword [ebx + 0xc], 0x44
jmp 0x6fb4e0e1
mov dword [esp + 4], str.sv_target
mov eax, dword [ebx]
mov dword [esp], eax
call edi
test eax, eax
jne 0x6fb4e0e1
mov dword [ebx + 0xc], 0x40
jmp 0x6fb4e0e1
mov dword [ebp - 0x30], 6
jmp 0x6fb4dfc2
test byte [0x6fb5e160], 2
jne 0x6fb4e2f9
mov edi, dword [ebp - 0x3c]
mov dword [esp + 4], 0
mov ebx, 0x8007000e
mov eax, dword fs:[0x18]
mov dword [esp + 8], edi
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
sub esp, 0xc
jmp 0x6fb4e146
mov ebx, 0x8007000e
test byte [0x6fb5e160], 2
je 0x6fb4e146
mov dword [esp + 0xc], str.Failed_to_allocate_signature_memory._n
mov dword [esp + 8], str.d3dcompiler_parse_signature
mov dword [esp + 4], 0x6fb5e160
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_3
jmp 0x6fb4e146
mov dword [esp + 0xc], str.Failed_to_allocate_string_data_memory._n
mov dword [esp + 8], str.d3dcompiler_parse_signature
mov dword [esp + 4], 0x6fb5e160
mov dword [esp], 1
call sym._wine_dbg_log.constprop.0_3
jmp 0x6fb4e28d