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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x1c
mov esi, eax
mov ebx, edx
mov edi, dword [edx + 0x20]
cmp dword [edx + 0x14], 0
jne 0x4d9ad9
mov ecx, str.Node_has_no_parent_n
mov edx, 0x1395
call fcn.004d8ebd
cmp dword [ebx + 0x20], 0
jne 0x4d9af2
mov ecx, str.Node_has_no_doc_n
mov edx, 0x1396
mov eax, esi
call fcn.004d8ebd
jmp 0x4d9b1e
mov eax, dword [edi + 0x50]
test eax, eax
jne 0x4d9b0c
cmp dword [esi + 0x84], 0
jne 0x4d9b0c
mov dword [esi + 0x84], 1
cmp dword [esi + 0x70], 0
jne 0x4d9b15
mov dword [esi + 0x70], edi
cmp dword [esi + 0x78], 0
jne 0x4d9b1e
mov dword [esi + 0x78], eax
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x4d9b55
mov edx, dword [ebx + 0x20]
cmp edx, dword [eax + 0x20]
je 0x4d9b55
mov dword [esp + 4], str.pseudoroot
mov eax, dword [ebx + 8]
mov dword [esp], eax
call fcn.00478cd0
test eax, eax
jne 0x4d9b55
mov ecx, str.Node_doc_differs_from_parents_one_n
mov edx, 0x1399
mov eax, esi
call fcn.004d8ebd
mov eax, dword [ebx + 0x1c]
test eax, eax
jne 0x4d9b8a
cmp dword [ebx + 4], 2
mov eax, dword [ebx + 0x14]
jne 0x4d9b75
test eax, eax
je 0x4d9ba0
mov ecx, str.Attr_has_no_prev_and_not_first_of_attr_list_n
cmp ebx, dword [eax + 0x2c]
jne 0x4d9b83
jmp 0x4d9ba0
test eax, eax
je 0x4d9ba0
cmp dword [eax + 0xc], ebx
je 0x4d9ba0
mov ecx, str.Node_has_no_prev_and_not_first_of_parent_list_n
mov edx, 0x139a
jmp 0x4d9b99
cmp dword [eax + 0x18], ebx
je 0x4d9ba0
mov ecx, str.Node_prev__next_:_back_link_wrong_n
mov edx, 0x139b
mov eax, esi
call fcn.004d8ebd
mov eax, dword [ebx + 0x18]
test eax, eax
jne 0x4d9bc5
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x4d9bf7
cmp dword [ebx + 4], 2
je 0x4d9bf7
cmp dword [eax + 0x10], ebx
je 0x4d9bf7
mov ecx, str.Node_has_no_next_and_not_last_of_parent_list_n
mov edx, 0x139c
jmp 0x4d9bf0
cmp dword [eax + 0x1c], ebx
je 0x4d9bdb
mov ecx, str.Node_next__prev_:_forward_link_wrong_n
mov edx, 0x139d
mov eax, esi
call fcn.004d8ebd
mov eax, dword [ebx + 0x18]
mov eax, dword [eax + 0x14]
cmp eax, dword [ebx + 0x14]
je 0x4d9bf7
mov ecx, str.Node_next__prev_:_forward_link_wrong_n
mov edx, 0x13a5
mov eax, esi
call fcn.004d8ebd
mov eax, dword [ebx + 4]
cmp eax, 1
jne 0x4d9c17
mov edi, dword [ebx + 0x30]
jmp 0x4d9c11
mov ecx, edi
mov edx, ebx
mov eax, esi
call fcn.004d9923
mov edi, dword [edi]
test edi, edi
jne 0x4d9c04
jmp 0x4d9c1c
cmp eax, 2
jne 0x4d9c2c
mov ecx, dword [ebx + 0x24]
test ecx, ecx
je 0x4d9c2c
mov edx, ebx
mov eax, esi
call fcn.004d9923
mov eax, dword [ebx + 4]
lea edx, [eax - 1]
cmp edx, 1
jbe 0x4d9c7d
cmp eax, 0xf
je 0x4d9c7d
cmp eax, 0x10
je 0x4d9c7d
cmp eax, 0xe
je 0x4d9c7d
cmp eax, 0xd
je 0x4d9c7d
cmp eax, 9
je 0x4d9c7d
mov edi, dword [ebx + 0x28]
test edi, edi
je 0x4d9c7d
cmp dword [esi + 0x7c], 0
je 0x4d9c7d
mov dword [esp], edi
call fcn.004790b3
test eax, eax
jne 0x4d9c7d
mov ecx, str.String_is_not_UTF_8__s
mov edx, 0x13a8
mov eax, esi
mov dword [esp], edi
call fcn.004d924d
mov eax, dword [ebx + 4]
dec eax
cmp eax, 7
ja case.0x4d9c8a.5
jmp dword [eax*4 + 0x670fd8]
mov edi, dword [ebx + 8]
cmp edi, 0x652a84
je case.0x4d9c8a.5
cmp edi, str.textnoenc
je case.0x4d9c8a.5
mov eax, dword [esi + 0x78]
test eax, eax
je 0x4d9cc7
mov dword [esp + 8], 7
mov dword [esp + 4], str.nbktext
mov dword [esp], eax
call fcn.00491906
cmp edi, eax
je case.0x4d9c8a.5
mov eax, dword [ebx + 8]
mov ecx, str.Text_node_has_wrong_name__s
mov dword [esp], eax
jmp 0x4d9ce6
mov eax, dword [ebx + 8]
cmp eax, 0x652a98
je case.0x4d9c8a.5
mov dword [esp], eax
mov ecx, str.Comment_node_has_wrong_name__s
mov edx, 0x13ac
jmp 0x4d9d12
mov edx, dword [ebx + 8]
mov eax, esi
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.004d9a2f
mov eax, dword [ebx + 8]
test eax, eax
je case.0x4d9c8a.5
mov dword [esp], eax
mov ecx, str.CData_section_has_non_NULL_name__s
mov edx, 0x13ad
mov eax, esi
call fcn.004d924d
add esp, 0x1c
pop ebx
pop esi
pop edi
pop ebp
ret