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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x5c
mov edi, ecx
mov esi, dword [ecx]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x54], edx
test esi, esi
je 0x4a31af
nop
lea esi, [esi]
mov eax, dword [esi + 0x24]
test eax, eax
je 0x4a32a0
push eax
push eax
push 0x53ac71
mov eax, dword [esi + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a32a7
mov ecx, dword [edi]
test ecx, ecx
je 0x4a31af
mov edx, dword [ecx + 0x24]
test edx, edx
je 0x4a31af
push eax
push eax
push str.attributeGroup
mov eax, dword [ecx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a31af
push eax
push eax
mov eax, dword [0x53fa4c]
push eax
mov eax, dword [edi]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a31af
mov esi, dword [edi]
test esi, esi
je 0x4a3011
mov edx, dword [esi + 0x24]
test edx, edx
je 0x4a3011
push eax
push eax
push 0x53ac71
mov eax, dword [esi + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a31c0
mov esi, dword [edi]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
test eax, eax
je 0x4a31a2
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x4a31a2
test esi, esi
je 0x4a31a2
mov edx, 0x53a059
mov eax, esi
call fcn.0049c4f0
mov ebx, eax
test eax, eax
je 0x4a330b
lea eax, [ebp - 0x18]
lea edx, [ebp - 0x14]
push ecx
xor ecx, ecx
push eax
mov eax, dword [ebp - 0x50]
push edx
mov edx, dword [ebp - 0x54]
push ebx
call fcn.0049ee70
pop eax
mov eax, dword [ebp - 0x14]
pop edx
mov ecx, esi
push eax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
push ebx
call fcn.0049c430
add esp, 0x10
test eax, eax
jne 0x4a31a0
mov ebx, dword [esi + 0x2c]
test ebx, ebx
jne 0x4a3099
jmp 0x4a30da
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x4a30da
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x4a32d0
mov edx, dword [0x53fa4c]
push ecx
push ecx
push edx
mov eax, dword [eax + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a3092
sub esp, 0xc
xor ecx, ecx
mov edx, 0xbdb
mov eax, dword [ebp - 0x50]
push ebx
call fcn.0049a400
mov ebx, dword [ebx + 0x18]
add esp, 0x10
test ebx, ebx
jne 0x4a3099
mov ecx, 0x539ea2
mov edx, esi
mov eax, dword [ebp - 0x50]
call fcn.0049dce0
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x4a312d
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x4a3112
push eax
push eax
push str.annotation
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a332d
push str._annotation__
xor ecx, ecx
push 0
mov edx, 0xbd9
push ebx
mov eax, dword [ebp - 0x50]
push esi
call fcn.0049c100
add esp, 0x10
mov eax, dword [ebp - 0x50]
mov edx, dword [eax + 0x64]
test edx, edx
je 0x4a314a
mov edx, dword [eax + 0x78]
test edx, edx
je 0x4a314a
mov eax, dword [edx + 4]
cmp dword [eax], 0x10
je 0x4a3380
sub esp, 0xc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov edx, 0x10
push eax
mov eax, dword [ebp - 0x50]
call fcn.00498f40
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x4a31a0
mov edx, dword [ebp - 0x50]
mov dword [eax + 0x14], esi
mov ecx, ebx
mov eax, dword [edx + 0x1c]
mov edx, 0xa
add eax, 0x14
call fcn.00498d50
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x4a3270
mov eax, dword [ebp + 0x10]
test ebx, ebx
mov dword [eax], 1
jne 0x4a3278
nop
mov esi, dword [edi]
mov esi, dword [esi + 0x18]
mov dword [edi], esi
test esi, esi
jne 0x4a2f70
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
push eax
push eax
mov eax, dword [0x53fa4c]
push eax
mov eax, dword [edi]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a300f
mov eax, dword [ebp + 8]
mov esi, dword [edi]
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x1c], 0
mov eax, dword [eax]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x4a326c
mov ebx, dword [ebp - 0x54]
test ebx, ebx
je 0x4a326c
test esi, esi
je 0x4a326c
mov edx, 0x53a059
mov eax, esi
call fcn.0049c4f0
mov dword [ebp - 0x38], 0
mov ebx, eax
test eax, eax
je 0x4a33fe
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x1c]
push ecx
xor ecx, ecx
push edx
mov edx, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x50]
push ebx
call fcn.0049ee70
add esp, 0x10
test eax, eax
jne 0x4a326c
mov eax, dword [ebp - 0x1c]
mov ecx, esi
push edx
push edx
mov edx, dword [ebp - 0x54]
push eax
mov eax, dword [ebp - 0x50]
push ebx
call fcn.0049c430
add esp, 0x10
test eax, eax
je 0x4a33f7
xor ecx, ecx
mov ebx, ecx
test ebx, ebx
je 0x4a31a0
mov edx, dword [ebp + 8]
mov eax, dword [edx]
test eax, eax
je 0x4a3368
mov ecx, ebx
mov edx, 2
call fcn.00498af0
inc eax
jne 0x4a31a0
or eax, 0xffffffff
jmp 0x4a31b1
mov ecx, esi
jmp 0x4a2fa0
mov ebx, dword [0x53fa4c]
mov eax, dword [edi]
push esi
push esi
push ebx
mov eax, dword [eax + 0x24]
mov ecx, dword [eax + 8]
push ecx
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a2fe7
jmp 0x4a2f96
push eax
push eax
push 0x53a059
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a3092
push eax
push eax
push 0x539ea2
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a3092
jmp 0x4a30bd
xor ecx, ecx
mov edx, 0xbdc
mov eax, dword [ebp - 0x50]
push ebx
push 0
push 0x53a059
push esi
call fcn.0049c020
add esp, 0x10
mov esi, dword [edi]
jmp 0x4a31a2
push eax
push eax
mov eax, dword [0x53fa4c]
push eax
mov eax, dword [ebx + 0x24]
mov ecx, dword [eax + 8]
push ecx
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a3112
xor ecx, ecx
mov edx, ebx
mov eax, dword [ebp - 0x50]
call fcn.0049e180
mov ebx, dword [ebx + 0x18]
test ebx, ebx
jne 0x4a3112
jmp 0x4a312d
call fcn.00498c50
mov edx, dword [ebp + 8]
test eax, eax
mov dword [edx], eax
jne 0x4a3285
jmp 0x4a3298
mov ecx, dword [edx + 0x10]
cmp ecx, dword [ebp - 0x18]
jne 0x4a314a
mov edx, dword [edx + 0x14]
cmp edx, dword [ebp - 0x14]
jne 0x4a314a
mov eax, dword [ebp - 0x50]
mov eax, dword [eax + 0x7c]
test eax, eax
je 0x4a3a8c
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
call fcn.00499470
push 0
mov ecx, esi
push eax
mov edx, 0xc09
mov eax, dword [ebp - 0x50]
push str.The_redefining_attribute_group_definition__s_must_not_contain_more_than_one_reference_to_the_redefined_definition
push 0
call fcn.0049a580
mov eax, dword [ebp - 0x1c]
add esp, 0x10
test eax, eax
je 0x4a31a0
sub esp, 0xc
push eax
call dword [0x519080]
add esp, 0x10
mov esi, dword [edi]
mov dword [ebp - 0x1c], 0
jmp 0x4a31a2
mov dword [ebp - 0x38], 1
mov eax, dword [ebp - 0x50]
mov ebx, dword [esi + 0x2c]
test ebx, ebx
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x40], eax
je 0x4a3934
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x3c], 2
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
jmp 0x4a3471
mov edx, dword [0x53fa4c]
push ecx
push ecx
push edx
mov ecx, dword [eax + 8]
push ecx
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a3466
sub esp, 0xc
xor ecx, ecx
mov edx, 0xbdb
mov eax, dword [ebp - 0x50]
push ebx
call fcn.0049a400
add esp, 0x10
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x4a359a
mov eax, dword [ebx + 0x24]
test eax, eax
jne 0x4a3437
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x4a3519
push eax
push eax
push 0x539ea2
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a3585
push eax
push eax
push 0x53a059
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a3466
push eax
push eax
push 0x53ac7b
mov ecx, dword [ebx + 8]
push ecx
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a3770
push edx
push edx
push str.default
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a39e7
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x4a3a73
xor ecx, ecx
push eax
mov edx, 0xbeb
mov eax, dword [ebp - 0x50]
push str.fixed
push str.default
push ebx
call fcn.0049ae40
add esp, 0x10
jmp 0x4a3466
push ecx
push ecx
push 0x53a0dd
mov edx, dword [ebx + 8]
push edx
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a3466
push eax
push eax
push 0x539ea2
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a3585
push eax
push eax
push 0x5395f3
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a38df
lea edx, [ebp - 0x18]
push eax
lea eax, [ebp - 0x1c]
push edx
xor ecx, ecx
push eax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
push ebx
call fcn.0049ee70
add esp, 0x10
jmp 0x4a3466
mov edx, ebx
mov eax, dword [ebp - 0x50]
call fcn.0049dbf0
mov ebx, dword [ebx + 0x18]
test ebx, ebx
jne 0x4a3471
cmp dword [ebp - 0x48], 1
je 0x4a37a1
mov edx, dword [ebp - 0x50]
mov eax, dword [edx + 0x14]
cmp dword [ebp - 0x40], eax
jne 0x4a326c
mov eax, dword [ebp - 0x38]
test eax, eax
jne 0x4a37dc
mov eax, dword [ebp - 0x44]
test eax, eax
jne 0x4a35d7
mov eax, dword [ebp - 0x54]
test byte [eax + 0x18], 2
je 0x4a35d7
mov edx, dword [ebp - 0x50]
mov edx, dword [edx + 0x70]
mov dword [ebp - 0x2c], edx
push eax
push eax
mov eax, dword [str.http:__www.w3.org_2001_XMLSchema_instance]
push eax
mov eax, dword [ebp - 0x2c]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a3a4d
mov edx, 0x53a0dd
mov eax, esi
call fcn.0049c4f0
mov ebx, eax
test eax, eax
je 0x4a3ac2
sub esp, 0xc
push 0x16
call fcn.004cacd0
pop edx
lea edx, [ebp - 0x10]
pop ecx
mov ecx, ebx
push edx
xor edx, edx
push eax
mov eax, dword [ebp - 0x50]
call fcn.0049e080
add esp, 0x10
test eax, eax
jne 0x4a326c
mov ecx, dword [ebp - 0x10]
push eax
push eax
push 0x53ad45
push ecx
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a3b70
mov edx, dword [ebp - 0x3c]
test edx, edx
jne 0x4a3c55
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x4a369b
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x4a3680
push eax
push eax
push str.annotation
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a3ae4
push str._annotation__
xor ecx, ecx
push 0
mov edx, 0xbd9
push ebx
mov eax, dword [ebp - 0x50]
push esi
call fcn.0049c100
add esp, 0x10
cmp dword [ebp + 0xc], 0x10
je 0x4a3b47
cmp dword [ebp + 0xc], 0xd
je 0x4a3c42
mov ebx, dword [ebp - 0x38]
test ebx, ebx
jne 0x4a36c2
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], edx
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x4a395c
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x4a395c
mov edx, dword [eax]
xor ebx, ebx
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
jmp 0x4a36f9
inc ebx
cmp ebx, ecx
je 0x4a395c
mov edx, dword [ebp - 0x60]
mov eax, dword [edx + ebx*4]
cmp dword [eax], 0x7d1
jne 0x4a36f0
mov edx, dword [ebp - 0x5c]
cmp dword [eax + 8], edx
jne 0x4a36f0
mov edx, dword [ebp - 0x58]
cmp dword [eax + 0xc], edx
jne 0x4a36f0
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0
call fcn.00499470
sub esp, 0xc
mov ecx, esi
mov edx, 0xc0e
push 0
push 0
push eax
mov eax, dword [ebp - 0x50]
push str.Skipping_duplicate_attribute_use_prohibition__s
push 0
call fcn.0049a250
mov eax, dword [ebp - 0x14]
add esp, 0x20
test eax, eax
je 0x4a326c
sub esp, 0xc
push eax
call dword [0x519080]
xor ecx, ecx
add esp, 0x10
mov dword [ebp - 0x14], 0
jmp 0x4a326e
mov edx, ebx
mov eax, dword [ebp - 0x50]
call fcn.0049dd10
mov dword [ebp - 0x20], eax
push edx
push edx
push 0x53ac7f
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a3a26
mov dword [ebp - 0x3c], 2
jmp 0x4a3466
cmp dword [ebp - 0x3c], 2
je 0x4a35a4
mov eax, dword [ebp - 0x50]
push edx
xor ecx, ecx
mov edx, 0xbec
push 0
push 0
push str.The_value_of_the_attribute_use_must_be_optional_if_the_attribute_default_is_present
push 0
push str._optional__prohibited__required_
push 0
push esi
call fcn.0049bcd0
mov edx, dword [ebp - 0x50]
add esp, 0x20
mov eax, dword [edx + 0x14]
jmp 0x4a35aa
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x4a3657
mov edx, esi
mov eax, dword [ebp - 0x50]
call fcn.004990e0
mov dword [ebp - 0x30], eax
test eax, eax
je 0x4a326c
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x30]
mov eax, dword [edx + 0x1c]
mov edx, 0xa
add eax, 0x14
call fcn.00498d50
mov eax, dword [ebp - 0x30]
sub esp, 0xc
mov edx, dword [ebp - 0x3c]
mov dword [eax + 0x18], edx
mov eax, dword [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x18]
mov edx, 0xf
mov eax, dword [ebp - 0x50]
call fcn.00498f40
add esp, 0x10
test eax, eax
je 0x4a326c
mov edx, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x34]
test ebx, ebx
mov dword [edx + 0xc], eax
je 0x4a3850
mov eax, dword [ebp - 0x34]
mov dword [edx + 0x1c], eax
cmp dword [ebp - 0x48], 2
jne 0x4a3862
mov edx, dword [ebp - 0x30]
mov ecx, dword [edx + 0x10]
or ecx, 1
mov dword [edx + 0x10], ecx
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x4a388b
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x4a388b
push eax
push eax
push str.annotation
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a3d5a
mov ecx, dword [ebp - 0x38]
test ecx, ecx
je 0x4a3bf8
test ebx, ebx
je 0x4a38d7
mov edx, dword [ebx + 0x24]
test edx, edx
je 0x4a38bc
push eax
push eax
push str.simpleType
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a3d96
push str._annotation__
push 0
xor ecx, ecx
push ebx
mov edx, 0xbd9
push esi
mov eax, dword [ebp - 0x50]
call fcn.0049c100
add esp, 0x10
mov ecx, dword [ebp - 0x30]
jmp 0x4a326e
push eax
push eax
push str.form
mov ecx, dword [ebx + 8]
push ecx
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a34b5
mov edx, ebx
mov eax, dword [ebp - 0x50]
call fcn.0049dd10
mov dword [ebp - 0x28], eax
push edx
push edx
push str.qualified
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a3ba5
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x44], 1
mov edx, dword [edx + 0x70]
mov dword [ebp - 0x2c], edx
jmp 0x4a3466
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x3c], 2
mov dword [ebp - 0x44], 0
jmp 0x4a35b3
sub esp, 0xc
push 0x14
call dword [0x519084]
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x4a3c2c
mov dword [eax + 0x10], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov edx, dword [ebp - 0x50]
mov dword [eax], 0x7d1
mov ecx, ebx
mov eax, dword [edx + 0x1c]
mov edx, 0xa
mov eax, dword [eax + 0x10]
add eax, 0x30
call fcn.00498d50
mov eax, dword [ebp - 0x18]
mov dword [ebx + 8], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x1c]
mov dword [ebx + 4], esi
mov dword [ebx + 0xc], eax
test edx, edx
jne 0x4a39cb
mov ecx, ebx
jmp 0x4a326e
mov edx, dword [ebp - 0x50]
mov ecx, ebx
mov eax, dword [edx + 0x1c]
mov edx, 0xa
add eax, 0x14
call fcn.00498d50
mov ecx, ebx
jmp 0x4a326e
push eax
push eax
push str.fixed
mov eax, dword [ebx + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a3450
mov eax, dword [ebp - 0x34]
test eax, eax
jne 0x4a34f6
mov edx, ebx
mov eax, dword [ebp - 0x50]
call fcn.0049dd10
mov dword [ebp - 0x48], 2
mov dword [ebp - 0x34], eax
jmp 0x4a3466
push eax
push eax
mov eax, dword [ebp - 0x20]
push str.prohibited
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a3b20
mov dword [ebp - 0x3c], 0
jmp 0x4a3466
mov eax, dword [str.http:__www.w3.org_2001_XMLSchema_instance]
push 0
mov ecx, esi
push eax
mov edx, 0xbf1
mov eax, dword [ebp - 0x50]
push str.The_target_namespace_must_not_match__s
push 0
call fcn.0049a580
add esp, 0x10
jmp 0x4a35f3
mov edx, ebx
mov eax, dword [ebp - 0x50]
call fcn.0049dd10
mov dword [ebp - 0x48], 1
mov dword [ebp - 0x34], eax
jmp 0x4a3466
sub esp, 0xc
mov eax, dword [ebp - 0x50]
mov dword [eax + 0x7c], 1
push edx
mov edx, 0x10
call fcn.00498f40
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x4a31a0
mov edx, dword [ebp - 0x50]
mov dword [eax + 0x14], esi
mov eax, dword [edx + 0x78]
mov dword [eax + 8], ebx
jmp 0x4a3182
xor ecx, ecx
mov edx, 0xbdc
mov eax, dword [ebp - 0x50]
push ebx
push 0
push 0x53a0dd
push esi
call fcn.0049c020
xor ecx, ecx
add esp, 0x10
jmp 0x4a326e
push eax
push eax
mov eax, dword [0x53fa4c]
push eax
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a3680
xor ecx, ecx
mov edx, ebx
mov eax, dword [ebp - 0x50]
call fcn.0049e180
mov ebx, dword [ebx + 0x18]
test ebx, ebx
jne 0x4a3680
jmp 0x4a369b
push eax
push eax
mov eax, dword [ebp - 0x20]
push str.required
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a3cd2
mov dword [ebp - 0x3c], 1
jmp 0x4a3466
sub esp, 0xc
push 0
push 0
push 0
push str.Skipping_attribute_use_prohibition__since_it_is_pointless_inside_an__attributeGroup_
mov ecx, esi
mov edx, 0xc0e
mov eax, dword [ebp - 0x50]
push 0
call fcn.0049a250
xor ecx, ecx
add esp, 0x20
jmp 0x4a326e
sub esp, 0xc
push 0x16
call fcn.004cacd0
add esp, 0xc
xor ecx, ecx
mov edx, 0xbf0
push 0
push 0
push str.The_value_of_the_attribute_must_not_match_xmlns
push 0
push 0
push eax
mov eax, dword [ebp - 0x50]
push ebx
call fcn.0049bcd0
xor ecx, ecx
add esp, 0x20
jmp 0x4a326e
push eax
push eax
mov eax, dword [ebp - 0x28]
push str.unqualified
push eax
call fcn.004832e0
add esp, 0x10
mov dword [ebp - 0x44], 1
test eax, eax
jne 0x4a3466
push eax
mov eax, dword [ebp - 0x28]
push 0
xor ecx, ecx
push 0
mov edx, 0xbdd
push 0
push eax
mov eax, dword [ebp - 0x50]
push str._qualified__unqualified_
push 0
push ebx
call fcn.0049bcd0
add esp, 0x20
mov dword [ebp - 0x44], 1
jmp 0x4a3466
test ebx, ebx
je 0x4a38d7
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x4a3c22
push ecx
push ecx
push str.simpleType
mov edx, dword [ebx + 8]
push edx
call fcn.004832e0
add esp, 0x10
test eax, eax
jne 0x4a3cfc
push str._annotation___simpleType__
jmp 0x4a38c1
xor ecx, ecx
mov edx, str.allocating_attribute_use_prohibition
mov eax, dword [ebp - 0x50]
call fcn.00498950
xor ecx, ecx
jmp 0x4a326e
sub esp, 0xc
push 0
push 0
push 0
push str.Skipping_attribute_use_prohibition__since_it_is_pointless_when_extending_a_type
jmp 0x4a3b55
mov edx, esi
mov eax, dword [ebp - 0x50]
call fcn.004990e0
mov dword [ebp - 0x30], eax
test eax, eax
je 0x4a326c
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x10]
mov dword [eax + 0x18], edx
push eax
mov eax, dword [ebp - 0x2c]
push 0
mov edx, dword [ebp - 0x54]
push esi
push eax
mov eax, dword [ebp - 0x50]
call fcn.00499150
add esp, 0x10
mov edx, eax
test eax, eax
je 0x4a326c
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x4a3ca3
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x1c]
mov dword [edx + 0x1c], eax
mov eax, dword [ebp - 0x30]
mov dword [eax + 0xc], edx
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x4a3862
mov eax, dword [ebp - 0x34]
mov dword [edx + 0x2c], eax
cmp dword [ebp - 0x48], 2
jne 0x4a3862
mov eax, dword [edx + 0x3c]
or ah, 2
mov dword [edx + 0x3c], eax
jmp 0x4a3862
mov ecx, dword [ebp - 0x20]
mov edx, 0x6ee
push eax
mov eax, dword [ebp - 0x50]
push 0
push 0
push 0
push ecx
xor ecx, ecx
push str._optional__prohibited__required_
push 0
push ebx
call fcn.0049bcd0
add esp, 0x20
jmp 0x4a3466
push eax
push eax
mov eax, dword [0x53fa4c]
push eax
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a3c22
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x24], eax
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4a3dd5
push 0
xor ecx, ecx
push str.The_attribute_type_and_the__simpleType__child_are_mutually_exclusive
mov edx, 0xbef
push ebx
mov eax, dword [ebp - 0x50]
push esi
call fcn.0049c100
add esp, 0x10
mov ebx, dword [ebx + 0x18]
test ebx, ebx
jne 0x4a3c22
jmp 0x4a38d7
push eax
push eax
mov eax, dword [0x53fa4c]
push eax
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a388b
mov edx, ebx
mov ecx, 1
mov eax, dword [ebp - 0x50]
call fcn.0049e180
mov edx, dword [ebp - 0x30]
mov ebx, dword [ebx + 0x18]
mov dword [edx + 4], eax
jmp 0x4a388b
push eax
push eax
mov eax, dword [0x53fa4c]
push eax
mov eax, dword [ebx + 0x24]
mov eax, dword [eax + 8]
push eax
call fcn.004832e0
add esp, 0x10
test eax, eax
je 0x4a38bc
xor ecx, ecx
mov edx, 0xbee
mov eax, dword [ebp - 0x50]
push str._annotation__
push 0
push ebx
push esi
call fcn.0049c100
add esp, 0x10
jmp 0x4a38d7
sub esp, 0xc
mov edx, dword [ebp - 0x54]
mov ecx, ebx
mov eax, dword [ebp - 0x50]
push 0
call fcn.004a2350
mov edx, dword [ebp - 0x24]
add esp, 0x10
mov dword [edx + 0x30], eax
jmp 0x4a3d4a