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

Disassembly:
sub esp, 0x10
push esi
mov esi, dword [esp + 0x1c]
push edi
lea edi, [esi + 0x24]
call fcn.0050f910
cmp al, 8
je 0x5106df
mov cl, al
sub cl, 0xa
cmp cl, 2
jbe 0x5106df
sub al, 1
cmp al, 6
setbe al
test al, al
sete al
test al, al
jne 0x510700
push 0x5725f8
lea edx, [esp + 0xc]
mov eax, 0xca
mov ecx, str.Invalid_property_element_name
push edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call fcn.00513696
mov ecx, dword [esi + 0x68]
test ecx, ecx
push ebp
lea ebp, [esi + 0x64]
je 0x510732
mov eax, dword [ebp + 8]
sub eax, ecx
sar eax, 2
cmp eax, 3
jbe 0x510732
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
push eax
push esi
push ecx
call 0x511380
add esp, 0xc
pop ebp
pop edi
pop esi
add esp, 0x10
ret
mov edi, ecx
cmp edi, dword [ebp + 8]
jbe 0x51073e
call fcn.005143e1
push ebx
mov ebx, dword [ebp + 8]
cmp dword [ebp + 4], ebx
jbe 0x51074c
call fcn.005143e1
xor esi, esi
mov edi, edi
cmp ebp, ebp
je 0x510759
call fcn.005143e1
cmp edi, ebx
je 0x5107a9
cmp edi, dword [ebp + 8]
jb 0x510767
call fcn.005143e1
mov esi, dword [edi]
mov eax, dword [esi + 0x38]
push 8
add esi, 0x24
push str.xml:lang
push 0
mov ecx, esi
call fcn.004fe8b0
test eax, eax
je 0x51079a
mov eax, dword [esi + 0x14]
push 6
push str.rdf:ID
push 0
mov ecx, esi
call fcn.004fe8b0
test eax, eax
jne 0x5107a9
cmp edi, dword [ebp + 8]
jb 0x5107a4
call fcn.005143e1
add edi, 4
jmp 0x510750
cmp ebp, ebp
je 0x5107b2
call fcn.005143e1
cmp edi, ebx
je 0x510915
cmp edi, dword [ebp + 8]
jb 0x5107c4
call fcn.005143e1
mov edi, dword [edi]
mov eax, dword [esi + 0x14]
push 0xc
push str.rdf:datatype
push 0
mov ecx, esi
add edi, 0x40
call fcn.004fe8b0
test eax, eax
jne 0x5107fd
mov edx, dword [esp + 0x28]
mov al, byte [esp + 0x2c]
mov ecx, dword [esp + 0x24]
push edx
call fcn.00510f60
add esp, 4
pop ebx
pop ebp
pop edi
pop esi
add esp, 0x10
ret
mov eax, dword [esi + 0x14]
push 0xd
push str.rdf:parseType
push 0
mov ecx, esi
call fcn.004fe8b0
test eax, eax
je 0x510820
pop ebx
pop ebp
pop edi
pop esi
add esp, 0x10
jmp 0x511380
mov eax, dword [edi + 0x14]
push 7
push str.Literal
push 0
mov ecx, edi
call fcn.004fe8b0
test eax, eax
jne 0x510872
mov al, byte [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x28], al
mov eax, 0xcb
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], ecx
push 0x5725f8
lea eax, [esp + 0x1c]
lea edx, [esp + 0x2c]
mov ecx, str.ParseTypeLiteral_property_element_not_allowed
push eax
mov dword [0x59b690], edx
mov dword [esp + 0x24], ecx
call fcn.00513696
mov eax, dword [edi + 0x14]
push 8
push str.Resource
push 0
mov ecx, edi
call fcn.004fe8b0
test eax, eax
jne 0x510895
pop ebx
pop ebp
pop edi
pop esi
add esp, 0x10
jmp 0x5111e0
mov esi, str.Collection
mov ecx, edi
call fcn.00500410
test al, al
push 0x5725f8
je 0x5108df
mov cl, byte [esp + 0x30]
mov edx, dword [esp + 0x28]
mov byte [esp + 0x2c], cl
mov ecx, str.ParseTypeCollection_property_element_not_allowed
lea eax, [esp + 0x2c]
mov dword [esp + 0x20], ecx
mov dword [0x59b690], eax
lea ecx, [esp + 0x1c]
mov eax, 0xcb
push ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], eax
call fcn.00513696
mov dl, byte [esp + 0x30]
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x2c], dl
mov dword [esp + 0x14], eax
mov dword [0x59b690], ecx
lea edx, [esp + 0x1c]
mov eax, 0xcb
mov ecx, str.ParseTypeOther_property_element_not_allowed
push edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
call fcn.00513696
mov ebx, dword [esp + 0x28]
mov eax, dword [ebx + 0x78]
test eax, eax
lea esi, [ebx + 0x74]
je 0x51092d
mov ecx, dword [esi + 8]
sub ecx, eax
sar ecx, 2
jne 0x510948
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
push edx
push ebx
push eax
call 0x511380
add esp, 0xc
pop ebx
pop ebp
pop edi
pop esi
add esp, 0x10
ret
mov edi, eax
cmp edi, dword [esi + 8]
jbe 0x510954
call fcn.005143e1
mov ebp, dword [esi + 8]
cmp dword [esi + 4], ebp
jbe 0x510961
call fcn.005143e1
cmp esi, esi
je 0x51096a
call fcn.005143e1
cmp edi, ebp
je 0x51098f
cmp edi, dword [esi + 8]
jb 0x510978
call fcn.005143e1
mov ecx, dword [edi]
cmp byte [ecx + 4], 3
jne 0x51098f
cmp edi, dword [esi + 8]
jb 0x51098a
call fcn.005143e1
add edi, 4
jmp 0x510961
cmp esi, esi
je 0x510998
call fcn.005143e1
cmp edi, ebp
mov ecx, dword [esp + 0x24]
jne 0x5109b5
mov al, byte [esp + 0x2c]
push ebx
call fcn.00510f60
add esp, 4
pop ebx
pop ebp
pop edi
pop esi
add esp, 0x10
ret
mov edx, dword [esp + 0x2c]
push edx
mov edx, ebx
call fcn.005109d0
add esp, 4
pop ebx
pop ebp
pop edi
pop esi
add esp, 0x10
ret
sub esp, 0xc
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x24]
push eax
push 0x543bb1
push edi
call fcn.0050fa70
mov ebx, eax
or dword [ebx + 4], 0x100
mov esi, dword [edi + 0x68]
add esp, 0xc
cmp esi, dword [edi + 0x6c]
mov dword [esp + 0x10], ebx
jbe 0x51121c
call fcn.005143e1
mov eax, dword [edi + 0x6c]
cmp dword [edi + 0x68], eax
mov ebp, esi
mov dword [esp + 0x14], eax
jbe 0x511230
call fcn.005143e1
nop
lea esi, [edi + 0x64]
cmp esi, esi
je 0x51123c
call fcn.005143e1
cmp ebp, dword [esp + 0x14]
je 0x511359
cmp ebp, dword [esi + 8]
jb 0x511250
call fcn.005143e1
mov esi, dword [ebp]
mov ebx, dword [esi + 0x38]
add esi, 0x24
mov edi, ebx
cmp edi, ebx
jae 0x51125f
cmp ebx, 0xd
mov eax, ebx
jb 0x51126b
mov eax, 0xd
cmp dword [esi + 0x18], 0x10
jb 0x511276
mov ecx, dword [esi + 4]
jmp 0x511279
lea ecx, [esi + 4]
push ecx
mov ecx, str.rdf:parseType
call fcn.004fc4e0
add esp, 4
test eax, eax
jne 0x51129a
cmp ebx, 0xd
jb 0x51129a
cmp ebx, 0xd
setne al
test eax, eax
je 0x5112f6
push 8
push str.xml:lang
push 0
mov eax, edi
mov ecx, esi
call fcn.004fe8b0
test eax, eax
jne 0x5112df
mov eax, dword [esp + 0x24]
add eax, 0x64
cmp ebp, dword [eax + 8]
jb 0x5112c1
call fcn.005143e1
mov eax, dword [ebp]
cmp dword [eax + 0x1c], 0
je 0x511317
mov edi, dword [esp + 0x10]
lea ecx, [eax + 0x40]
push ecx
lea ecx, [eax + 0x24]
call fcn.0050fcc0
add esp, 4
jmp 0x5112f6
mov eax, dword [esi + 0x14]
push 6
push str.rdf:ID
push 0
mov ecx, esi
call fcn.004fe8b0
test eax, eax
jne 0x511338
mov eax, dword [esp + 0x24]
add eax, 0x64
cmp ebp, dword [eax + 8]
jb 0x511307
call fcn.005143e1
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
add ebp, 4
jmp 0x511230
push 0x5725f8
lea edx, [esp + 0x18]
mov eax, 0xca
mov ecx, str.XML_namespace_required_for_all_elements_and_attributes
push edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
call fcn.00513696
mov eax, 0xca
mov dword [esp + 0x14], eax
push 0x5725f8
lea eax, [esp + 0x18]
mov ecx, str.Invalid_attribute_for_ParseTypeResource_property_element
push eax
mov dword [esp + 0x20], ecx
call fcn.00513696
push 0
push edi
push ebx
call fcn.005105f0
add esp, 0xc
test dword [ebx + 4], 0x10000000
je 0x511377
push ebx
call fcn.0050fe40
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc
ret
sub esp, 0x40
push ebx
push esi
mov esi, dword [esp + 0x50]
mov eax, dword [esi + 0x78]
xor bl, bl
test eax, eax
mov byte [esp + 0xb], 0
mov byte [esp + 0xa], bl
mov byte [esp + 9], bl
mov dword [esp + 0xc], 0
je 0x5113d2
mov ecx, dword [esi + 0x7c]
sub ecx, eax
sar ecx, 2
je 0x5113d2
push 0x5725f8
lea edx, [esp + 0x1c]
mov eax, 0xca
mov ecx, str.Nested_content_not_allowed_with_rdf:resource_or_property_attributes
push edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
call fcn.00513696
add esi, 0x64
push ebp
mov ebp, dword [esi + 4]
cmp ebp, dword [esi + 8]
mov dword [esp + 0x14], esi
jbe 0x5113e7
call fcn.005143e1
push edi
mov edi, dword [esi + 8]
cmp dword [esi + 4], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x1c], edi
jbe 0x511401
call fcn.005143e1
cmp esi, esi
je 0x51140a
call fcn.005143e1
cmp ebp, edi
je 0x5115a9
cmp ebp, dword [esi + 8]
jb 0x51141c
call fcn.005143e1
mov edi, dword [ebp]
add edi, 0x24
call fcn.0050f910
movzx eax, al
cmp eax, 6
ja case.0x511433.1
jmp dword [eax*4 + 0x5117b0]
cmp byte [esp + 0x12], 0
jne 0x511504
cmp byte [esp + 0x11], 0
jne 0x511525
lea esi, [esp + 0x20]
mov bl, 1
call fcn.0050f8c0
mov eax, dword [eax]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], eax
jmp case.0x511433.2
test bl, bl
jne 0x511546
mov byte [esp + 0x12], 1
jmp case.0x511433.2
cmp ebp, dword [esi + 8]
jb 0x511483
call fcn.005143e1
mov ecx, dword [ebp]
mov eax, dword [ecx + 0x38]
push 9
add ecx, 0x24
push str.rdf:value
push 0
call fcn.004fe8b0
test eax, eax
jne 0x5114c0
test bl, bl
jne 0x511567
lea esi, [esp + 0x20]
mov byte [esp + 0x11], 1
call fcn.0050f8c0
mov ecx, dword [eax]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], ecx
jmp case.0x511433.2
cmp ebp, dword [esi + 8]
jb 0x5114ca
call fcn.005143e1
mov ecx, dword [ebp]
mov eax, dword [ecx + 0x38]
push 8
add ecx, 0x24
push str.xml:lang
push 0
call fcn.004fe8b0
test eax, eax
je case.0x511433.2
mov byte [esp + 0x13], 1
cmp ebp, dword [esi + 8]
jb 0x5114f4
call fcn.005143e1
mov edi, dword [esp + 0x1c]
add ebp, 4
mov dword [esp + 0x24], ebp
jmp 0x511401
push 0x5725f8
lea edx, [esp + 0x2c]
mov eax, 0xca
mov ecx, str.Empty_property_element_cant_have_both_rdf:resource_and_rdf:nodeID
push edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ecx
call fcn.00513696
mov eax, 0xcb
mov dword [esp + 0x30], eax
push 0x5725f8
lea eax, [esp + 0x34]
mov ecx, str.Empty_property_element_cant_have_both_rdf:value_and_rdf:resource
push eax
mov dword [esp + 0x3c], ecx
call fcn.00513696
mov ecx, str.Empty_property_element_cant_have_both_rdf:resource_and_rdf:nodeID
mov dword [esp + 0x3c], ecx
push 0x5725f8
lea ecx, [esp + 0x3c]
mov eax, 0xca
push ecx
mov dword [esp + 0x40], eax
call fcn.00513696
push 0x5725f8
lea edx, [esp + 0x44]
mov eax, 0xcb
mov ecx, str.Empty_property_element_cant_have_both_rdf:value_and_rdf:resource
push edx
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
call fcn.00513696
mov eax, 0xca
mov dword [esp + 0x48], eax
push 0x5725f8
lea eax, [esp + 0x4c]
mov ecx, str.Unrecognized_attribute_of_empty_property_element
push eax
mov dword [esp + 0x54], ecx
call fcn.00513696
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
push ecx
mov ecx, dword [esp + 0x58]
push 0x543bb1
push edx
call fcn.0050fa70
mov edi, eax
mov al, byte [esp + 0x1d]
add esp, 0xc
invalid