Function at 0x7ac36a80
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x18c
test edx, edx
je 0x7ac36d7d
mov ebx, eax
xor esi, esi
xor edi, edi
mov eax, edx
jmp 0x7ac36ab9
test dword [eax + 0x14], 0x108000
je 0x7ac36abd
cmp eax, ebx
je 0x7ac36ac9
mov dword [esp], eax
call fcn.7ac2ad70
test eax, eax
je 0x7ac36ac9
test esi, esi
je 0x7ac36aa0
add edi, 1
mov esi, 1
cmp eax, ebx
jne 0x7ac36aad
test byte [0x7ac41010], 8
jne 0x7ac36d50
test edi, edi
je 0x7ac36be4
lea eax, [ebp - 0x158]
mov dword [ebp - 0x168], eax
cmp edi, 0x10
jg 0x7ac36d10
mov eax, dword [ebp - 0x168]
mov dword [ebp - 0x174], ebx
mov edx, ebx
xor esi, esi
lea ecx, [edi*4]
add eax, ecx
mov dword [ebp - 0x178], ecx
mov dword [ebp - 0x16c], eax
add eax, ecx
mov dword [ebp - 0x160], eax
add eax, ecx
mov dword [ebp - 0x15c], eax
add eax, ecx
mov dword [ebp - 0x170], eax
mov ebx, eax
jmp 0x7ac36b4d
mov dword [esp], edx
add esi, 1
call fcn.7ac2ad20
mov edx, eax
cmp edi, esi
je 0x7ac36bf0
movzx eax, byte [edx + 0x2e]
mov ecx, dword [ebp - 0x160]
and eax, 0x1f
mov byte [ebx + esi], al
mov eax, dword [edx + 0x10]
mov dword [ecx + esi*4], eax
test byte [0x7ac41010], 8
je 0x7ac36b38
mov dword [esp + 0x18], eax
movzx eax, byte [ebx + esi]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], str._d:_level__d_width__d_n
mov dword [esp + 8], str.layout_row
mov dword [esp + 4], 0x7ac41010
mov dword [esp], 3
mov dword [ebp - 0x164], edx
call fcn.7ac367b0
mov edx, dword [ebp - 0x164]
jmp 0x7ac36b38
mov edi, dword [ebp - 0x168]
lea eax, [ebp - 0x158]
cmp edi, eax
je 0x7ac36be4
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]
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [ebp - 0x168]
mov ebx, dword [ebp - 0x174]
mov dword [esp], edi
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x16c]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x170]
mov dword [esp + 4], eax
call sub.usp10.dll_ScriptLayout
mov edx, dword [ebp - 0x164]
mov ecx, dword [ebp - 0x15c]
sub esp, 0x10
mov eax, dword [edx + 4]
mov edx, dword [eax + 0xec]
mov dword [ecx], edx
cmp edi, 1
je 0x7ac36c8d
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x164], esi
add ecx, 4
mov dword [ebp - 0x170], ebx
lea esi, [esi + eax - 4]
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x164], edi
mov edi, dword [ebp - 0x160]
jmp 0x7ac36c73
add ecx, 4
mov ebx, dword [eax]
add eax, 4
add edx, dword [edi + ebx*4]
mov dword [ecx], edx
cmp esi, eax
jne 0x7ac36c70
mov edi, dword [ebp - 0x164]
mov ebx, dword [ebp - 0x170]
xor esi, esi
mov edx, ebx
mov ebx, esi
mov esi, dword [ebp - 0x16c]
jmp 0x7ac36cb5
mov dword [esp], edx
add ebx, 1
call fcn.7ac2ad20
mov edx, eax
cmp edi, ebx
je 0x7ac36bb0
mov eax, dword [esi + ebx*4]
mov ecx, dword [ebp - 0x15c]
mov eax, dword [ecx + eax*4]
mov dword [edx + 0x20], eax
test byte [0x7ac41010], 8
je 0x7ac36ca0
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], str._d:_x___ld_n
mov dword [esp + 8], str.layout_row
mov dword [esp + 4], 0x7ac41010
mov dword [esp], 3
mov dword [ebp - 0x160], edx
call fcn.7ac367b0
mov edx, dword [ebp - 0x160]
jmp 0x7ac36ca0
lea eax, [edi + edi*4]
mov dword [esp + 4], 0
shl eax, 2
mov dword [esp + 8], eax
mov edx, dword fs:[0x18]
mov eax, dword [edx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov dword [ebp - 0x168], eax
sub esp, 0xc
jmp 0x7ac36af3
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], str._d_runs_n
mov dword [esp + 8], str.layout_row
mov dword [esp + 4], 0x7ac41010
mov dword [esp], 3
call fcn.7ac367b0
jmp 0x7ac36ad6
test byte [0x7ac41010], 8
je 0x7ac36be4
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], str._d_runs_n
mov dword [esp + 8], str.layout_row
mov dword [esp + 4], 0x7ac41010
mov dword [esp], 3
call fcn.7ac367b0
jmp 0x7ac36be4