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

Disassembly:
sub esp, 0x1c
push ebx
xor eax, eax
xor ecx, ecx
push ebp
push esi
push edi
mov dword [esp + 0x28], eax
xor ebx, ebx
mov dword [esp + 0x18], eax
xor edi, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], ecx
test eax, eax
je 0x4bc86d
mov dword [eax], ecx
mov eax, dword [esp + 0x34]
cmp eax, 3
ja case.default.0x4bc876
jmp dword [eax*4 + 0x4bd048]
mov ebx, 0xc0a
test eax, eax
je 0x4bcc0e
mov esi, dword [esp + 0x30]
mov esi, dword [esi + 0x1c]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x4bcc0e
mov edx, dword [eax + 4]
test edx, edx
jle 0x4bcc0e
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x10], ebp
test ebp, ebp
je 0x4bc8d1
xor ecx, ecx
test edx, edx
jle 0x4bc8cf
mov eax, dword [eax]
nop dword [eax + eax]
mov edi, dword [eax]
cmp dword [edi + 8], ebp
je 0x4bc91c
inc ecx
add eax, 4
cmp ecx, edx
jl 0x4bc8c0
xor edi, edi
push 0x10
call dword [sym.KomManager.exe_xmlMalloc]
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x4bc991
push str.allocating_schema_relation
push eax
push eax
push 2
push 0x10
call sym.KomManager.exe___xmlSimpleError
add esp, 0x14
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov ebx, 0xbea
jmp 0x4bc88a
mov ebx, 0xc09
jmp 0x4bc88a
cmp dword [esi + 0x10], edi
jne 0x4bc8d1
mov esi, dword [esp + 0x48]
lea eax, [esp + 0x34]
mov ebp, dword [esp + 0x30]
push esi
push ebp
push eax
mov dword [esp + 0x40], 0
call fcn.004c71b0
push str.The_schema_must_not_import_include_redefine_itself
push dword [esp + 0x44]
call sym.KomManager.exe_xmlStrcat
push 0x682304
push eax
mov dword [esp + 0x50], eax
call sym.KomManager.exe_xmlStrcat
push 0
push 0
push 0
push 0
push eax
push 0
push esi
push ebx
push 2
push ebp
mov dword [esp + 0x78], eax
call fcn.004c43d0
mov eax, dword [esp + 0x78]
add esp, 0x44
test eax, eax
je 0x4bcfa0
push eax
call dword [sym.KomManager.exe_xmlFree]
add esp, 4
jmp 0x4bcfa0
mov eax, dword [esp + 0x30]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0x18]
test edx, edx
jne 0x4bc9ad
mov dword [eax + 0x18], ecx
jmp 0x4bc9c3
mov ecx, dword [edx]
test ecx, ecx
je 0x4bc9bd
mov eax, dword [ecx]
mov edx, ecx
mov ecx, eax
test eax, eax
jne 0x4bc9b3
mov ecx, dword [esp + 0x14]
mov dword [edx], ecx
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x50]
mov dword [ecx + 4], edx
cmp edx, 1
jne 0x4bc9e2
mov dword [ecx + 8], esi
test ebp, ebp
je 0x4bcfa0
mov dword [esp + 0x28], esi
mov ebp, str.in_memory_buffer
test edi, edi
je 0x4bca7d
mov eax, dword [edi + 0x24]
cmp edx, 1
jne 0x4bca45
test eax, eax
jne 0x4bcb32
mov ecx, dword [esp + 0x38]
mov eax, ebp
push dword [edi + 8]
test ecx, ecx
cmovne eax, ecx
push eax
mov dword [esp + 0x18], eax
call sym.KomManager.exe_xmlStrEqual
add esp, 8
test eax, eax
jne 0x4bcb32
mov ebp, dword [esp + 0x10]
push eax
push ebp
push str.The_schema_document__s_cannot_be_imported__since_it_was_already_included_or_redefined
push 0
push dword [esp + 0x58]
push ebx
push dword [esp + 0x48]
call fcn.004c27d0
add esp, 0x1c
jmp 0x4bcfa0
test eax, eax
je 0x4bca7d
mov ecx, dword [esp + 0x38]
mov eax, ebp
push dword [edi + 8]
test ecx, ecx
cmovne eax, ecx
push eax
mov dword [esp + 0x18], eax
call sym.KomManager.exe_xmlStrEqual
add esp, 8
test eax, eax
jne 0x4bca75
mov ebp, dword [esp + 0x10]
push eax
push ebp
push str.The_schema_document__s_cannot_be_included_or_redefined__since_it_was_already_imported
jmp 0x4bca2d
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
cmp edx, 1
je 0x4bcb32
test edi, edi
je 0x4bcadc
cmp dword [edi + 0xc], 0
jne 0x4bcb3a
mov ebx, dword [esp + 0x4c]
cmp dword [edi + 0x10], ebx
je 0x4bcb3a
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + 0xc]
mov esi, dword [ecx + 4]
test esi, esi
je 0x4bcada
xor edx, edx
test esi, esi
jle 0x4bcada
mov ecx, dword [ecx]
mov ebp, dword [esp + 0x10]
nop
mov eax, dword [ecx]
cmp dword [eax + 0xc], 0
jne 0x4bcad2
cmp dword [eax + 8], ebp
jne 0x4bcad2
cmp dword [eax + 0x10], ebx
je 0x4bcb26
inc edx
add ecx, 4
cmp edx, esi
jl 0x4bcac0
xor edi, edi
mov ebp, dword [esp + 0x10]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4bcc29
mov esi, dword [esp + 0x30]
mov ebp, eax
mov eax, dword [eax + 0x48]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x24], 1
test eax, eax
je 0x4bcc1b
push 0xffffffffffffffff
push eax
push dword [esi + 0x50]
call sym.KomManager.exe_xmlDictLookup
mov ebx, eax
add esp, 0xc
mov dword [esp + 0x10], ebx
jmp 0x4bcdb8
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0xc], eax
jmp 0x4bcfa0
test edi, edi
je 0x4bcb42
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0xc], edi
jmp 0x4bcfa0
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 4]
test edx, edx
jne 0x4bcb5b
mov ebp, dword [esp + 0x10]
xor edi, edi
jmp 0x4bcae4
xor ecx, ecx
test edx, edx
jle 0x4bcada
mov eax, dword [eax]
mov edi, dword [eax]
cmp dword [edi + 0x14], 0
jne 0x4bcb75
cmp dword [edi + 8], 0
jne 0x4bcb80
cmp dword [edi + 0xc], esi
jne 0x4bcb80
cmp dword [edi + 0x24], 0
jne 0x4bcb8d
inc ecx
add eax, 4
cmp ecx, edx
jl 0x4bcb67
jmp 0x4bcada
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0xc], edi
mov eax, dword [edi + 8]
test eax, eax
jne 0x4bcbce
mov ebp, dword [esp + 0x10]
mov dword [edi + 8], ebp
cmp dword [edi + 0x14], eax
je 0x4bcae0
push eax
push eax
push str.trying_to_load_a_schema_doc__but_a_doc_is_already_assigned_to_the_schema_bucket
push str.xmlSchemaAddSchemaDoc
push dword [esp + 0x40]
call fcn.004c8a40
add esp, 0x14
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov ebx, dword [esp + 0x10]
push eax
push ebx
call sym.KomManager.exe_xmlStrEqual
add esp, 8
test eax, eax
jne 0x4bcfa0
push dword [edi + 8]
test ebx, ebx
push esi
cmovne ebp, ebx
push ebp
push str.Skipping_import_of_schema_located_at__s_for_the_namespace__s__since_this_namespace_was_already_imported_with_the_schema_located_at__s
push eax
push dword [esp + 0x5c]
push 0xc0b
push dword [esp + 0x4c]
call fcn.004c28c0
add esp, 0x20
jmp 0x4bcfa0
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x10], ebp
jmp 0x4bcae0
mov ebx, str.in_memory_buffer
mov dword [esp + 0x10], ebx
jmp 0x4bcdb8
mov ebx, dword [esp + 0x40]
test ebp, ebp
jne 0x4bcc56
test ebx, ebx
jne 0x4bcc56
push ebx
push ebx
push str.No_information_for_parsing_was_provided_with_the_given_schema_parser_context._n
push 0x6de
push ebx
push ecx
call fcn.004c9880
add esp, 0x18
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
call sym.KomManager.exe_xmlNewParserCtxt
mov esi, eax
test esi, esi
jne 0x4bcc7f
push str.xmlSchemaGetDoc__allocating_a_parser_context
push eax
push eax
push 2
push 0x10
call sym.KomManager.exe___xmlSimpleError
add esp, 0x14
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
mov eax, dword [esp + 0x30]
cmp dword [eax + 0x50], 0
je 0x4bccaf
mov eax, dword [esi + 0x128]
test eax, eax
je 0x4bccaf
push eax
call sym.KomManager.exe_xmlDictFree
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x50]
push eax
mov dword [esi + 0x128], eax
call sym.KomManager.exe_xmlDictReference
add esp, 8
test ebp, ebp
je 0x4bccc9
push 2
push 0
push ebp
push esi
call sym.KomManager.exe_xmlCtxtReadFile
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x18], ebx
jmp 0x4bcd00
test ebx, ebx
je 0x4bcd08
push 2
push 0
push 0
push dword [esp + 0x50]
push ebx
push esi
call sym.KomManager.exe_xmlCtxtReadMemory
mov ebx, eax
add esp, 0x18
mov dword [esp + 0x18], ebx
mov ebp, str.in_memory_buffer
mov dword [esp + 0x10], ebp
test ebx, ebx
je 0x4bcd08
push ebp
call sym.KomManager.exe_xmlStrdup
add esp, 4
mov dword [ebx + 0x48], eax
test ebx, ebx
jne 0x4bcd8a
call sym.KomManager.exe_xmlGetLastError
test eax, eax
je 0x4bcd16
cmp dword [eax], 8
je 0x4bcd8a
push dword [esp + 0x48]
mov ebx, dword [esp + 0x34]
lea eax, [esp + 0x20]
push ebx
push eax
mov dword [esp + 0x2c], 1
mov dword [esp + 0x28], 0
call fcn.004c71b0
push str.Failed_to_parse_the_XML_resource__s
push dword [esp + 0x2c]
call sym.KomManager.exe_xmlStrcat
push 0x682304
push eax
mov dword [esp + 0x38], eax
call sym.KomManager.exe_xmlStrcat
push 0
push 0
push 0
push ebp
push eax
push 0
push dword [esp + 0x7c]
mov dword [esp + 0x54], eax
push 0xbfb
push 2
push ebx
call fcn.004c43d0
mov eax, dword [esp + 0x60]
add esp, 0x44
test eax, eax
je 0x4bcd8a
push eax
call dword [sym.KomManager.exe_xmlFree]
add esp, 4
push esi
call sym.KomManager.exe_xmlFreeParserCtxt
mov ebp, dword [esp + 0x1c]
add esp, 4
mov esi, dword [esp + 0x30]
test ebp, ebp
jne 0x4bcdb4
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x4bd03d
mov ebx, dword [esp + 0x28]
jmp 0x4bcf1a
mov ebx, dword [esp + 0x10]
push ebp
mov dword [esp + 0x24], 1
call sym.KomManager.exe_xmlDocGetRootElement
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x4bce15
mov ebp, dword [esp + 0x48]
push ebp
mov dword [esp + 0x38], eax
lea eax, [esp + 0x38]
push esi
push eax
call fcn.004c71b0
push str.The_document__s_has_no_document_element
push dword [esp + 0x44]
call sym.KomManager.exe_xmlStrcat
push 0x682304
push eax
mov dword [esp + 0x50], eax
call sym.KomManager.exe_xmlStrcat
push 0
push 0
push 0
push ebx
push eax
push 0
push ebp
push 0x6df
jmp 0x4bcffd
test esi, esi
je 0x4bcec3
xor ebx, ebx
mov esi, ebp
test ebx, ebx
je 0x4bce36
push ebx
call sym.KomManager.exe_xmlUnlinkNode
push ebx
call sym.KomManager.exe_xmlFreeNode
add esp, 8
xor ebx, ebx
mov eax, dword [esi + 4]
cmp eax, 3
jne 0x4bce7c
push 0xffffffffffffffff
push dword [esi + 0x28]
call fcn.004c8d20
add esp, 8
test eax, eax
je 0x4bce5f
push esi
call sym.KomManager.exe_xmlNodeGetSpacePreserve
add esp, 4
cmp eax, 1
je 0x4bce5f
mov ebx, esi
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x4bce9b
mov eax, dword [ecx + 4]
cmp eax, 0x11
je 0x4bce9b
cmp eax, 5
je 0x4bce9b
cmp eax, 6
je 0x4bce9b
mov esi, ecx
jmp 0x4bcea4
cmp eax, 1
je 0x4bce5f
cmp eax, 4
je 0x4bce5f
mov ebx, esi
jmp 0x4bce9b
mov esi, dword [esi + 0x14]
test esi, esi
je 0x4bceac
cmp esi, ebp
je 0x4bceac
mov eax, dword [esi + 0x18]
test eax, eax
je 0x4bce90
mov esi, eax
test esi, esi
jne 0x4bce21
test ebx, ebx
je 0x4bcebf
push ebx
call sym.KomManager.exe_xmlUnlinkNode
push ebx
call sym.KomManager.exe_xmlFreeNode
add esp, 8
mov esi, dword [esp + 0x30]
cmp dword [ebp + 0x24], 0
je 0x4bcfb4
push str.schema
push dword [ebp + 8]
call sym.KomManager.exe_xmlStrEqual
add esp, 8
test eax, eax
je 0x4bcfb4
mov eax, dword [ebp + 0x24]
push dword [0x6f6804]
push dword [eax + 8]
call sym.KomManager.exe_xmlStrEqual
add esp, 8
test eax, eax
je 0x4bcfb4
push str.targetNamespace
push ebp
push esi
call fcn.004c80b0
mov ebp, dword [esp + 0x24]
mov ebx, eax
mov eax, dword [esp + 0x2c]
add esp, 0xc
test edi, edi
jne 0x4bcf58
test eax, eax
je 0x4bcfa0
push ebx
push dword [esp + 0x38]
push esi
call fcn.004bdb90
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4bcf58
test ebp, ebp
je 0x4bcf4d
cmp dword [esp + 0x24], eax
jne 0x4bcf4d
push ebp
call sym.KomManager.exe_xmlFreeDoc
add esp, 4
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x1c
ret
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0x10]
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x18]
mov dword [edi + 8], ebp
test eax, eax
je 0x4bcf85
cmp dword [esp + 0x24], 0
mov dword [edi + 0x14], eax
mov dword [edi + 0x10], ebx
mov dword [edi + 0xc], ebx
je 0x4bcf85
mov dword [edi + 0x28], 1
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4bcf92
cmp eax, 1
jne 0x4bcf95
inc dword [edi + 0x24]
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4bcfa0
mov dword [eax + 0xc], edi
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4bcfaa
mov dword [eax], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1c
ret
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x34]
push ebx
push esi
push eax
mov dword [esp + 0x40], 0
call fcn.004c71b0
push str.The_XML_document__s_is_not_a_schema_document
push dword [esp + 0x44]
call sym.KomManager.exe_xmlStrcat
push 0x682304
push eax
mov dword [esp + 0x50], eax
call sym.KomManager.exe_xmlStrcat
mov ebp, dword [esp + 0x2c]
push 0
push 0
push 0
push ebp
push eax
push 0
push ebx
push 0x6ec
push 2
push esi
mov dword [esp + 0x78], eax
call fcn.004c43d0
mov eax, dword [esp + 0x78]
add esp, 0x44
test eax, eax
je 0x4bd01e
push eax
call dword [sym.KomManager.exe_xmlFree]
add esp, 4
cmp dword [esp + 0x24], 0
jne 0x4bd03d
mov eax, dword [esp + 0x18]
push eax
call sym.KomManager.exe_xmlFreeDoc
add esp, 4
test edi, edi
je 0x4bd03d
mov dword [edi + 0x14], 0
mov eax, dword [esi + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret