Function at 0x691c8ee0
Capabilities:
Get process heap flags

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x48
mov ebx, dword [ecx]
mov edi, dword [ecx + 4]
mov esi, dword [ecx + 8]
test byte [0x691e0038], 8
jne 0x691c90f8
mov eax, dword [ebx]
cmp eax, dword [0x691e3a14]
je 0x691c90c0
cmp eax, dword [0x691e3a04]
je 0x691c9220
cmp eax, dword [0x691e39f4]
je 0x691c9368
cmp eax, dword [0x691e39e4]
je 0x691c9250
cmp eax, dword [0x691e39d4]
je 0x691c93c0
cmp eax, dword [0x691e39c4]
je 0x691c9330
cmp eax, dword [0x691e39b4]
je 0x691c9460
cmp eax, dword [0x691e39a4]
je 0x691c9498
cmp eax, dword [0x691e38e4]
je 0x691c9418
cmp eax, dword [0x691e38d4]
je 0x691c94d0
cmp eax, dword [0x691e38c4]
je 0x691c9508
cmp eax, dword [0x691e38b4]
je 0x691c9540
cmp eax, dword [0x691e38a4]
je 0x691c9578
cmp eax, dword [0x691e3894]
je 0x691c95b0
cmp eax, dword [0x691e3884]
je 0x691c95e8
cmp eax, dword [0x691e3874]
je 0x691c961a
cmp eax, dword [0x691e3864]
je 0x691c964c
cmp eax, dword [0x691e3854]
je 0x691c967e
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x691e3844
mov dword [esp], ebx
call sub.ucrtbase.dll_memcmp
test eax, eax
je 0x691c9093
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x691e3834
mov dword [esp], ebx
call sub.ucrtbase.dll_memcmp
test eax, eax
je 0x691c9093
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x691e3824
mov dword [esp], ebx
call sub.ucrtbase.dll_memcmp
test eax, eax
je 0x691c9093
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x691e3814
mov dword [esp], ebx
call sub.ucrtbase.dll_memcmp
test eax, eax
je 0x691c9093
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x691e3804
mov dword [esp], ebx
call sub.ucrtbase.dll_memcmp
test eax, eax
je 0x691c9093
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x691e37f4
mov dword [esp], ebx
call sub.ucrtbase.dll_memcmp
test eax, eax
jne 0x691c96ad
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], 0x691e37f4
call fcn.691c3d20
mov esi, eax
lea esp, [ebp - 0x10]
mov eax, esi
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0xc
mov edx, dword [0x691e3a18]
cmp dword [ebx + 4], edx
jne 0x691c8f17
mov ecx, dword [0x691e3a1c]
cmp dword [ebx + 8], ecx
jne 0x691c8f17
mov ecx, dword [0x691e3a20]
cmp dword [ebx + 0xc], ecx
jne 0x691c8f17
jmp 0x691c9280
test edi, edi
je 0x691c9408
mov eax, edi
shr eax, 0x10
je 0x691c9310
movzx eax, byte [edi + 0xf]
mov dword [esp + 0x2c], eax
movzx eax, byte [edi + 0xe]
mov dword [esp + 0x28], eax
movzx eax, byte [edi + 0xd]
mov dword [esp + 0x24], eax
movzx eax, byte [edi + 0xc]
mov dword [esp + 0x20], eax
movzx eax, byte [edi + 0xb]
mov dword [esp + 0x1c], eax
movzx eax, byte [edi + 0xa]
mov dword [esp + 0x18], eax
movzx eax, byte [edi + 9]
mov dword [esp + 0x14], eax
movzx eax, byte [edi + 8]
mov dword [esp + 0x10], eax
movzx eax, word [edi + 6]
mov dword [esp + 0xc], eax
movzx eax, word [edi + 4]
mov dword [esp + 8], eax
mov eax, dword [edi]
mov dword [esp], str._08x__04x__04x__02x_02x__02x_02x_02x_02x_02x_02x
mov dword [esp + 4], eax
call fcn.691c3e40
mov edx, eax
test ebx, ebx
je 0x691c93f8
mov eax, ebx
mov dword [ebp - 0x1c], edx
shr eax, 0x10
je 0x691c93a0
movzx eax, byte [ebx + 0xf]
mov dword [esp + 0x2c], eax
movzx eax, byte [ebx + 0xe]
mov dword [esp + 0x28], eax
movzx eax, byte [ebx + 0xd]
mov dword [esp + 0x24], eax
movzx eax, byte [ebx + 0xc]
mov dword [esp + 0x20], eax
movzx eax, byte [ebx + 0xb]
mov dword [esp + 0x1c], eax
movzx eax, byte [ebx + 0xa]
mov dword [esp + 0x18], eax
movzx eax, byte [ebx + 9]
mov dword [esp + 0x14], eax
movzx eax, byte [ebx + 8]
mov dword [esp + 0x10], eax
movzx eax, word [ebx + 6]
mov dword [esp + 0xc], eax
movzx eax, word [ebx + 4]
mov dword [esp + 8], eax
mov eax, dword [ebx]
mov dword [esp], str._08x__04x__04x__02x_02x__02x_02x_02x_02x_02x_02x
mov dword [esp + 4], eax
call fcn.691c3e40
mov edx, dword [ebp - 0x1c]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.__s___s___p__n
mov dword [esp + 8], str.DllGetClassObject
mov dword [esp + 4], 0x691e0038
mov dword [esp], 3
call fcn.691c4120
jmp 0x691c8f09
mov edx, dword [0x691e3a08]
cmp dword [ebx + 4], edx
jne 0x691c8f23
mov edx, dword [0x691e3a0c]
cmp dword [ebx + 8], edx
jne 0x691c8f23
mov ecx, dword [0x691e3a10]
cmp dword [ebx + 0xc], ecx
jne 0x691c8f23
jmp 0x691c9280
mov edx, dword [0x691e39e8]
cmp dword [ebx + 4], edx
jne 0x691c8f3b
mov ecx, dword [0x691e39ec]
cmp dword [ebx + 8], ecx
jne 0x691c8f3b
mov edx, dword [0x691e39f0]
cmp dword [ebx + 0xc], edx
jne 0x691c8f3b
lea esi, [esi]
mov edx, dword fs:[0x18]
mov dword [esp + 8], 8
mov dword [esp + 4], 0
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1c], edx
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
sub esp, 0xc
mov dword [eax], fcn.691c7d00
mov ebx, eax
mov dword [eax + 4], 0
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.691c7d00
mov edx, dword [ebp - 0x1c]
sub esp, 0xc
test eax, eax
mov esi, eax
jns 0x691c90a9
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov eax, dword [edx + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, esi
sub esp, 0xc
lea esp, [ebp - 0x10]
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret 0xc
movzx eax, di
mov dword [esp], str._guid_0x_04hx_
mov dword [esp + 4], eax
call fcn.691c3e40
mov edx, eax
jmp 0x691c916f
mov edx, dword [0x691e39c8]
cmp dword [ebx + 4], edx
jne 0x691c8f53
mov ecx, dword [0x691e39cc]
cmp dword [ebx + 8], ecx
jne 0x691c8f53
mov edx, dword [0x691e39d0]
cmp dword [ebx + 0xc], edx
jne 0x691c8f53
jmp 0x691c9280
mov edx, dword [0x691e39f8]
cmp dword [ebx + 4], edx
jne 0x691c8f2f
mov edx, dword [0x691e39fc]
cmp dword [ebx + 8], edx
jne 0x691c8f2f
mov ecx, dword [0x691e3a00]
cmp dword [ebx + 0xc], ecx
jne 0x691c8f2f
jmp 0x691c9280
movzx eax, bx
mov dword [esp], str._guid_0x_04hx_
mov dword [esp + 4], eax
call fcn.691c3e40
mov edx, dword [ebp - 0x1c]
jmp 0x691c91ea
mov ecx, dword [0x691e39d8]
cmp dword [ebx + 4], ecx
jne 0x691c8f47
mov edx, dword [0x691e39dc]
cmp dword [ebx + 8], edx
jne 0x691c8f47
mov edx, dword [0x691e39e0]
cmp dword [ebx + 0xc], edx
jne 0x691c8f47
jmp 0x691c9280
mov eax, str._null_
jmp 0x691c91ea
mov edx, str._null_
jmp 0x691c916f
mov edx, dword [0x691e38e8]
cmp dword [ebx + 4], edx
jne 0x691c8f77
mov ecx, dword [0x691e38ec]
cmp dword [ebx + 8], ecx
jne 0x691c8f77
mov ecx, dword [0x691e38f0]
cmp dword [ebx + 0xc], ecx
jne 0x691c8f77
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], 0x691e3874
call fcn.691c3d20
mov esi, eax
jmp 0x691c90a9
mov edx, dword [0x691e39b8]
cmp dword [ebx + 4], edx
jne 0x691c8f5f
mov ecx, dword [0x691e39bc]
cmp dword [ebx + 8], ecx
jne 0x691c8f5f
mov edx, dword [0x691e39c0]
cmp dword [ebx + 0xc], edx
jne 0x691c8f5f
jmp 0x691c9280
mov edx, dword [0x691e39a8]
cmp dword [ebx + 4], edx
jne 0x691c8f6b
mov edx, dword [0x691e39ac]
cmp dword [ebx + 8], edx
jne 0x691c8f6b
mov edx, dword [0x691e39b0]
cmp dword [ebx + 0xc], edx
jne 0x691c8f6b
jmp 0x691c9280
mov ecx, dword [0x691e38d8]
cmp dword [ebx + 4], ecx
jne 0x691c8f83
mov ecx, dword [0x691e38dc]
cmp dword [ebx + 8], ecx
jne 0x691c8f83
mov ecx, dword [0x691e38e0]
cmp dword [ebx + 0xc], ecx
jne 0x691c8f83
jmp 0x691c9445
mov ecx, dword [0x691e38c8]
cmp dword [ebx + 4], ecx
jne 0x691c8f8f
mov ecx, dword [0x691e38cc]
cmp dword [ebx + 8], ecx
jne 0x691c8f8f
mov edx, dword [0x691e38d0]
cmp dword [ebx + 0xc], edx
jne 0x691c8f8f
jmp 0x691c9445
mov edx, dword [0x691e38b8]
cmp dword [ebx + 4], edx
jne 0x691c8f9b
mov ecx, dword [0x691e38bc]
cmp dword [ebx + 8], ecx
jne 0x691c8f9b
mov edx, dword [0x691e38c0]
cmp dword [ebx + 0xc], edx
jne 0x691c8f9b
jmp 0x691c9445
mov ecx, dword [0x691e38a8]
cmp dword [ebx + 4], ecx
jne 0x691c8fa7
mov ecx, dword [0x691e38ac]
cmp dword [ebx + 8], ecx
jne 0x691c8fa7
mov edx, dword [0x691e38b0]
cmp dword [ebx + 0xc], edx
jne 0x691c8fa7
jmp 0x691c9445
mov edx, dword [0x691e3898]
cmp dword [ebx + 4], edx
jne 0x691c8fb3
mov ecx, dword [0x691e389c]
cmp dword [ebx + 8], ecx
jne 0x691c8fb3
mov edx, dword [0x691e38a0]
cmp dword [ebx + 0xc], edx
jne 0x691c8fb3
jmp 0x691c9445
mov ecx, dword [0x691e3888]
cmp dword [ebx + 4], ecx
jne 0x691c8fbf
mov edx, dword [0x691e388c]
cmp dword [ebx + 8], edx
jne 0x691c8fbf
mov ecx, dword [0x691e3890]
cmp dword [ebx + 0xc], ecx
jne 0x691c8fbf
jmp 0x691c9445
mov edx, dword [0x691e3878]
cmp dword [ebx + 4], edx
jne 0x691c8fcb
mov ecx, dword [0x691e387c]
cmp dword [ebx + 8], ecx
jne 0x691c8fcb
mov edx, dword [0x691e3880]
cmp dword [ebx + 0xc], edx
jne 0x691c8fcb
jmp 0x691c9445
mov ecx, dword [0x691e3868]
cmp dword [ebx + 4], ecx
jne 0x691c8fd7
mov edx, dword [0x691e386c]
cmp dword [ebx + 8], edx
jne 0x691c8fd7
mov ecx, dword [0x691e3870]
cmp dword [ebx + 0xc], ecx
jne 0x691c8fd7
jmp 0x691c9093
mov eax, dword [0x691e3858]
cmp dword [ebx + 4], eax
jne 0x691c8fe3
mov eax, dword [0x691e385c]
cmp dword [ebx + 8], eax
jne 0x691c8fe3
mov eax, dword [0x691e3860]
cmp dword [ebx + 0xc], eax
jne 0x691c8fe3
jmp 0x691c9093
mov esi, 0x80040111
jmp 0x691c90a9