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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
cmp dword [ecx], 1
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x2c], ecx
mov esi, dword [esp + 0x74]
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x4c], 0
je 0x4a2b03
mov ebx, dword [ecx + 0x60]
test ebx, ebx
je 0x4a2b70
mov eax, dword [ecx + 0x30]
test ah, 1
je 0x4a2994
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x58]
cmp edx, 0x2e
je 0x4a2b7d
test byte [eax + 0x31], 0x40
jne 0x4a2856
mov eax, dword [eax + 0x40]
test eax, eax
jne 0x4a2837
mov edx, dword [0x58]
cmp edx, 1
je 0x4a2b18
mov edi, 3
cmp dword [eax], 1
je 0x4a2b0f
test ebp, ebp
je 0x4a288c
mov dword [esp], ebp
call fcn.0047f650
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x2c]
mov ebx, dword [eax + 0x60]
test ebx, ebx
je 0x4a2c3b
mov dword [esp + 0x38], ebp
mov dword [esp + 0x30], 0
mov ebp, edi
jmp 0x4a291f
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], edx
call fcn.0047e9b0
mov edi, eax
cmp edi, 0
jl 0x4a2974
je 0x4a2915
mov eax, dword [esp + 0x80]
test eax, eax
je 0x4a298a
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], esi
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov edx, edi
call fcn.004a2220
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x4a2915
mov dword [esp + 0x30], edi
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a2b48
mov edx, dword [ebx + 4]
mov eax, dword [edx]
cmp eax, 0x3ee
jb 0x4a28a0
cmp eax, 0x3f0
jbe 0x4a2915
cmp eax, 0x3f3
ja 0x4a28a0
lea eax, [esp + 0x4c]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.0047e920
mov edi, eax
cmp edi, 0
jge 0x4a28cf
mov ecx, str.validating_against_a_atomic_type_facet
mov edx, str.xmlSchemaValidateFacets
mov eax, dword [esp + 0x34]
or edi, 0xffffffff
call fcn.0049e770
add esp, 0x5c
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 0x30], 0
test al, 0x40
je 0x4a2a30
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x7c]
lea esi, [esi]
mov eax, dword [ebx + 4]
mov edx, dword [eax]
sub edx, 0x3f1
cmp edx, 2
ja 0x4a2a21
mov dword [esp + 0xc], 0
mov dword [esp + 8], ebp
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0047e830
mov edi, eax
cmp eax, 0
jl 0x4a2bd9
je 0x4a2a21
mov eax, dword [esp + 0x80]
test eax, eax
je 0x4a298a
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov eax, dword [esp + 0x34]
mov dword [esp + 4], ebp
mov dword [esp], esi
mov ecx, dword [esp + 0x3c]
mov edx, edi
call fcn.004a2220
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x4a2a21
mov dword [esp + 0x30], edi
mov ebx, dword [ebx]
test ebx, ebx
jne 0x4a29b0
mov ebp, dword [esp + 0x38]
nop
lea esi, [esi]
mov ebx, dword [esp + 0x2c]
mov edi, dword [ebx + 0x44]
xor edx, edx
xor eax, eax
test edi, edi
jne 0x4a2a48
jmp 0x4a2a7f
mov edi, dword [edi + 4]
test edi, edi
je 0x4a2a73
cmp dword [edi], 0x3ef
jne 0x4a2a41
mov eax, dword [edi + 0x20]
mov edx, ebp
call fcn.00499650
cmp eax, 1
je 0x4a2a8d
test eax, eax
js 0x4a2b28
mov edi, dword [edi + 4]
mov edx, 1
test edi, edi
jne 0x4a2a48
test eax, eax
jne 0x4a2a8d
test edx, edx
jne 0x4a2ba7
mov ebx, dword [ebx + 0x40]
test ebx, ebx
je 0x4a2a8b
cmp dword [ebx], 1
jne 0x4a2a34
xor eax, eax
mov edi, dword [esp + 0x2c]
xor ebp, ebp
mov ebx, dword [edi + 0x60]
test ebx, ebx
je 0x4a2ae9
xor ecx, ecx
jmp 0x4a2aa6
mov ebx, dword [ebx]
test ebx, ebx
je 0x4a2ae0
mov edx, dword [ebx + 4]
cmp dword [edx], 0x3ee
jne 0x4a2aa0
mov dword [esp + 4], esi
mov eax, dword [edx + 0x24]
mov dword [esp], eax
call fcn.00494380
cmp eax, 1
je 0x4a2ae9
test eax, eax
js 0x4a2b8c
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
mov ecx, 1
test ebx, ebx
jne 0x4a2aa6
nop
lea esi, [esi]
cmp eax, 1
jne 0x4a2bbc
mov edi, dword [edi + 0x40]
test edi, edi
je 0x4a2af5
cmp dword [edi], 1
jne 0x4a2a93
mov edi, dword [esp + 0x30]
add esp, 0x5c
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
add esp, 0x5c
xor edi, edi
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
cmp edx, 0x2e
jne 0x4a286d
mov eax, dword [esp + 0x2c]
call fcn.00499e20
mov edi, eax
jmp 0x4a286d
mov eax, dword [esp + 0x34]
mov ecx, str.validating_against_an_enumeration_facet
mov edx, str.xmlSchemaValidateFacets
or edi, 0xffffffff
call fcn.0049e770
add esp, 0x5c
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
test byte [eax + 0x30], 0x40
je 0x4a2a30
mov ebx, dword [eax + 0x60]
test ebx, ebx
je 0x4a2a30
jmp 0x4a29a4
mov dword [esp + 0x30], 0
jmp 0x4a2a30
cmp dword [eax], 1
je 0x4a2b18
mov edi, 3
jmp 0x4a286d
mov ecx, str.validating_against_a_pattern_facet
mov edx, str.xmlSchemaValidateFacets
mov eax, dword [esp + 0x34]
or edi, 0xffffffff
call fcn.0049e770
jmp 0x4a298a
mov eax, dword [esp + 0x80]
test eax, eax
jne 0x4a2bf4
mov edi, 0x730
jmp 0x4a298a
test ecx, ecx
je 0x4a2ae9
mov edx, dword [esp + 0x80]
test edx, edx
jne 0x4a2c48
mov edi, 0x72f
jmp 0x4a298a
mov ecx, str.validating_against_a_list_type_facet
mov edx, str.xmlSchemaValidateFacets
mov eax, dword [esp + 0x34]
or edi, 0xffffffff
call fcn.0049e770
jmp 0x4a298a
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov dword [esp], esi
mov edx, 0x730
mov eax, dword [esp + 0x34]
call fcn.004a2220
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x4a2c31
mov dword [esp + 0x30], 0x730
mov eax, 0x730
jmp 0x4a2a8d
mov dword [esp + 0x30], 0
jmp 0x4a2b4c
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 4], 0
mov dword [esp], esi
mov ecx, dword [esp + 0x3c]
mov edx, 0x72f
call fcn.004a2220
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4a2bcf
jmp 0x4a2af5