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

Disassembly:
sub esp, 0x60
push ebx
push ebp
push esi
mov esi, eax
mov edx, dword [esi + 0x1c]
mov eax, dword [esp + 0x70]
mov ecx, dword [esi + 0x14]
mov ebx, dword [esi + 0xc]
mov ebp, dword [esi + 0x18]
mov dword [esp + 0x28], edx
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x44], ecx
xor ecx, ecx
push edi
mov edi, dword [esi + 0x10]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x68], edi
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x40], ecx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x1c], edx
cmp eax, ecx
je 0x58948e
cmp dword [eax], 1
jne 0x58948e
mov eax, dword [esp + 0x74]
push eax
call fcn.00581670
add esp, 4
mov dword [esp + 0x38], eax
test ebp, ebp
je 0x588c38
mov ecx, dword [esp + 0x1c]
push ebp
push ecx
call fcn.00582b00
add esp, 8
mov dword [esp + 0x40], eax
test eax, eax
jne 0x588c38
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
call fcn.00582d60
push 0x13
jmp 0x589490
lea eax, [ebx - 1]
mov dword [esp + 0x24], 0x5824f0
cmp eax, 0xc
ja case.default.0x588c4c
jmp dword [eax*4 + 0x5894a8]
xor ebx, ebx
mov eax, 0x583c80
jmp 0x588d16
xor ebx, ebx
mov eax, 0x583dc0
jmp 0x588d16
mov eax, 0x584030
jmp 0x588d08
xor ebx, ebx
cmp dword [esi + 0x28], 1
mov dword [esp + 0x7c], ebx
jne 0x588c89
mov dword [esp + 0x54], 0x583a40
cmp edi, 5
je 0x588c93
cmp edi, 3
jne 0x588c9e
mov eax, 0x583960
cmp dword [esp + 0x48], ebx
je 0x588ca3
mov eax, 0x5838f0
mov dword [esp + 0x24], 0x5826d0
jmp 0x588d1a
xor ebx, ebx
mov dword [esp + 0x7c], ebx
mov eax, 0x583b00
jmp 0x588d1a
xor ebx, ebx
mov dword [esp + 0x7c], ebx
mov eax, 0x583ba0
jmp 0x588d1a
xor ebx, ebx
mov dword [esp + 0x7c], ebx
mov eax, 0x583e80
jmp 0x588d1a
xor ebx, ebx
mov dword [esp + 0x7c], ebx
mov eax, 0x583df0
jmp 0x588d1a
mov eax, 0x583f70
jmp 0x588d08
xor ebx, ebx
mov eax, 0x583be0
jmp 0x588d16
xor ebx, ebx
mov eax, 0x583ef0
jmp 0x588d16
xor ebx, ebx
mov eax, 0x583e30
jmp 0x588d16
mov eax, 0x5838d0
xor ebx, ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x24], 0x5826d0
mov dword [esp + 0x78], ebx
mov dword [esp + 0x20], eax
cmp eax, ebx
jne 0x588d39
mov ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x1c]
call fcn.00582d60
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 4]
mov dword [esp + 0x64], eax
cmp eax, ebx
je 0x58945e
cmp dword [eax], ebx
jle 0x58945e
mov esi, dword [esi + 8]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x18], ebx
cmp esi, 0xffffffff
je 0x588dbc
mov eax, dword [esp + 0x74]
imul esi, esi, 0x2c
mov ecx, dword [eax + 0x20]
mov ebp, dword [ecx + 8]
lea edx, [esp + 0x14]
add esi, ebp
mov ebx, esi
push edx
push eax
mov ecx, ebx
mov dword [esp + 0x38], ebx
call fcn.00584ed0
add esp, 8
test eax, eax
je 0x588dbc
mov eax, dword [ebx + 4]
cmp eax, 0xffffffff
je 0x588dae
imul eax, eax, 0x2c
add eax, ebp
mov ebx, eax
mov dword [esp + 0x60], 1
jmp 0x588db8
xor ebx, ebx
mov dword [esp + 0x18], 1
mov dword [esp + 0x30], ebx
cmp dword [esp + 0x80], 0
je 0x588dcf
test ebx, ebx
jne 0x588dcf
lea edi, [ebx + 1]
jmp 0x588dd1
xor edi, edi
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 4]
xor ebp, ebp
mov dword [esp + 0x50], edi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x44], ebp
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x64]
cmp eax, dword [esi]
mov ecx, dword [esp + 0x3c]
jl 0x588e0a
test ecx, ecx
je 0x5893c2
mov edx, dword [esp + 0x54]
test edx, edx
je 0x588e46
test ecx, ecx
jne 0x588e2a
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + eax*4]
inc eax
push ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x48], eax
push 0
jmp 0x588e30
mov eax, dword [esp + 0x58]
push eax
push ecx
call edx
add esp, 8
mov dword [esp + 0x3c], eax
test eax, eax
je 0x588df2
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 4], eax
jmp 0x588e58
mov edx, dword [esi + 8]
mov ecx, dword [edx + eax*4]
mov edx, dword [esp + 0x1c]
inc eax
mov dword [edx + 4], ecx
mov dword [esp + 0x44], eax
test ebp, ebp
jne 0x588e7b
push 0xc
call dword [0x66e0fc]
add esp, 4
test eax, eax
je 0x589363
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ebp, eax
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x34], esi
mov eax, dword [esp + 0x74]
push esi
push eax
call dword [esp + 0x28]
mov esi, eax
add esp, 8
test esi, esi
je 0x589267
mov eax, dword [esp + 0x78]
test eax, eax
je 0x588ed5
mov ecx, dword [eax]
test ecx, ecx
je 0x588ed5
cmp ecx, esi
je 0x589267
mov edx, dword [esp + 0x28]
and edx, 0x800000ff
jns 0x588ec4
dec edx
or edx, 0xffffff00
inc edx
jne 0x588ed5
mov edx, esi
call fcn.00581a00
test eax, eax
jge 0x589267
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x588f0e
mov edx, dword [eax]
test edx, edx
je 0x588f0e
cmp edx, esi
je 0x589267
mov eax, dword [esp + 0x28]
and eax, 0x800000ff
jns 0x588efd
dec eax
or eax, 0xffffff00
inc eax
jne 0x588f0e
mov ecx, esi
call fcn.00581a00
test eax, eax
jge 0x589267
mov eax, dword [esp + 0x68]
mov ecx, 1
add dword [esp + 0x28], ecx
cmp eax, 5
ja case.0x588f46.5
jmp dword [eax*4 + 0x5894dc]
cmp dword [esp + 0x48], 0
mov eax, dword [esi + 4]
jne 0x588f81
dec eax
cmp eax, 0x11
ja case.0x588f46.5
movzx ecx, byte [eax + 0x5894fc]
jmp dword [ecx*4 + 0x5894f4]
cmp dword [esp + 0x18], 0
jne 0x588fed
push esi
push ebp
call fcn.005822a0
add esp, 8
test edi, edi
je case.0x588f46.5
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5893a9
mov dword [esp + 0x10], ebp
xor ebp, ebp
jmp 0x5893c2
mov ecx, dword [esp + 0x48]
cmp eax, ecx
jne 0x588fd0
cmp ecx, 0x12
jne 0x588fe2
cmp dword [esp + 0x18], 0
je 0x588fb4
inc ebx
cmp ebx, dword [esp + 0x14]
jne case.0x588f46.5
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 4]
push esi
push ecx
push ebp
call fcn.005820a0
add esp, 0xc
jmp 0x589002
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 4]
push esi
push eax
push ebp
mov dword [esp + 0x40], 1
call fcn.005820a0
add esp, 0xc
jmp 0x588f62
cmp ecx, 3
jne case.0x588f46.5
cmp eax, 4
jne case.0x588f46.5
cmp dword [esp + 0x18], 0
je 0x588f58
inc ebx
cmp ebx, dword [esp + 0x14]
jne case.0x588f46.5
push esi
push ebp
call fcn.005822a0
add esp, 8
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x589245
mov dword [esp + 0x10], ebp
xor ebp, ebp
jmp 0x589254
cmp dword [esi + 4], 7
jne case.0x588f46.5
cmp dword [esp + 0x2c], 0
je 0x588fe2
mov ecx, dword [esi + 8]
mov edx, dword [esp + 0x2c]
jmp 0x58922e
mov eax, dword [esp + 0x5c]
cmp eax, 3
jne 0x589058
cmp dword [esi + 4], 2
jne case.0x588f46.5
cmp dword [esp + 0x18], 0
je 0x588f58
add ebx, ecx
jmp 0x588fee
cmp eax, 9
jne 0x5890ac
cmp dword [esi + 4], 0x12
jne case.0x588f46.5
cmp dword [esp + 0x18], 0
je 0x589091
add ebx, ecx
cmp ebx, dword [esp + 0x14]
jne case.0x588f46.5
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 4]
push esi
push eax
push ebp
call fcn.005820a0
add esp, 0xc
jmp 0x589002
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + 4]
push esi
push ecx
push ebp
call fcn.005820a0
add esp, 0xc
jmp 0x588f62
cmp dword [esi + 4], ecx
jne case.0x588f46.5
cmp dword [esp + 0x4c], 0
jne 0x5890ce
cmp dword [esp + 0x18], 0
je 0x588f58
add ebx, ecx
jmp 0x588fee
mov eax, dword [esi + 0x24]
test eax, eax
je case.0x588f46.5
mov edx, dword [eax + 8]
mov eax, dword [esp + 0x40]
push edx
push eax
jmp 0x589230
call fcn.0057bd60
mov edi, eax
call fcn.0057bda0
mov ecx, dword [eax]
mov edx, dword [edi]
push 0x3022
push str...xpath.c
push str.Unimplemented_block_at__s:_d_n
push ecx
call edx
mov edi, dword [esp + 0x60]
add esp, 0x10
jmp case.0x588f46.5
mov eax, dword [esp + 0x5c]
cmp eax, 3
jne 0x589126
mov eax, dword [esi + 4]
cmp eax, 2
jmp 0x589136
cmp eax, 9
mov eax, dword [esi + 4]
jne 0x589133
cmp eax, 0x12
jmp 0x589136
cmp eax, 1
jne case.0x588f46.5
sub eax, 1
je 0x5891f3
sub eax, 1
je 0x5891ac
sub eax, 0x10
jne case.0x588f46.5
mov eax, dword [esi + 0xc]
test eax, eax
je case.0x588f46.5
cmp dword [esp + 0x2c], 0
je case.0x588f46.5
mov ecx, dword [esp + 0x2c]
push ecx
push eax
call fcn.00579a10
add esp, 8
test eax, eax
je case.0x588f46.5
cmp dword [esp + 0x18], 0
je 0x588fb4
inc ebx
cmp ebx, dword [esp + 0x14]
jne case.0x588f46.5
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 4]
push esi
push edx
push ebp
call fcn.005820a0
add esp, 0xc
jmp 0x589002
mov ecx, dword [esi + 8]
mov edx, dword [esp + 0x2c]
push ecx
push edx
call fcn.00579a10
add esp, 8
test eax, eax
je case.0x588f46.5
cmp dword [esp + 0x4c], 0
mov eax, dword [esi + 0x24]
jne 0x5891e0
test eax, eax
je 0x588fe2
cmp dword [eax + 0xc], 0
jmp 0x588fdc
test eax, eax
je case.0x588f46.5
mov eax, dword [eax + 8]
mov ecx, dword [esp + 0x40]
push eax
push ecx
jmp 0x589230
mov edx, dword [esi + 8]
mov eax, dword [esp + 0x2c]
push edx
push eax
call fcn.00579a10
add esp, 8
test eax, eax
je case.0x588f46.5
cmp dword [esp + 0x4c], 0
jne 0x58921c
cmp dword [esi + 0x24], 0
jmp 0x588fdc
mov eax, dword [esi + 0x24]
test eax, eax
je case.0x588f46.5
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x40]
push ecx
push edx
call fcn.00579a10
add esp, 8
test eax, eax
je case.0x588f46.5
jmp 0x588fe2
push 0
push ebp
push eax
call dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x10], eax
cmp dword [esp + 0x80], 0
je 0x588df2
jmp 0x5893c2
cmp dword [esp + 0x30], 0
je 0x58932f
mov esi, dword [ebp]
test esi, esi
jle 0x588df2
cmp dword [esp + 0x60], 0
mov ecx, dword [esp + 0x74]
je 0x5892a4
mov eax, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x18]
push eax
push eax
mov eax, dword [esp + 0x3c]
push esi
push ebp
push ecx
call fcn.00588900
add esp, 0x18
jmp 0x5892b9
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
push edx
push esi
push ebp
push eax
push ecx
call fcn.00588720
add esp, 0x14
mov edx, dword [esp + 0x74]
cmp dword [edx + 8], 0
jne 0x5893ba
test eax, eax
jne 0x5892e3
mov eax, dword [esp + 0x34]
push eax
mov edi, ebp
call fcn.00582870
mov edi, dword [esp + 0x54]
add esp, 4
jmp 0x588df2
cmp dword [ebp], 0
jle 0x588df2
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x589307
cmp esi, eax
je 0x5892ff
push 1
push ebp
push ecx
jmp 0x589311
mov dword [esp + 0x10], ebp
xor ebp, ebp
jmp 0x58931c
xor edx, edx
cmp esi, eax
setne dl
push edx
push ebp
push ecx
call dword [esp + 0x30]
mov dword [esp + 0x1c], eax
add esp, 0xc
cmp dword [esp + 0x80], 0
je 0x588df2
jmp 0x5893c2
cmp dword [ebp], 0
jle 0x588df2
cmp dword [esp + 0x10], 0
jne 0x58934b
mov dword [esp + 0x10], ebp
xor ebp, ebp
jmp 0x588df2
mov eax, dword [esp + 0x10]
push 0
push ebp
push eax
call dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x10], eax
jmp 0x588df2
push str.creating_nodeset_n
xor esi, esi
call fcn.00581040
add esp, 4
xor ebp, ebp
mov dword [esp + 0x28], esi
jmp 0x5893c2
mov dword [esp + 0x28], 0
call fcn.0057bd60
mov esi, eax
call fcn.0057bda0
mov ecx, dword [eax]
mov edx, dword [esi]
push 0x2fdb
push str...xpath.c
push str.Internal_error_at__s:_d_n
push ecx
call edx
add esp, 0x10
jmp 0x5893c2
push 0
push ebp
push eax
call dword [esp + 0x30]
add esp, 0xc
mov dword [esp + 0x10], eax
jmp 0x5893c2
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x38]
xor edx, edx
cmp dword [eax + 8], edx
je 0x5893ef
cmp dword [eax + 0x1c], edx
je 0x5893ef
mov ecx, dword [esp + 0x74]
mov esi, dword [ecx + 0x10]
mov dword [esi + 8], 1
mov ecx, dword [ecx + 0x10]
mov esi, dword [eax + 0x1c]
mov dword [ecx + 0x1c], esi
mov dword [eax + 0x1c], edx
mov dword [eax + 8], edx
mov ebx, eax
mov eax, dword [esp + 0x1c]
call fcn.00582d60
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x58941d
test ebp, ebp
je 0x58940f
cmp dword [ebp], eax
jne 0x58940f
mov eax, ebp
jmp 0x589419
push 0
call fcn.00581f50
add esp, 4
mov dword [esp + 0x10], eax
test ebp, ebp
je 0x58942e
cmp ebp, eax
je 0x58942e
push ebp
call fcn.00582810
add esp, 4
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov eax, esi
call fcn.00585180
mov edx, dword [esp + 0x74]
push eax
push edx
call fcn.005816c0
mov eax, dword [esp + 0x74]
add esp, 8
pop edi
mov dword [esi + 4], eax
mov eax, dword [esp + 0x24]
pop esi
pop ebp
pop ebx
add esp, 0x60
ret
mov esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
mov eax, esi
call fcn.00582d60
xor edi, edi
mov eax, esi
call fcn.00585180
mov ecx, dword [esp + 0x74]
push eax
push ecx
call fcn.005816c0
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret
push 0xb
mov edx, dword [esp + 0x78]
push edx
call fcn.00581170
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x60
ret