Function at 0x413340
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x3c
mov eax, dword [0x41c160]
mov ebx, dword [0x41c15c]
test eax, eax
je 0x4134c8
movzx eax, byte [0x41c16c]
mov esi, dword [0x41c164]
mov byte [esi], al
mov dword [ebp - 0x24], esi
mov ecx, dword [0x41c154]
mov edi, dword [0x41c158]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x1c], edi
xor edi, edi
lea esi, [esi]
nop
cmp word [ebx + ebx + 0x41a1c0], 0
mov ecx, dword [ebp - 0x1c]
cmovne ecx, ebx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x20]
cmovne ecx, esi
mov dword [ebp - 0x20], ecx
mov ecx, 1
cmovne edi, ecx
movzx ecx, byte [eax + 0x41a0c0]
movsx eax, word [ebx + ebx + 0x41a060]
add eax, ecx
movsx edx, word [eax + eax + 0x419ec0]
cmp ebx, edx
je 0x4133fb
movsx ebx, word [ebx + ebx + 0x41a000]
mov edx, ebx
cmp bx, 0x1b
jle 0x4133e7
movzx ecx, byte [ecx + 0x41a0a4]
movsx eax, word [ebx + ebx + 0x41a060]
add eax, ecx
cmp dx, word [eax + eax + 0x419ec0]
jne 0x4133d0
movsx ebx, word [eax + eax + 0x419f60]
add esi, 1
cmp ebx, 0x1b
je 0x413410
movzx eax, byte [esi]
jmp 0x413390
mov eax, edi
test al, al
je 0x4134bd
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov dword [0x41c154], edi
mov dword [0x41c158], eax
mov esi, dword [ebp - 0x24]
mov edx, edi
movsx eax, word [eax + eax + 0x41a1c0]
mov dword [ebp - 0x1c], edi
mov dword [0x41c164], edi
sub edx, esi
mov dword [0x41c238], esi
mov dword [0x41c220], edx
movzx edx, byte [edi]
mov byte [edi], 0
mov byte [0x41c16c], dl
cmp eax, 0x11
ja case.default.0x413464
jmp dword [eax*4 + 0x419c1c]
mov edx, dword [0x41c238]
movzx ecx, byte [edx]
cmp cl, 0x22
je 0x413838
cmp cl, 0x60
je 0x413846
lea ecx, [eax - 1]
mov dword [ebx + 0x88], ecx
test ecx, ecx
je 0x413b30
mov eax, dword [ebx + 4]
lea ecx, [eax + 1]
mov dword [ebx + 4], ecx
movzx edx, byte [edx]
mov byte [eax], dl
movzx eax, byte [0x41c16c]
mov esi, dword [0x41c164]
mov ebx, dword [0x41c15c]
jmp 0x413369
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
jmp 0x41342b
mov dword [0x41c160], 1
test ebx, ebx
jne 0x4134e0
mov dword [0x41c15c], 1
mov eax, dword [0x41c148]
test eax, eax
je 0x413821
mov eax, dword [0x41c144]
test eax, eax
je 0x41380a
mov eax, dword [0x41c170]
test eax, eax
je 0x413550
mov edx, dword [0x41c178]
lea edx, [eax + edx*4]
mov eax, dword [edx]
test eax, eax
je 0x413550
mov esi, dword [eax + 8]
mov ecx, dword [eax + 0x10]
mov ebx, dword [0x41c15c]
mov dword [0x41c238], esi
mov eax, dword [edx]
mov dword [0x41c168], ecx
mov eax, dword [eax]
mov dword [0x41c164], esi
mov dword [0x41c148], eax
movzx eax, byte [esi]
mov byte [0x41c16c], al
jmp 0x413369
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
call sym._yyensure_buffer_stack
mov edx, dword [0x41c178]
mov eax, dword [0x41c170]
mov dword [esp + 4], 0x4000
lea ebx, [eax + edx*4]
mov eax, dword [0x41c148]
mov dword [esp], eax
call dbg.yy_create_buffer
mov edx, dword [0x41c178]
mov dword [ebx], eax
mov eax, dword [0x41c170]
lea edx, [eax + edx*4]
mov eax, dword [edx]
jmp 0x413512
mov ebx, dword [0x41c150]
mov eax, dword [ebx + 0x88]
test eax, eax
jne 0x41346b
cmp dword [ebx + 0x10c], 0x1f
ja 0x4139f7
mov eax, dword [ebx]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_strlen]
mov esi, dword [ebx + 0x10c]
mov dword [esp + 4], 0
add eax, 1
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 [0x41c15c], 3
mov dword [ebx + esi*4 + 0x8c], eax
mov ebx, dword [0x41c150]
sub esp, 0xc
add dword [ebx + 0x10c], 1
mov dword [ebx + 4], eax
mov dword [0x41c230], eax
mov eax, dword [0x41c238]
mov ecx, dword [ebx + 0x88]
movsx eax, byte [eax]
lea edx, [ecx + 1]
mov dword [ebx + 0x88], edx
mov dword [ebx + ecx*4 + 8], eax
cmp edx, 0x1f
jbe case.0x413464.12
mov dword [esp + 8], 0x55
mov dword [esp + 4], str.programs_winhlp32_macro.lex.l
mov dword [esp], str.lex_data__quote_stk_idx___ARRAY_SIZE_lex_data__quote_stack_
call dword [sym.imp.ucrtbase.dll__assert]
jmp case.0x413464.12
mov edx, dword [0x41c150]
mov eax, dword [edx + 4]
lea ecx, [eax + 1]
mov dword [edx + 4], ecx
mov edx, dword [0x41c238]
movzx edx, byte [edx]
mov byte [eax], dl
jmp case.0x413464.12
mov edx, dword [0x41c150]
mov eax, dword [edx + 4]
lea ecx, [eax + 1]
mov dword [edx + 4], ecx
mov edx, dword [0x41c238]
movzx edx, byte [edx + 1]
mov byte [eax], dl
jmp case.0x413464.12
mov eax, dword [0x41c238]
movsx eax, byte [eax]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [0x41c144]
mov dword [esp + 8], 1
mov dword [esp + 0xc], eax
mov eax, dword [0x41c220]
mov dword [esp + 4], eax
mov eax, dword [0x41c238]
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_fwrite]
jmp case.0x413464.12
mov edi, dword [ebp - 0x1c]
movzx eax, byte [0x41c16c]
mov byte [edi], al
mov edi, dword [0x41c154]
mov eax, dword [0x41c158]
jmp 0x41342b
mov dword [esp + 8], 0xa
mov eax, dword [0x41c238]
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.ucrtbase.dll_strtol]
mov dword [0x41c22c], eax
lea esp, [ebp - 0xc]
mov eax, 3
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 8], 0x10
jmp 0x4136f2
mov eax, dword [0x41c238]
mov dword [esp + 4], 0x41c224
mov dword [esp], eax
call dbg.MACRO_Lookup
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [ebp - 0x1c]
mov ecx, dword [0x41c168]
mov eax, edi
sub eax, dword [0x41c238]
sub eax, 1
mov dword [ebp - 0x2c], eax
movzx eax, byte [0x41c16c]
mov byte [edi], al
mov eax, dword [0x41c178]
mov edi, dword [0x41c170]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x20], edi
lea edi, [edi + eax*4]
mov ebx, dword [edi]
mov eax, dword [ebx + 0x2c]
test eax, eax
jne 0x413799
mov eax, dword [0x41c148]
mov ecx, dword [ebx + 0x10]
mov dword [ebx], eax
mov eax, dword [edi]
mov dword [0x41c168], ecx
mov dword [eax + 0x2c], 1
mov ebx, dword [edi]
mov eax, dword [0x41c164]
mov edx, dword [ebx + 4]
mov esi, dword [0x41c238]
mov dword [ebp - 0x28], eax
lea eax, [edx + ecx]
cmp dword [ebp - 0x28], eax
jbe 0x413ab2
lea ecx, [edx + ecx + 1]
cmp dword [ebp - 0x28], ecx
ja 0x413b5a
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebx + 0x28]
sub ecx, esi
mov dword [ebp - 0x30], ecx
test eax, eax
jne 0x413859
cmp ecx, 1
je 0x4139ae
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x34]
mov edx, dword [eax + edi*4]
mov eax, dword [0x41c168]
add eax, dword [edx + 4]
mov dword [0x41c164], eax
mov edi, eax
call dbg.yy_get_previous_state
mov esi, dword [0x41c238]
mov dword [ebp - 0x24], esi
jmp 0x41342b
mov dword [esp], 1
call dword [sym.imp.ucrtbase.dll___acrt_iob_func]
mov dword [0x41c144], eax
jmp 0x4134fa
mov dword [esp], 0
call dword [sym.imp.ucrtbase.dll___acrt_iob_func]
mov dword [0x41c148], eax
jmp 0x4134ed
cmp dword [ebx + eax*4 + 4], 0x22
lea ecx, [eax - 1]
je 0x413489
mov eax, dword [ebx + 4]
lea ecx, [eax + 1]
mov dword [ebx + 4], ecx
movzx edx, byte [edx]
mov byte [eax], dl
jmp 0x41360c
mov eax, dword [ebp - 0x30]
lea ecx, [eax - 1]
mov dword [ebp - 0x20], ecx
test ecx, ecx
jle 0x413880
mov eax, dword [ebp - 0x28]
add ecx, edx
movzx ebx, byte [esi]
add edx, 1
add esi, 1
mov byte [edx - 1], bl
cmp edx, ecx
jne 0x41386b
mov dword [ebp - 0x28], eax
mov ebx, dword [edi]
cmp dword [ebx + 0x2c], 2
je 0x413a5c
mov edx, dword [ebx + 0xc]
sub edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x28]
cmp edx, 1
jle 0x4138d8
jmp 0x413905
mov eax, dword [ebx + 0xc]
test eax, eax
jle 0x4138f8
add eax, eax
mov dword [ebx + 0xc], eax
add eax, 2
mov dword [esp + 4], eax
mov dword [esp], edx
call dword [sym.imp.ucrtbase.dll_realloc]
mov dword [ebx + 4], eax
test eax, eax
je 0x4138eb
mov ebx, dword [edi]
add esi, eax
mov dword [0x41c164], esi
mov eax, dword [ebx + 0xc]
sub eax, dword [ebp - 0x20]
cmp eax, 1
jg 0x413905
mov edx, dword [ebx + 4]
mov ecx, dword [ebx + 0x14]
sub esi, edx
test ecx, ecx
jne 0x4138a0
mov dword [ebx + 4], 0
mov eax, str.fatal_error___scanner_input_buffer_overflow
call dbg.yy_fatal_error
lea esi, [esi]
lea ecx, [eax + 7]
cmovns ecx, eax
sar ecx, 3
add eax, ecx
jmp 0x4138a9
mov edx, dword [0x41c150]
mov eax, dword [edx]
movzx esi, byte [eax]
mov ecx, esi
test cl, cl
setne cl
movzx ecx, cl
mov dword [0x41c168], ecx
je 0x4139cd
lea ecx, [eax + 1]
mov esi, dword [ebp - 0x30]
xor ebx, ebx
mov dword [edx], ecx
movzx edx, byte [eax]
mov eax, dword [edi]
mov eax, dword [eax + 4]
mov byte [eax + esi - 1], dl
mov eax, dword [edi]
mov dword [eax + 0x10], 1
mov eax, 1
mov ecx, dword [ebp - 0x20]
mov esi, dword [edi]
add ecx, eax
mov edx, dword [esi + 4]
cmp ecx, dword [esi + 0xc]
jg 0x413a1f
mov byte [edx + ecx], 0
mov eax, dword [edi]
mov dword [0x41c168], ecx
mov eax, dword [eax + 4]
mov byte [eax + ecx + 1], 0
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov dword [0x41c238], esi
cmp ebx, 1
je 0x4139ae
cmp ebx, 2
je 0x413a72
mov ecx, esi
mov esi, dword [ebp - 0x2c]
add esi, ecx
mov dword [0x41c164], esi
call dbg.yy_get_previous_state
mov ebx, eax
mov eax, dword [0x41c238]
mov dword [ebp - 0x24], eax
movzx eax, byte [esi]
jmp 0x41336e
mov eax, dword [0x41c15c]
mov dword [0x41c164], esi
lea edx, [eax - 1]
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
add eax, 0x10
jmp 0x41345b
mov dword [ebx + 0x10], 0
mov edx, dword [ebp - 0x20]
test edx, edx
je 0x413a87
mov eax, dword [edi]
mov ebx, 2
mov dword [eax + 0x2c], 2
mov eax, dword [0x41c168]
jmp 0x41394a
mov dword [esp + 8], 0x4d
mov dword [esp + 4], str.programs_winhlp32_macro.lex.l
mov dword [esp], str.lex_data__cache_used___ARRAY_SIZE_lex_data__cache_string_
call dword [sym.imp.ucrtbase.dll__assert]
mov ebx, dword [0x41c150]
jmp 0x4135ad
sar eax, 1
mov dword [ebp - 0x28], ecx
add eax, ecx
mov dword [esp], edx
mov dword [ebp - 0x20], eax
mov dword [esp + 4], eax
call dword [sym.imp.ucrtbase.dll_realloc]
mov ecx, dword [ebp - 0x28]
mov dword [esi + 4], eax
mov edx, dword [edi]
mov eax, dword [edx + 4]
test eax, eax
je 0x413b64
mov eax, dword [ebp - 0x20]
sub eax, 2
mov dword [edx + 0xc], eax
mov eax, dword [edi]
mov edx, dword [eax + 4]
jmp 0x41395d
mov dword [0x41c168], 0
mov dword [ebx + 0x10], 0
jmp 0x4139d4
mov eax, dword [0x41c170]
mov dword [ebp - 0x20], eax
mov eax, dword [0x41c178]
mov dword [ebp - 0x34], eax
jmp 0x4137df
mov eax, dword [0x41c148]
mov ebx, 1
mov dword [esp], eax
call dbg.yyrestart
mov edi, dword [0x41c178]
mov esi, dword [0x41c170]
mov eax, dword [0x41c168]
lea edi, [esi + edi*4]
jmp 0x41394a
add esi, dword [ebp - 0x2c]
mov dword [0x41c164], esi
call dbg.yy_get_previous_state
cmp word [eax + eax + 0x41a1c0], 0
mov edx, eax
jne 0x413b70
mov edi, dword [0x41c154]
mov eax, dword [0x41c158]
jmp 0x413ae8
movsx edx, word [edx + edx + 0x41a000]
movsx ebx, word [edx + edx + 0x41a060]
lea ecx, [ebx + 1]
movsx ebx, word [ebx + ebx + 0x419ec2]
cmp edx, ebx
jne 0x413ae0
movsx ebx, word [ecx + ecx + 0x419f60]
mov ecx, dword [0x41c238]
mov dword [ebp - 0x24], ecx
cmp ebx, 0x1b
je 0x41342b
test ebx, ebx
je 0x41342b
add esi, 1
mov dword [0x41c164], esi
jmp 0x4139a6
mov dword [0x41c15c], 1
mov eax, dword [ebx + 4]
lea edx, [eax + 1]
mov dword [ebx + 4], edx
mov byte [eax], 0
mov eax, 4
jmp 0x413548
mov eax, str.fatal_flex_scanner_internal_error__no_action_found
call dbg.yy_fatal_error
mov eax, str.fatal_flex_scanner_internal_error__end_of_buffer_missed
call dbg.yy_fatal_error
mov eax, str.out_of_dynamic_memory_in_yy_get_next_buffer__
call dbg.yy_fatal_error
nop
mov dword [0x41c158], eax
mov edi, esi
mov dword [0x41c154], esi
jmp 0x413ae8