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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov esi, eax
mov dword [ebp - 0x2c], edx
jmp 0x479a7d
mov edx, dword [ebp + 8]
mov eax, dword [edx]
test eax, eax
je 0x4797bc
cmp dword [eax + 0x24], 0
je 0x4797bc
push 0x5f60c2
push dword [eax + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x4797bc
push dword [0x58b808]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
push dword [eax + 8]
call fcn.00433ea9
pop ebx
test eax, eax
pop edi
je 0x4797bc
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
test esi, esi
mov dword [ebp - 0x18], 0
mov eax, dword [eax]
mov edi, dword [edi]
sete dl
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edi
cmp dword [ebp - 0x2c], 0
sete al
or eax, edx
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 2
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x54], 0
test al, 1
jne 0x479614
test edi, edi
je 0x479614
mov edx, 0x5f50ad
mov eax, dword [ebp - 0x30]
call fcn.004727f7
mov ebx, eax
test eax, eax
je 0x479010
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x2c]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, esi
push ebx
push 0
call fcn.00473454
xor edi, edi
add esp, 0x10
test eax, eax
jne 0x4797b5
push dword [ebp - 0x14]
push ebx
mov edx, dword [ebp - 0x2c]
push dword [ebp - 0x30]
mov eax, esi
call fcn.00473acf
add esp, 0xc
test eax, eax
jne 0x4797b5
mov dword [ebp - 0x44], 1
mov ecx, dword [ebp - 0x30]
mov edx, dword [esi + 0x14]
mov dword [ebp - 0x4c], edx
mov ebx, dword [ecx + 0x2c]
test ebx, ebx
je 0x479281
cmp dword [ebx + 0x24], 0
jne 0x479251
cmp dword [ebp - 0x44], 0
je 0x479063
push 0x5f4ce1
push dword [ebx + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
jne 0x47908d
push 0x5f50ad
push dword [ebx + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop edi
je 0x479139
jmp 0x479279
push 0x5f4f43
push dword [ebx + 8]
call fcn.00433ea9
pop edi
test eax, eax
pop edx
jne 0x479279
push 0x5f4ce1
push dword [ebx + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x47909b
mov edx, ebx
mov eax, esi
call fcn.004734d9
jmp 0x479279
push 0x5f57b5
push dword [ebx + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop edi
je 0x4790c8
lea eax, [ebp - 0x10]
mov edx, dword [ebp - 0x2c]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, esi
push ebx
push 0
call fcn.00473454
jmp 0x479237
push str.form
push dword [ebx + 8]
call fcn.00433ea9
pop edi
test eax, eax
pop edx
je 0x479139
mov edx, ebx
mov eax, esi
mov dword [ebp - 0x50], 1
call fcn.00472844
push str.qualified
mov edi, eax
push eax
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x479109
mov edi, dword [esi + 0x70]
mov dword [ebp - 0x38], edi
jmp 0x479279
push str.unqualified
push edi
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
jne 0x479279
push 0
mov edx, 0xbdd
push 0
push 0
push edi
push str._qualified__unqualified_
push 0
push ebx
push 0
jmp 0x4791c8
push 0x5f60cc
push dword [ebx + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop edi
je 0x4791d7
mov edx, ebx
mov eax, esi
call fcn.00472844
push str.optional
mov edi, eax
push eax
call fcn.00433ea9
pop ecx
test eax, eax
pop edx
je 0x479178
mov dword [ebp - 0x48], 2
jmp 0x479279
push str.prohibited
push edi
call fcn.00433ea9
pop ecx
test eax, eax
pop edx
je 0x479195
mov dword [ebp - 0x48], 0
jmp 0x479279
push str.required
push edi
call fcn.00433ea9
pop ecx
test eax, eax
pop edx
je 0x4791b2
mov dword [ebp - 0x48], 1
jmp 0x479279
push 0
mov edx, 0x6ee
push 0
push 0
push edi
push str._optional__prohibited__required_
push 0
push ebx
push 0
mov eax, esi
call fcn.004716f3
add esp, 0x20
jmp 0x479279
push str.default
push dword [ebx + 8]
call fcn.00433ea9
pop edi
test eax, eax
pop edx
je 0x479205
cmp dword [ebp - 0x40], 0
jne 0x47921e
mov edx, ebx
mov eax, esi
call fcn.00472844
mov dword [ebp - 0x54], 1
mov dword [ebp - 0x40], eax
jmp 0x479279
push str.fixed
push dword [ebx + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x479268
cmp dword [ebp - 0x40], 0
je 0x47923c
mov edx, 0xbeb
mov eax, esi
push str.fixed
push str.default
push ebx
push 0
call fcn.0047168b
add esp, 0x10
jmp 0x479279
mov edx, ebx
mov eax, esi
call fcn.00472844
mov dword [ebp - 0x54], 2
mov dword [ebp - 0x40], eax
jmp 0x479279
push dword [0x58b808]
mov eax, dword [ebx + 0x24]
push dword [eax + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop edi
je 0x479279
mov edx, 0xbdb
mov eax, esi
push ebx
push 0
call fcn.004713fd
pop eax
pop edx
mov ebx, dword [ebx + 0x18]
jmp 0x47901c
cmp dword [ebp - 0x54], 1
sete dl
xor eax, eax
cmp dword [ebp - 0x48], 2
setne al
test eax, edx
je 0x4792bb
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 dword [ebp - 0x30]
mov edx, 0xbec
push 0
mov eax, esi
call fcn.004716f3
add esp, 0x20
mov eax, dword [ebp - 0x4c]
xor edi, edi
cmp eax, dword [esi + 0x14]
jne 0x4797b5
cmp dword [ebp - 0x44], 0
jne 0x47943a
cmp dword [ebp - 0x50], 0
jne 0x4792e8
mov edx, dword [ebp - 0x2c]
test byte [edx + 0x18], 2
je 0x4792e8
mov ecx, dword [esi + 0x70]
mov dword [ebp - 0x38], ecx
push dword [0x58b804]
push dword [ebp - 0x38]
call fcn.00433ea9
pop ebx
test eax, eax
pop edi
je 0x47931d
push 0
mov edx, 0xbf1
push dword [0x58b804]
push str.The_target_namespace_must_not_match__s
push 0
push dword [ebp - 0x30]
mov eax, esi
call fcn.00470823
add esp, 0x14
mov edx, 0x5f4f43
mov eax, dword [ebp - 0x30]
call fcn.004727f7
mov ebx, eax
test eax, eax
jne 0x479350
push 0
push 0x5f4f43
push dword [ebp - 0x30]
mov edx, 0xbdc
mov eax, esi
push 0
call fcn.0047122b
add esp, 0x10
jmp 0x479614
lea eax, [ebp - 0x18]
xor edi, edi
push eax
push 0x16
call fcn.00459345
xor edx, edx
mov dword [esp], eax
mov eax, esi
push ebx
call fcn.004739ca
add esp, 0xc
test eax, eax
jne 0x4797b5
push str.xmlns
push dword [ebp - 0x18]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x4793b6
push 0
push 0
push str.The_value_of_the_attribute_must_not_match_xmlns
push 0
push 0
push 0x16
call fcn.00459345
mov edx, 0xbf0
mov dword [esp], eax
mov eax, esi
push ebx
push 0
call fcn.004716f3
add esp, 0x20
jmp 0x4797b5
cmp dword [ebp - 0x48], 0
je 0x4794b1
mov edx, dword [ebp - 0x30]
mov eax, esi
call fcn.00472ece
xor edi, edi
test eax, eax
mov dword [ebp - 0x3c], eax
je 0x4797b5
mov edi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x2c]
mov dword [eax + 0x18], edi
push 0
push dword [ebp - 0x30]
push dword [ebp - 0x38]
push dword [ebp - 0x18]
mov eax, esi
xor edi, edi
call fcn.00472e25
add esp, 0x10
mov edx, eax
test eax, eax
je 0x4797b5
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x479411
mov dword [edx + 0x18], eax
mov eax, dword [ebp - 0x14]
mov dword [edx + 0x1c], eax
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x40], 0
mov dword [eax + 0xc], edx
je 0x4794b1
mov ecx, dword [ebp - 0x40]
mov dword [edx + 0x2c], ecx
cmp dword [ebp - 0x54], 2
jne 0x4794b1
or dword [edx + 0x3c], 0x200
jmp 0x4794b1
cmp dword [ebp - 0x48], 0
je 0x4794b1
mov edx, dword [ebp - 0x30]
mov eax, esi
call fcn.00472ece
xor edi, edi
test eax, eax
mov dword [ebp - 0x3c], eax
je 0x4797b5
push dword [ebp - 0x3c]
mov eax, dword [esi + 0x1c]
mov edx, 0xa
add eax, 0x14
call fcn.00471c06
pop edi
mov edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x48]
mov edx, 0xf
mov dword [edi + 0x18], eax
mov eax, esi
push dword [ebp - 0x14]
push dword [ebp - 0x10]
call fcn.00473081
xor edi, edi
pop ecx
test eax, eax
pop ebx
je 0x4797b5
mov edx, dword [ebp - 0x3c]
cmp dword [ebp - 0x40], 0
mov dword [edx + 0xc], eax
je 0x4794a4
mov ecx, dword [ebp - 0x40]
mov dword [edx + 0x1c], ecx
cmp dword [ebp - 0x54], 2
jne 0x4794b1
mov edi, dword [ebp - 0x3c]
or dword [edi + 0x10], 1
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x48], 0
mov edi, dword [eax + 0xc]
jne 0x479673
test edi, edi
je 0x479524
cmp dword [edi + 0x24], 0
je 0x479504
push str.annotation
push dword [edi + 8]
call fcn.00433ea9
pop ebx
test eax, eax
pop edx
je 0x479504
push dword [0x58b808]
mov eax, dword [edi + 0x24]
push dword [eax + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x479504
mov edx, edi
mov eax, esi
push 0
call fcn.00473b6f
pop ebx
mov edi, dword [edi + 0x18]
test edi, edi
je 0x479524
push str._annotation__
push 0
push edi
mov edx, 0xbd9
push dword [ebp - 0x30]
mov eax, esi
push 0
call fcn.0047191e
add esp, 0x14
cmp dword [ebp + 0x10], 0x10
jne 0x479537
push 0
push 0
push 0
push str.Skipping_attribute_use_prohibition__since_it_is_pointless_inside_an__attributeGroup_
jmp 0x479548
cmp dword [ebp + 0x10], 0xd
jne 0x479561
push 0
push 0
push 0
push str.Skipping_attribute_use_prohibition__since_it_is_pointless_when_extending_a_type
push 0
mov edx, 0xc0e
push dword [ebp - 0x30]
mov eax, esi
call fcn.00470840
add esp, 0x18
jmp 0x479614
cmp dword [ebp - 0x44], 0
jne 0x479573
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x34], 0
je 0x4795f6
mov edi, dword [ebp - 0x34]
xor ecx, ecx
mov ebx, dword [edi + 4]
cmp ecx, ebx
jge 0x4795f6
mov edx, dword [ebp - 0x34]
mov eax, dword [edx]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x3c], eax
cmp dword [eax], 0x7d1
jne 0x4795f3
mov edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x10]
cmp eax, dword [edi + 8]
jne 0x4795f3
mov edx, dword [ebp - 0x14]
cmp edx, dword [edi + 0xc]
jne 0x4795f3
push 0
push 0
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
call fcn.0046f83e
mov edx, 0xc0e
mov dword [esp], eax
push str.Skipping_duplicate_attribute_use_prohibition__s
push 0
mov eax, esi
push dword [ebp - 0x30]
call fcn.00470840
mov eax, dword [ebp - 0x1c]
add esp, 0x18
test eax, eax
je 0x479614
push eax
call dword [0x58b640]
pop ecx
mov dword [ebp - 0x1c], 0
jmp 0x479614
inc ecx
jmp 0x479581
push 0x14
call dword [0x58b63c]
pop edx
mov ebx, eax
test eax, eax
jne 0x47961b
mov eax, esi
mov edx, str.allocating_attribute_use_prohibition
push 0
call fcn.004701cb
pop eax
xor edi, edi
jmp 0x4797b5
cld
xor eax, eax
mov ecx, 5
mov edi, ebx
mov edx, 0xa
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x1c]
mov dword [ebx], 0x7d1
mov eax, dword [eax + 0x10]
push ebx
add eax, 0x30
call fcn.00471c06
pop eax
mov eax, dword [ebp - 0x30]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0xc], eax
cmp dword [ebp - 0x44], 0
je 0x47966c
mov eax, dword [esi + 0x1c]
mov edx, 0xa
add eax, 0x14
push ebx
call fcn.00471c06
pop edi
mov edi, ebx
jmp 0x4797b5
test edi, edi
je 0x4796bc
cmp dword [edi + 0x24], 0
je 0x4796bc
push str.annotation
push dword [edi + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
je 0x4796bc
push dword [0x58b808]
mov eax, dword [edi + 0x24]
push dword [eax + 8]
call fcn.00433ea9
pop ebx
test eax, eax
pop edx
je 0x4796bc
mov edx, edi
mov eax, esi
push 1
call fcn.00473b6f
mov edx, dword [ebp - 0x3c]
pop ecx
mov edi, dword [edi + 0x18]
mov dword [edx + 4], eax
cmp dword [ebp - 0x44], 0
je 0x47971b
test edi, edi
je 0x4797b2
cmp dword [edi + 0x24], 0
je 0x479711
push str.simpleType
push dword [edi + 8]
call fcn.00433ea9
pop ebx
test eax, eax
pop edx
je 0x479711
push dword [0x58b808]
mov eax, dword [edi + 0x24]
push dword [eax + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x479711
push str._annotation__
push 0
push edi
mov edx, 0xbee
push dword [ebp - 0x30]
push 0
jmp 0x4797a8
push str._annotation__
jmp 0x47979b
test edi, edi
je 0x4797b2
cmp dword [edi + 0x24], 0
je 0x479792
push str.simpleType
push dword [edi + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
je 0x479792
push dword [0x58b808]
mov eax, dword [edi + 0x24]
push dword [eax + 8]
call fcn.00433ea9
pop ebx
test eax, eax
pop edx
je 0x479792
mov ecx, dword [ebp - 0x3c]
mov ebx, dword [ecx + 0xc]
cmp dword [ebx + 0x18], 0
je 0x47977d
push 0
push str.The_attribute_type_and_the__simpleType__child_are_mutually_exclusive
push edi
mov edx, 0xbef
push dword [ebp - 0x30]
mov eax, esi
push 0
call fcn.0047191e
add esp, 0x14
jmp 0x47978f
mov edx, dword [ebp - 0x2c]
mov eax, esi
push 0
push edi
call fcn.004784f0
pop edx
pop ecx
mov dword [ebx + 0x30], eax
mov edi, dword [edi + 0x18]
test edi, edi
je 0x4797b2
push str._annotation___simpleType__
push 0
push edi
push dword [ebp - 0x30]
mov edx, 0xbd9
push 0
mov eax, esi
call fcn.0047191e
add esp, 0x14
mov edi, dword [ebp - 0x3c]
mov ebx, edi
jmp 0x479a37
mov edi, dword [ebp + 8]
test esi, esi
sete dl
cmp dword [ebp - 0x2c], 0
sete al
mov edi, dword [edi]
or eax, edx
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
test al, 1
jne 0x4799b6
test edi, edi
je 0x4799b6
mov edx, 0x5f50ad
mov eax, dword [ebp - 0x58]
call fcn.004727f7
mov ebx, eax
test eax, eax
jne 0x479823
push 0
push 0x5f50ad
push dword [ebp - 0x58]
mov edx, 0xbdc
mov eax, esi
push 0
call fcn.0047122b
add esp, 0x10
jmp 0x4799b6
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 0x2c]
push eax
lea eax, [ebp - 0x24]
push eax
mov eax, esi
push ebx
push 0
call fcn.00473454
add esp, 0x10
push dword [ebp - 0x24]
push ebx
mov edx, dword [ebp - 0x2c]
push dword [ebp - 0x58]
mov eax, esi
call fcn.00473acf
add esp, 0xc
xor edx, edx
test eax, eax
jne 0x479a1a
mov eax, dword [ebp - 0x58]
mov ebx, dword [eax + 0x2c]
test ebx, ebx
je 0x4798be
cmp dword [ebx + 0x24], 0
jne 0x479891
push 0x5f50ad
push dword [ebx + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop edi
jne 0x4798b9
push 0x5f4ce1
push dword [ebx + 8]
call fcn.00433ea9
pop edi
test eax, eax
pop edx
jne 0x4798b9
jmp 0x4798a8
push dword [0x58b808]
mov eax, dword [ebx + 0x24]
push dword [eax + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x4798b9
mov eax, esi
mov edx, 0xbdb
push ebx
push 0
call fcn.004713fd
pop edi
pop eax
mov ebx, dword [ebx + 0x18]
jmp 0x47985f
mov edx, dword [ebp - 0x58]
mov eax, esi
push 0x5f4ce1
call fcn.004735a2
mov edx, dword [ebp - 0x58]
pop ecx
mov edi, dword [edx + 0xc]
test edi, edi
je 0x479937
cmp dword [edi + 0x24], 0
je 0x479917
push str.annotation
push dword [edi + 8]
call fcn.00433ea9
pop ebx
test eax, eax
pop edx
je 0x479917
push dword [0x58b808]
mov eax, dword [edi + 0x24]
push dword [eax + 8]
call fcn.00433ea9
pop edx
test eax, eax
pop ecx
je 0x479917
mov edx, edi
mov eax, esi
push 0
call fcn.00473b6f
pop eax
mov edi, dword [edi + 0x18]
test edi, edi
je 0x479937
push str._annotation__
push 0
push edi
mov edx, 0xbd9
push dword [ebp - 0x58]
mov eax, esi
push 0
call fcn.0047191e
add esp, 0x14
cmp dword [esi + 0x64], 0
je 0x4799e7
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x4799e7
mov eax, dword [ecx + 4]
cmp dword [eax], 0x10
jne 0x4799e7
mov eax, dword [ebp - 0x20]
cmp eax, dword [ecx + 0x10]
jne 0x4799e7
mov edx, dword [ebp - 0x24]
cmp edx, dword [ecx + 0x14]
jne 0x4799e7
cmp dword [esi + 0x7c], 0
je 0x4799ba
push 0
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
call fcn.0046f83e
mov edx, 0xc09
mov dword [esp], eax
push str.The_redefining_attribute_group_definition__s_must_not_contain_more_than_one_reference_to_the_redefined_definition
push 0
mov eax, esi
push dword [ebp - 0x58]
call fcn.00470823
mov eax, dword [ebp - 0x28]
add esp, 0x14
test eax, eax
je 0x4799b6
push eax
call dword [0x58b640]
pop eax
mov dword [ebp - 0x28], 0
xor edx, edx
jmp 0x479a1a
push edx
mov dword [esi + 0x7c], 1
push eax
mov edx, 0x10
mov eax, esi
call fcn.00473081
pop ebx
xor edx, edx
pop edi
test eax, eax
mov edi, eax
je 0x479a1a
mov ecx, dword [ebp - 0x58]
mov dword [eax + 0x14], ecx
mov eax, dword [esi + 0x78]
mov dword [eax + 8], edi
jmp 0x479a18
push dword [ebp - 0x24]
push dword [ebp - 0x20]
mov edx, 0x10
mov eax, esi
call fcn.00473081
pop edx
mov edi, eax
xor edx, edx
pop ecx
test eax, eax
je 0x479a1a
mov eax, dword [ebp - 0x58]
mov dl, 0xa
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x1c]
add eax, 0x14
push edi
call fcn.00471c06
pop eax
mov edx, edi
test edx, edx
mov ebx, edx
setne dl
xor eax, eax
cmp dword [ebp + 0x14], 0
setne al
test eax, edx
je 0x479a37
mov edx, dword [ebp + 0x14]
mov dword [edx], 1
test ebx, ebx
je 0x479a73
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
jne 0x479a59
call fcn.00471a12
mov edi, dword [ebp + 0xc]
test eax, eax
mov dword [edi], eax
jne 0x479a59
or eax, 0xffffffff
jmp 0x479b00
mov ecx, dword [ebp + 0xc]
push ebx
mov edx, 2
mov eax, dword [ecx]
call fcn.00471ad3
pop edi
cmp eax, 0xffffffff
je 0x479b00
mov edi, dword [ebp + 8]
mov eax, dword [edi]
mov eax, dword [eax + 0x18]
mov dword [edi], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx]
test eax, eax
je 0x479abf
cmp dword [eax + 0x24], 0
je 0x479abf
push 0x5f60c2
push dword [eax + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
je 0x479abf
push dword [0x58b808]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
push dword [eax + 8]
call fcn.00433ea9
pop edi
test eax, eax
pop edx
jne 0x478ef6
mov edi, dword [ebp + 8]
mov eax, dword [edi]
test eax, eax
je 0x479afe
cmp dword [eax + 0x24], 0
je 0x479afe
push str.attributeGroup
push dword [eax + 8]
call fcn.00433ea9
pop ecx
test eax, eax
pop ebx
je 0x479afe
push dword [0x58b808]
mov eax, dword [edi]
mov eax, dword [eax + 0x24]
push dword [eax + 8]
call fcn.00433ea9
pop edi
test eax, eax
pop edx
jne 0x478ef6
xor eax, eax
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret