Function at 0x47f618
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 esi, [eax + edx]
mov edi, ecx
mov dword [esp + 0x2c], edx
sub edi, edx
je 0x47f7f8
mov dl, byte [esi]
cmp dl, 0x20
jne 0x47f7ec
xor ebx, ebx
cmp byte [esi + ebx], 0x20
jne 0x47f662
inc ebx
cmp edi, ebx
jne 0x47f651
xor edi, edi
mov ebx, esi
jmp 0x47f671
sub edi, ebx
xor edx, edx
cmp ebx, 0xffffffff
cmove ebx, edx
cmove edi, edx
add ebx, esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], edi
cmp esi, ebx
ja 0x47f689
add edi, ebx
add ecx, eax
cmp edi, ecx
jbe 0x47f719
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 edx, dword [ebp + 0x4e4]
mov ecx, dword [ebp + 0x4f0]
xor esi, esi
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe0], 0xf2d
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 [ebp + 8]
mov edi, dword [esp + 0x2c]
lea ecx, [eax + edi]
cmp ebx, ecx
jae 0x47f7c0
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 edx, dword [ebp + 0x4e4]
mov ecx, dword [ebp + 0x4f0]
xor esi, esi
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], 0xf2e
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd4], str.C:_Projects_VisualStudio_TMLoader_external_ryml_c4_yml_parse.cpp
mov esi, 0x40
mov dword [esp + 0xd8], esi
mov dword [esp + 0x18], esi
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 esi, dword [esp + 0x20]
mov eax, dword [ebp + 8]
mov ebx, esi
jmp 0x47f7c4
mov esi, dword [esp + 0x20]
add eax, edi
sub ebx, eax
mov dword [esp], ebx
mov ecx, ebp
call fcn.0047a622
sub esp, 4
mov edi, dword [esp + 0x24]
mov eax, dword [ebp + 0x4f4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x2c], eax
test edi, edi
je 0x47f7f6
mov dl, byte [esi]
cmp dl, 0x22
jne 0x47f7f8
jmp 0x47f87e
xor edi, edi
movaps xmm0, xmmword [0x72dea0]
lea eax, [esp + 0xf0]
movups xmmword [eax], xmm0
movaps xmm0, xmmword [str..begins_with_____]
movups xmmword [eax + 0x10], xmm0
mov word [eax + 0x20], 0x2929
mov byte [eax + 0x22], 0
mov edx, dword [ebp + 0x4e4]
mov ecx, dword [ebp + 0x4f0]
xor ebx, ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb8], 0xf32
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], str.C:_Projects_VisualStudio_TMLoader_external_ryml_c4_yml_parse.cpp
mov ebx, 0x40
mov dword [esp + 0xc4], ebx
mov dword [esp + 0x18], ebx
movups xmm0, xmmword [esp + 0xb4]
movups xmmword [esp + 8], xmm0
mov dword [esp + 0x1c], edx
mov dword [esp], eax
mov dword [esp + 4], 0x23
call ecx
mov dword [esp], 1
mov ecx, ebp
call fcn.0047a622
sub esp, 4
dec edi
inc esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
mov edx, dword [ebp + 0x4f4]
mov ecx, dword [ebp + 0xc]
xor esi, esi
mov ebx, 0
cmp dword [edx + 0x18], ecx
jae 0x47fb14
xor eax, eax
inc eax
mov dword [esp + 0x34], eax
xor ebx, ebx
mov dword [esp + 0x28], ebp
mov dword [esp + 0x38], ecx
mov eax, ebx
mov ecx, dword [edx + 0x3c]
mov dword [esp + 0x30], edx
mov edx, dword [edx + 0x40]
mov bl, 1
test edx, edx
je 0x47f919
xor edi, edi
movzx ebp, byte [ecx + edi]
cmp ebp, 0x20
movzx ebx, bl
cmovne ebx, esi
cmp ebp, 0x5c
je 0x47f8f0
cmp ebp, 0x22
jne 0x47f90b
jmp 0x47f913
lea ebp, [edi + 1]
mov al, 1
cmp ebp, edx
jae 0x47f90b
movzx esi, byte [ecx + ebp]
cmp esi, 0x5c
je 0x47f907
cmp esi, 0x22
jne 0x47f909
mov edi, ebp
xor esi, esi
inc edi
cmp edi, edx
jb 0x47f8d7
xor edi, edi
dec edi
mov ebp, dword [esp + 0x28]
jmp 0x47f91c
xor edi, edi
dec edi
test al, 1
jne 0x47f940
cmp dword [esp + 0x34], 1
ja 0x47f940
and bl, 1
jne 0x47f940
mov eax, dword [esp + 0x30]
mov ebx, dword [eax + 0x2c]
test edx, edx
je 0x47f944
cmp ebx, ecx
jne 0x47f944
cmp byte [ecx], 0x20
jne 0x47f944
mov bl, 1
jmp 0x47f965
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x30]
mov ebp, ecx
sub ebp, 1
jb 0x47f95f
cmp byte [ebx + ecx - 1], 0xd
mov ecx, ebp
jne 0x47f94d
mov bl, 1
jmp 0x47f961
xor ebx, ebx
mov ebp, dword [esp + 0x28]
cmp edi, 0xffffffff
jne 0x47f9a0
mov dword [esp], edx
mov ecx, ebp
call fcn.0047a622
sub esp, 4
inc dword [esp + 0x34]
mov ecx, ebp
call fcn.004763b8
mov ecx, ebp
call fcn.00476286
mov edx, dword [ebp + 0x4f4]
mov ecx, dword [ebp + 0xc]
cmp dword [edx + 0x18], ecx
jb 0x47f8bf
jmp 0x47fb14
cmp edi, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
jb 0x47fa44
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 edx, dword [ebp + 0x4e4]
mov ecx, dword [ebp + 0x4f0]
xor esi, esi
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], 0xf63
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 eax, dword [ebp + 0x4f4]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + 0x18]
cmp byte [edi + ecx], 0x22
je 0x47fae8
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 [0x72e1d0]
movsd qword [eax + 0x30], xmm0
mov edx, dword [ebp + 0x4e4]
mov ecx, dword [ebp + 0x4f0]
xor esi, esi
mov dword [esp + 0x8c], esi
mov dword [esp + 0x90], 0xf64
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], 0x38
call ecx
inc edi
mov dword [esp], edi
mov ecx, ebp
call fcn.0047a622
sub esp, 4
mov eax, dword [ebp + 0x4f4]
mov edi, dword [esp + 0x2c]
not edi
add edi, dword [eax + 0x18]
je 0x47fc36
cmp edi, 0xffffffff
jne 0x47fcab
call fcn.004abd0c
mov dword [esp + 4], 0x34
mov dword [esp], str.ERROR:_reached_end_of_file_looking_for_closing_quote
mov ecx, ebp
call fcn.004857e6
sub esp, 8
test bl, bl
je 0x47fc0e
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov dword [esp + 8], edi
mov dword [esp + 4], esi
mov ebx, dword [esp + 0x14c]
mov dword [esp], ebx
mov ecx, ebp
call fcn.004825de
sub esp, 0xc
cmp dword [ebx + 4], edi
jbe 0x47fc22
test edi, edi
je 0x47fc22
test esi, esi
je 0x47fc22
lea esi, [esp + 0xf0]
mov dword [esp], esi
mov dword [esp + 4], 0x20
lea ecx, [esp + 0x20]
call fcn.0040e366
sub esp, 8
cmp dword [esi + 4], 0
je 0x47fc22
cmp dword [esp + 0xf0], 0
je 0x47fc22
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], 0xf7e
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 0x47fc22
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14c]
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x14c]
add esp, 0x138
pop esi
pop edi
pop ebx
pop ebp
ret 4
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], 0xf74
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 dword [esp + 0x30], ebx
mov dword [esp + 0x2c], edi
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
lea edx, [esi + edi]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
lea ebx, [eax + ecx]
cmp edx, ebx
je 0x47fd6e
cmp byte [edx], 0x22
je 0x47fd6e
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 [0x72e1e0]
movsd qword [eax + 0x30], xmm0
mov word [eax + 0x38], 0x29
mov edx, dword [ebp + 0x4e4]
mov ecx, dword [ebp + 0x4f0]
xor esi, esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], 0xf75
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], str.C:_Projects_VisualStudio_TMLoader_external_ryml_c4_yml_parse.cpp
mov esi, 0x40
mov dword [esp + 0x74], esi
mov dword [esp + 0x18], esi
movups xmm0, xmmword [esp + 0x64]
movups xmmword [esp + 8], xmm0
mov dword [esp + 0x1c], edx
mov dword [esp], eax
mov dword [esp + 4], 0x3a
call ecx
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
lea edx, [esi + edi]
cmp edx, eax
jb 0x47fd7b
add eax, ecx
cmp edx, eax
jbe 0x47fdf1
mov ebx, 0x43
mov dword [esp + 8], ebx
lea ebp, [esp + 0xf0]
mov dword [esp], ebp
mov dword [esp + 4], str.check_failed:__s.end_____m_buf.begin____s.end_____m_buf.end___
call fcn.006fb4d0
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x4e4]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x4f0]
xor edx, edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], 0xf76
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], str.C:_Projects_VisualStudio_TMLoader_external_ryml_c4_yml_parse.cpp
mov edx, 0x40
mov dword [esp + 0x60], edx
mov dword [esp + 0x18], edx
movups xmm0, xmmword [esp + 0x50]
movups xmmword [esp + 8], xmm0
mov dword [esp + 0x1c], ecx
mov dword [esp + 4], ebx
mov dword [esp], ebp
mov ebp, dword [esp + 0x28]
call eax
mov eax, dword [esp + 0x2c]
sub eax, 1
cmovb eax, edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], eax
mov ebx, dword [esp + 0x30]
jmp 0x47fb32