Function at 0x47ee16
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x138
mov ebp, ecx
mov eax, dword [ecx + 0x4f4]
mov edx, dword [eax + 0x18]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
lea edi, [eax + edx]
mov ebx, ecx
mov dword [esp + 0x30], edx
sub ebx, edx
mov dword [esp + 0x24], ebp
je 0x47f008
mov dl, byte [edi]
cmp dl, 0x20
jne 0x47effc
xor ebp, ebp
cmp byte [edi + ebp], 0x20
jne 0x47ee64
inc ebp
cmp ebx, ebp
jne 0x47ee53
xor ebx, ebx
mov ebp, edi
jmp 0x47ee73
sub ebx, ebp
xor edx, edx
cmp ebp, 0xffffffff
cmove ebp, edx
cmove ebx, edx
add ebp, edi
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebx
cmp edi, ebp
ja 0x47ee8b
add ebx, ebp
add ecx, eax
cmp ebx, ecx
jbe 0x47ef1f
movaps xmm0, xmmword [str.check_failed:__m_tree__is_val_idunknown]
lea eax, [esp + 0xf0]
movups xmmword [eax], xmm0
movaps xmm0, xmmword [str._buf.sub_b_.is_super_s__]
movups xmmword [eax + 0x10], xmm0
movsd xmm0, qword [0x72e0f0]
movsd qword [eax + 0x20], xmm0
mov byte [eax + 0x28], 0
mov edi, dword [esp + 0x24]
mov edx, dword [edi + 0x4e4]
mov ecx, dword [edi + 0x4f0]
xor esi, esi
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe0], 0xec4
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe8], str.C:_Projects_VisualStudio_TMLoader_external_ryml_c4_yml_parse.cpp
mov esi, 0x40
mov dword [esp + 0xec], esi
mov dword [esp + 0x18], esi
movups xmm0, xmmword [esp + 0xdc]
movups xmmword [esp + 8], xmm0
mov dword [esp + 0x1c], edx
mov dword [esp], eax
mov dword [esp + 4], 0x29
call ecx
mov eax, dword [edi + 8]
mov ebx, dword [esp + 0x30]
lea ecx, [eax + ebx]
cmp ebp, ecx
jae 0x47efca
movaps xmm0, xmmword [0x72dea0]
lea eax, [esp + 0xf0]
movups xmmword [eax], xmm0
movaps xmm0, xmmword [str..begin_____m_buf.sub_b_.begin__.begins_with_os___0__pos___m_buf.l]
movups xmmword [eax + 0x10], xmm0
movaps xmm0, xmmword [0x72e110]
movups xmmword [eax + 0x20], xmm0
mov word [eax + 0x30], 0x29
mov esi, dword [esp + 0x24]
mov edx, dword [esi + 0x4e4]
mov ecx, dword [esi + 0x4f0]
xor edi, edi
mov dword [esp + 0xc8], edi
mov dword [esp + 0xcc], 0xec5
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd4], str.C:_Projects_VisualStudio_TMLoader_external_ryml_c4_yml_parse.cpp
mov edi, 0x40
mov dword [esp + 0xd8], edi
mov dword [esp + 0x18], edi
movups xmm0, xmmword [esp + 0xc8]
movups xmmword [esp + 8], xmm0
mov dword [esp + 0x1c], edx
mov dword [esp], eax
mov dword [esp + 4], 0x32
call ecx
mov edi, dword [esp + 0x28]
mov eax, dword [esi + 8]
mov ebp, edi
jmp 0x47efd2
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
add eax, ebx
sub ebp, eax
mov dword [esp], ebp
mov ecx, esi
call fcn.0047a622
sub esp, 4
mov ebx, dword [esp + 0x2c]
mov eax, dword [esi + 0x4f4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x30], eax
test ebx, ebx
mov ebp, esi
je 0x47f006
mov dl, byte [edi]
cmp dl, 0x27
jne 0x47f008
jmp 0x47f08b
xor ebx, ebx
movaps xmm0, xmmword [0x72dea0]
lea eax, [esp + 0xf0]
movups xmmword [eax], xmm0
movaps xmm0, xmmword [0x72e120]
movups xmmword [eax + 0x10], xmm0
mov dword [eax + 0x20], 0x292927
mov edx, dword [ebp + 0x4e4]
mov ecx, dword [ebp + 0x4f0]
xor esi, esi
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb8], 0xec9
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], str.C:_Projects_VisualStudio_TMLoader_external_ryml_c4_yml_parse.cpp
mov esi, 0x40
mov dword [esp + 0xc4], esi
mov dword [esp + 0x18], esi
movups xmm0, xmmword [esp + 0xb4]
movups xmmword [esp + 8], xmm0
mov dword [esp + 0x1c], edx
mov dword [esp], eax
mov dword [esp + 4], 0x24
call ecx
mov dword [esp], 1
mov ecx, ebp
call fcn.0047a622
sub esp, 4
dec ebx
inc edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], ebx
mov eax, dword [ebp + 0x4f4]
mov ecx, dword [ebp + 0xc]
cmp dword [eax + 0x18], ecx
jae 0x47f196
xor edi, edi
inc edi
xor ebx, ebx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], edi
mov esi, dword [eax + 0x3c]
mov dword [esp + 0x20], eax
mov edx, dword [eax + 0x40]
mov cl, 1
test edx, edx
je 0x47f105
xor ebp, ebp
mov eax, ebx
movzx edi, byte [esi + ebp]
cmp edi, 0x20
je 0x47f0fa
cmp edi, 0x27
jne 0x47f0f8
lea edi, [ebp + 1]
cmp edi, edx
jae 0x47f10a
mov bl, 1
cmp byte [esi + edi], 0x27
je 0x47f0fe
jmp 0x47f10a
xor ecx, ecx
mov edi, ebp
mov ebx, eax
inc edi
mov ebp, edi
cmp edi, edx
jb 0x47f0d7
mov eax, ebx
xor ebp, ebp
dec ebp
test al, 1
jne 0x47f14f
mov edi, dword [esp + 0x34]
cmp edi, 1
ja 0x47f147
and cl, 1
jne 0x47f147
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x2c]
test edx, edx
je 0x47f134
cmp eax, esi
jne 0x47f134
cmp byte [esi], 0x20
jne 0x47f134
mov bl, 1
jmp 0x47f159
mov ecx, dword [ecx + 0x30]
mov esi, ecx
sub esi, 1
jb 0x47f14b
cmp byte [eax + ecx - 1], 0xd
mov ecx, esi
jne 0x47f139
mov bl, 1
jmp 0x47f155
xor ebx, ebx
jmp 0x47f155
mov bl, 1
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
cmp ebp, 0xffffffff
jne 0x47f2b5
mov dword [esp], edx
mov ebp, dword [esp + 0x24]
mov ecx, ebp
call fcn.0047a622
sub esp, 4
inc edi
mov ecx, ebp
call fcn.004763b8
mov ecx, ebp
call fcn.00476286
mov eax, dword [ebp + 0x4f4]
mov ecx, dword [ebp + 0xc]
cmp dword [eax + 0x18], ecx
jb 0x47f0bd
jmp 0x47f198
xor ebx, ebx
call fcn.004abd0c
mov dword [esp + 4], 0x3a
mov dword [esp], str.ERROR:_reached_end_of_file_while_looking_for_closing_quote
mov ecx, ebp
call fcn.004857e6
sub esp, 8
test bl, bl
je 0x47f292
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov ebx, dword [esp + 0x14c]
mov dword [esp], ebx
mov ecx, ebp
call fcn.0048237a
sub esp, 0xc
cmp dword [ebx + 4], edi
jbe 0x47f2a6
test edi, edi
je 0x47f2a6
test esi, esi
je 0x47f2a6
lea esi, [esp + 0xf0]
mov dword [esp], esi
mov dword [esp + 4], 0x20
lea ecx, [esp + 0x28]
call fcn.0040e366
sub esp, 8
cmp dword [esi + 4], 0
je 0x47f2a6
cmp dword [esp + 0xf0], 0
je 0x47f2a6
mov edi, 0x45
mov dword [esp + 8], edi
mov dword [esp], esi
mov dword [esp + 4], str.check_failed:__ret.len___s.len__s.empty____s.trim___.empty___
call fcn.006fb4d0
mov ecx, dword [ebp + 0x4e4]
mov eax, dword [ebp + 0x4f0]
xor edx, edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], 0xf17
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], str.C:_Projects_VisualStudio_TMLoader_external_ryml_c4_yml_parse.cpp
mov edx, 0x40
mov dword [esp + 0x4c], edx
mov dword [esp + 0x18], edx
movups xmm0, xmmword [esp + 0x3c]
movups xmmword [esp + 8], xmm0
mov dword [esp + 0x1c], ecx
mov dword [esp + 4], edi
mov dword [esp], esi
call eax
jmp 0x47f2a6
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14c]
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov eax, ebx
add esp, 0x138
pop esi
pop edi
pop ebx
pop ebp
ret 4
cmp ebp, dword [esp + 0x38]
jb 0x47f359
movaps xmm0, xmmword [str.check_failed:__parent_id___NONE_tree__is_root_parent_id]
lea eax, [esp + 0xf0]
movups xmmword [eax], xmm0
movaps xmm0, xmmword [0x72e130]
movups xmmword [eax + 0x10], xmm0
movsd xmm0, qword [0x72e140]
movsd qword [eax + 0x20], xmm0
mov dword [eax + 0x28], 0x296e65
mov edi, dword [esp + 0x24]
mov edx, dword [edi + 0x4e4]
mov ecx, dword [edi + 0x4f0]
xor esi, esi
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], 0xefd
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], str.C:_Projects_VisualStudio_TMLoader_external_ryml_c4_yml_parse.cpp
mov esi, 0x40
mov dword [esp + 0xb0], esi
mov dword [esp + 0x18], esi
movups xmm0, xmmword [esp + 0xa0]
movups xmmword [esp + 8], xmm0
mov dword [esp + 0x1c], edx
mov dword [esp], eax
mov dword [esp + 4], 0x2c
call ecx
mov ecx, dword [edi + 0x4f4]
mov edi, dword [esp + 0x24]
mov eax, dword [edi + 8]
add eax, dword [ecx + 0x18]
cmp byte [ebp + eax], 0x27
je 0x47f406
movaps xmm0, xmmword [str.check_failed:__m_tree__is_val_idunknown]
lea eax, [esp + 0xf0]
movups xmmword [eax], xmm0
movaps xmm0, xmmword [str._buf_m_state__pos.offset__pos____]
movups xmmword [eax + 0x10], xmm0
movaps xmm0, xmmword [0x72e160]
movups xmmword [eax + 0x20], xmm0
movsd xmm0, qword [0x72e170]
movsd qword [eax + 0x30], xmm0
mov byte [eax + 0x38], 0
mov edx, dword [edi + 0x4e4]
mov ecx, dword [edi + 0x4f0]
xor esi, esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], 0xefe
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], str.C:_Projects_VisualStudio_TMLoader_external_ryml_c4_yml_parse.cpp
mov esi, 0x40
mov dword [esp + 0x9c], esi
mov dword [esp + 0x18], esi
movups xmm0, xmmword [esp + 0x8c]
movups xmmword [esp + 8], xmm0
mov dword [esp + 0x1c], edx
mov dword [esp], eax
mov dword [esp + 4], 0x39
call ecx
inc ebp
mov dword [esp], ebp
mov ecx, edi
call fcn.0047a622
sub esp, 4
mov eax, dword [edi + 0x4f4]
mov ecx, dword [esp + 0x30]
not ecx
add ecx, dword [eax + 0x18]
mov ebp, edi
mov dword [esp + 0x30], ecx
je 0x47f436
cmp ecx, 0xffffffff
je 0x47f198
jmp 0x47f4ab
movaps xmm0, xmmword [str.check_failed:__parent_id___NONE_tree__is_root_parent_id]
lea eax, [esp + 0xf0]
movups xmmword [eax], xmm0
movsd xmm0, qword [str.os___0_]
movsd qword [eax + 0x10], xmm0
mov edx, dword [ebp + 0x4e4]
mov ecx, dword [ebp + 0x4f0]
xor esi, esi
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], 0xf0e
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], str.C:_Projects_VisualStudio_TMLoader_external_ryml_c4_yml_parse.cpp
mov esi, 0x40
mov dword [esp + 0x88], esi
mov dword [esp + 0x18], esi
movups xmm0, xmmword [esp + 0x78]
movups xmmword [esp + 8], xmm0
mov dword [esp + 0x1c], edx
mov dword [esp], eax
mov dword [esp + 4], 0x18
call ecx
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
lea esi, [eax + edi]
mov eax, dword [ebp + 8]
cmp esi, eax
jb 0x47f4cb
mov ecx, dword [ebp + 0xc]
lea edx, [eax + ecx]
cmp esi, edx
jbe 0x47f547
mov eax, 0x43
mov dword [esp + 8], eax
lea eax, [esp + 0xf0]
mov dword [esp], eax
mov dword [esp + 4], str.check_failed:__s.end_____m_buf.begin____s.end_____m_buf.end___
call fcn.006fb4d0
mov ecx, dword [ebp + 0x4e4]
mov eax, dword [ebp + 0x4f0]
xor edx, edx
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], 0xf0f
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], str.C:_Projects_VisualStudio_TMLoader_external_ryml_c4_yml_parse.cpp
mov edx, 0x40
mov dword [esp + 0x74], edx
mov dword [esp + 0x18], edx
movups xmm0, xmmword [esp + 0x64]
movups xmmword [esp + 8], xmm0
mov dword [esp + 0x1c], ecx
mov ecx, 0x43
mov dword [esp + 4], ecx
lea ecx, [esp + 0xf0]
mov dword [esp], ecx
call eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
add ecx, eax
cmp esi, ecx
je 0x47f5f8
cmp byte [esi], 0x27
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
je 0x47f600
movaps xmm0, xmmword [0x72dea0]
lea eax, [esp + 0xf0]
movups xmmword [eax], xmm0
movaps xmm0, xmmword [str..end____m_buf.end____s.end____]
movups xmmword [eax + 0x10], xmm0
movaps xmm0, xmmword [0x72e1a0]
movups xmmword [eax + 0x20], xmm0
movsd xmm0, qword [0x72e1b0]
movsd qword [eax + 0x30], xmm0
mov word [eax + 0x38], 0x2927
mov byte [eax + 0x3a], 0
mov edx, dword [ebp + 0x4e4]
mov ecx, dword [ebp + 0x4f0]
xor esi, esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], 0xf10
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], str.C:_Projects_VisualStudio_TMLoader_external_ryml_c4_yml_parse.cpp
mov esi, 0x40
mov dword [esp + 0x60], esi
mov dword [esp + 0x18], esi
movups xmm0, xmmword [esp + 0x50]
movups xmmword [esp + 8], xmm0
mov dword [esp + 0x1c], edx
mov dword [esp], eax
mov dword [esp + 4], 0x3b
call ecx
mov ecx, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
jmp 0x47f600
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
sub eax, 1
cmovb eax, edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], eax
jmp 0x47f1b6