Function at 0x421100
Capabilities:
Check for peb beingdebugged flag
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push esi
push ebx
sub esp, 0x30
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx]
cmp eax, 0xffffffff
je 0x4211c0
mov edx, dword [ebx + 4]
test edx, edx
jne 0x421148
cmp eax, 0xfffffeff
jbe 0x4211d0
lea edx, [eax + 0xff]
cmp edx, 0x14
ja case.0x42113a.247
jmp dword [edx*4 + 0x439afc]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov dword [esp + 0x14], ecx
mov eax, dword [0x4425b8]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sub.dbghelp.dll_SymGetTypeInfo
sub esp, 0x18
test eax, eax
jne 0x4211c2
cmp esi, 1
jne 0x4211c2
lea eax, [ebp - 0x10]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
mov eax, dword [ebx]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 4]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [0x4425b8]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sub.dbghelp.dll_SymGetTypeInfo
sub esp, 0x18
test eax, eax
je 0x4211c0
cmp dword [ebp - 0x10], 0x10
je 0x421220
xor eax, eax
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
mov dword [esp + 8], 0x2f7
mov dword [esp + 4], str._Users_gcenx_Documents_GitHub_wineskincx_programs_winedbg_types.c
mov dword [esp], str.type__id___dbg_itype_first
call dword [sym.imp.ucrtbase.dll__assert]
mov eax, dword [ebx]
lea edx, [eax + 0xff]
cmp edx, 0x14
jbe switch.0x0042113a
nop
test byte [0x42c844], 1
jne 0x421a9d
lea esi, [esi]
mov eax, 1
jmp 0x4211c2
lea eax, [ebp - 0xc]
mov dword [esp + 0x10], 5
mov dword [esp + 0x14], eax
mov eax, dword [ebx]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 4]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [0x4425b8]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sub.dbghelp.dll_SymGetTypeInfo
sub esp, 0x18
test eax, eax
je 0x4211c0
mov eax, dword [ebp - 0xc]
cmp eax, 0x1c
ja case.0x42126b.0
jmp dword [eax*4 + 0x439b50]
cmp esi, 2
je 0x421a00
cmp esi, 5
je 0x4219f0
test esi, esi
je 0x4219d0
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_s_int_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
cmp esi, 2
je 0x421a00
cmp esi, 5
je 0x4219e0
test esi, esi
je 0x4219d0
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_u_int_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
cmp esi, 2
je 0x421a18
cmp esi, 5
je 0x4219e0
test esi, esi
je 0x4219d0
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_u_char_int_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
cmp esi, 2
je 0x421a88
cmp esi, 5
je 0x4219e0
test esi, esi
je 0x4219d0
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_u_short_int_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
cmp esi, 2
je 0x421a30
cmp esi, 5
je 0x4219e0
test esi, esi
je 0x4219d0
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_lguint_t_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
cmp esi, 2
je 0x421a88
cmp esi, 5
je 0x4219f0
test esi, esi
je 0x4219d0
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_s_short_int_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
cmp esi, 2
je 0x421b09
cmp esi, 5
je 0x421a48
test esi, esi
je 0x4219d0
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_long_real_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
cmp esi, 2
je 0x421a60
cmp esi, 3
je 0x421afb
test esi, esi
je 0x421adf
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_a_string_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
cmp esi, 2
je 0x421a00
cmp esi, 5
je 0x4219f0
test esi, esi
je 0x4219d0
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_seg_ptr_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
cmp esi, 2
je 0x421a18
cmp esi, 5
je 0x4219f0
test esi, esi
je 0x4219d0
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_s_char_int_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
cmp esi, 2
je 0x421a60
cmp esi, 5
je 0x4219f0
test esi, esi
je 0x4219d0
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_s_long_int_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
cmp esi, 2
je 0x421a30
cmp esi, 5
je 0x4219f0
test esi, esi
je 0x4219d0
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_lgint_t_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
cmp esi, 2
je 0x421a60
cmp esi, 5
je 0x4219e0
test esi, esi
je 0x4219d0
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_u_long_int_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
cmp esi, 2
je 0x421a00
cmp esi, 5
je 0x421a48
test esi, esi
je 0x4219d0
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_short_real_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
cmp esi, 2
je 0x421a30
cmp esi, 5
je 0x421a48
test esi, esi
je 0x4219d0
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_real_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
cmp esi, 2
je 0x421a18
cmp esi, 5
je 0x421aed
test esi, esi
je 0x4219d0
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_char_int_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
cmp esi, 2
je 0x421aca
cmp esi, 5
je 0x4219e0
test esi, esi
je 0x4219d0
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], str.unsupported__u_for_XMM_register_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
test byte [0x42c844], 1
je 0x4211c0
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], str.Unsupported_basic_type__lu_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], eax
call fcn.00420f60
xor eax, eax
jmp 0x4211c2
mov ebx, str.unsigned_long_int
nop
mov eax, ebx
lea esi, [esi]
add eax, 2
cmp word [eax], 0
jne 0x421918
sub eax, ebx
mov dword [esp + 4], 0
add 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 ecx, dword [ebp + 0x10]
sub esp, 0xc
mov dword [ecx], eax
test eax, eax
je 0x4211c0
xor edx, edx
lea esi, [esi]
movzx ecx, word [ebx + edx]
mov word [eax + edx], cx
add edx, 2
test cx, cx
jne 0x421960
jmp 0x421210
mov ebx, str.long_int
jmp 0x421910
mov ebx, str.bool
jmp 0x421910
mov ebx, str.float
jmp 0x421910
mov ebx, str.unsigned_int
jmp 0x421910
mov ebx, 0x439852
jmp 0x421910
mov ebx, str.WCHAR
jmp 0x421910
mov ebx, 0x4397d0
jmp 0x421910
mov ebx, str.complex
jmp 0x421910
mov ebx, str.char
jmp 0x421910
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x10
jmp 0x421210
mov eax, dword [ebp + 0x10]
mov dword [eax], 7
jmp 0x421210
mov eax, dword [ebp + 0x10]
mov dword [eax], 6
jmp 0x421210
mov eax, dword [ebp + 0x10]
mov dword [eax], 4
mov dword [eax + 4], 0
jmp 0x421210
mov eax, dword [ebp + 0x10]
mov dword [eax], 1
mov dword [eax + 4], 0
jmp 0x421210
mov eax, dword [ebp + 0x10]
mov dword [eax], 8
mov dword [eax + 4], 0
jmp 0x421210
mov eax, dword [ebp + 0x10]
mov dword [eax], 8
jmp 0x421210
mov ecx, dword [0x4425b8]
mov eax, 4
xor edx, edx
test ecx, ecx
je 0x421a78
mov eax, dword [ecx + 0x24]
mov eax, dword [eax + 4]
cdq
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x421210
mov eax, dword [ebp + 0x10]
mov dword [eax], 2
mov dword [eax + 4], 0
jmp 0x421210
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], str.unsupported_type_id_0x_lx_n
mov dword [esp + 8], str.types_get_info
mov dword [esp + 4], 0x42c844
mov dword [esp], 0
call fcn.00420f60
jmp 0x421210
mov eax, dword [ebp + 0x10]
mov dword [eax], 0x10
mov dword [eax + 4], 0
jmp 0x421210
mov eax, dword [ebp + 0x10]
mov dword [eax], 0xe
jmp 0x421210
mov eax, dword [ebp + 0x10]
mov dword [eax], 2
jmp 0x421210
mov eax, dword [ebp + 0x10]
mov dword [eax], 0xffffff0d
jmp 0x421210
mov eax, dword [ebp + 0x10]
mov dword [eax], 0xa
mov dword [eax + 4], 0
jmp 0x421210