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

Disassembly:
sub esp, 0x6c
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov edi, dword [esp + 0x80]
mov ecx, dword [edi + 8]
mov ebx, dword [ecx]
mov dword [esp + 0x60], eax
mov eax, dword [edi + 0x14]
xor ecx, ecx
cmp eax, ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x24], 1
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x64], ebp
mov dword [esp + 0x50], ebp
jle 0x47b2d4
lea edx, [eax*4]
push edx
call dword [sym.APEManTool.exe_xmlMalloc]
mov esi, eax
add esp, 4
mov dword [esp + 0x4c], esi
cmp esi, ebp
jne 0x47b1dc
push str.running_regexp
push str.Memory_allocation_failed_:__s_n
push ebp
push ebp
push ebp
push ebp
push str.running_regexp
push ebp
push ebp
push 3
push 2
push 0xe
push ebp
push ebp
push ebp
push ebp
push ebp
call sym.APEManTool.exe___xmlRaiseError
add esp, 0x44
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
add esp, 0x6c
ret
mov eax, dword [edi + 0x14]
add eax, eax
add eax, eax
push eax
push ebp
push esi
call fcn.00540c50
add esp, 0xc
mov edi, edi
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x60]
mov al, byte [edx + eax]
test al, al
jne 0x47b214
test ebx, ebx
je 0x47b607
cmp dword [ebx], 2
je 0x47b607
mov dword [esp + 0x10], 1
test al, al
jne 0x47b250
test esi, esi
jne 0x47b250
cmp ecx, dword [ebx + 0x14]
jge 0x47b5a9
mov eax, dword [ebx + 0x18]
lea edx, [ecx + ecx*4]
cmp dword [eax + edx*4 + 4], esi
lea eax, [eax + edx*4]
jl 0x47b250
mov eax, dword [eax]
cmp dword [eax + 0xc], esi
jne 0x47b5a9
cmp dword [eax + 0x10], esi
jle 0x47b5a9
cmp ecx, dword [ebx + 0x14]
mov dword [esp + 0x3c], 0
jge 0x47b598
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x18]
cmp dword [eax + ecx*4 + 4], 0
lea ebp, [eax + ecx*4]
mov dword [esp + 0x1c], ebp
jl 0x47b57a
cmp dword [ebp + 0xc], 0
mov ebx, dword [ebp]
mov dword [esp + 0x14], 1
jl 0x47b2df
test esi, esi
je 0x47b604
mov eax, dword [ebp + 0xc]
mov edx, dword [esp + 0x28]
mov edx, dword [edx + 0x18]
mov ecx, dword [esi + eax*4]
lea eax, [edx + eax*8]
mov edx, dword [eax]
cmp ecx, edx
jl 0x47b57a
mov eax, dword [eax + 4]
cmp ecx, eax
jg 0x47b57a
cmp edx, eax
je 0x47b46b
mov dword [esp + 0x14], 0
jmp 0x47b46b
xor esi, esi
mov dword [esp + 0x4c], esi
jmp 0x47b1f4
test ebx, ebx
je 0x47b5d0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x60]
add eax, ecx
cmp byte [eax], 0
je 0x47b555
lea edx, [esp + 0x10]
push edx
push eax
push 0
call sym.APEManTool.exe_xmlStringCurrentChar
add esp, 0xc
mov edi, ebx
call fcn.0047ad40
mov edi, eax
cmp edi, 1
jne 0x47b52a
cmp dword [ebx + 0xc], 0
jl 0x47b52a
cmp dword [ebx + 0x10], 0
jle 0x47b52a
cmp dword [ebp + 8], 0
mov ecx, dword [esp + 0x80]
mov eax, dword [ebp + 4]
mov edx, dword [ecx + 8]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x18], eax
jl 0x47b37f
test esi, esi
je 0x47b604
mov eax, dword [esp + 0x28]
test eax, eax
je 0x47b604
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x47b604
mov eax, dword [ebp + 8]
mov edx, dword [esi + eax*4]
cmp edx, dword [ecx + eax*8 + 4]
jge 0x47b57a
inc dword [esi + eax*4]
lea eax, [esi + eax*4]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
inc ecx
cmp dword [edx + 0x14], ecx
jle 0x47b396
lea esi, [esp + 0x20]
call fcn.0047af10
mov esi, 1
mov dword [esp + 0x3c], esi
nop
cmp esi, dword [ebx + 0x10]
je 0x47b430
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x60]
add eax, ecx
cmp byte [eax + edx], 0
mov dword [esp + 0x58], eax
je 0x47b42a
cmp esi, dword [ebx + 0xc]
jl 0x47b3f7
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
lea esi, [esp + 0x20]
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x34], eax
call fcn.0047af10
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
lea ecx, [esp + 0x10]
push ecx
add edx, eax
push edx
push 0
call sym.APEManTool.exe_xmlStringCurrentChar
add esp, 0xc
mov edi, ebx
call fcn.0047ad40
mov edi, eax
inc esi
mov dword [esp + 0x3c], esi
cmp edi, 1
je 0x47b3a0
jmp 0x47b430
sub eax, ecx
mov dword [esp + 0x58], eax
cmp esi, dword [ebx + 0xc]
jl 0x47b5a9
test edi, edi
jl 0x47b5a9
je 0x47b5a9
cmp dword [ebp + 8], 0
jl 0x47b462
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x47b600
mov ecx, dword [ebp + 8]
dec dword [eax + ecx*4]
lea eax, [eax + ecx*4]
cmp edi, 1
jne 0x47b576
cmp dword [ebp + 0x10], 1
je 0x47b48c
cmp dword [ebp + 0xc], 0
jl 0x47b495
cmp dword [esp + 0x14], 0
jne 0x47b495
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
inc edx
cmp dword [eax + 0x14], edx
jle 0x47b495
lea esi, [esp + 0x20]
call fcn.0047af10
cmp dword [ebp + 8], 0
mov esi, dword [esp + 0x4c]
jl 0x47b4d6
test esi, esi
je 0x47b604
mov eax, dword [esp + 0x28]
test eax, eax
je 0x47b604
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x47b604
mov eax, dword [ebp + 8]
mov edx, dword [esi + eax*4]
cmp edx, dword [ecx + eax*8 + 4]
jge 0x47b57a
mov edx, eax
inc dword [esi + edx*4]
lea eax, [esi + edx*4]
mov eax, dword [ebp + 0xc]
test eax, eax
jl 0x47b4f3
cmp eax, 0x123456
jge 0x47b4f3
test esi, esi
je 0x47b604
mov dword [esi + eax*4], 0
mov ecx, dword [esp + 0x80]
mov eax, dword [ebp + 4]
mov edx, dword [ecx + 8]
mov ebx, dword [edx + eax*4]
cmp dword [ebp], 0
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], 0
je 0x47b5c6
mov eax, dword [esp + 0x10]
add dword [esp + 0x58], eax
jmp 0x47b5c6
test edi, edi
jne 0x47b462
cmp dword [ebx + 0xc], edi
jne 0x47b462
cmp dword [ebx + 0x10], edi
jle 0x47b462
mov dword [esp + 0x3c], 1
mov dword [esp + 0x10], edi
jmp 0x47b46b
cmp dword [ebx + 0xc], 0
jne 0x47b57a
cmp dword [ebx + 0x10], 0
jle 0x47b57a
mov dword [esp + 0x3c], 1
mov dword [esp + 0x10], 0
jmp 0x47b46b
test edi, edi
jl 0x47b5f1
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x4c]
inc eax
cmp eax, dword [ecx + 0x14]
mov dword [esp + 0x38], eax
jl 0x47b261
mov ebp, dword [esp + 0x20]
cmp dword [esp + 0x38], 0
jne 0x47b5a9
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 0x14], 0
jne 0x47b5c2
lea esi, [esp + 0x20]
mov dword [esp + 0x24], 0
call fcn.0047b0c0
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x34]
test ebp, ebp
je 0x47b1f0
jmp 0x47b607
push str.epsilon_transition_left_at_runtime_n
call fcn.005486e0
add eax, 0x40
push eax
call fcn.0054dd50
mov ebp, 0xfffffffe
add esp, 8
mov dword [esp + 0x20], ebp
jmp 0x47b598
mov esi, dword [esp + 0x4c]
mov ebp, 0xfffffffc
mov dword [esp + 0x20], ebp
jmp 0x47b598
mov esi, dword [esp + 0x4c]
or ebp, 0xffffffff
mov ebx, dword [esp + 0x48]
test ebx, ebx
je 0x47b646
test esi, esi
je 0x47b638
mov edi, dword [esp + 0x40]
test edi, edi
jle 0x47b638
lea esi, [ebx + 0xc]
mov edi, edi
mov eax, dword [esi]
test eax, eax
je 0x47b630
push eax
call dword [sym.APEManTool.exe_xmlFree]
add esp, 4
add esi, 0x10
sub edi, 1
jne 0x47b620
push ebx
call dword [sym.APEManTool.exe_xmlFree]
mov esi, dword [esp + 0x50]
add esp, 4
test esi, esi
je 0x47b654
push esi
call dword [sym.APEManTool.exe_xmlFree]
add esp, 4
test ebp, ebp
jne 0x47b663
pop edi
pop esi
lea eax, [ebp + 1]
pop ebp
pop ebx
add esp, 0x6c
ret
cmp ebp, 0xffffffff
jne 0x47b67e
xor eax, eax
cmp dword [esp + 0x78], 0x989680
pop edi
setle al
pop esi
pop ebp
pop ebx
dec eax
add esp, 0x6c
ret
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x6c
ret